Getting first 3 chars from "Job No." to use as filter - Jet Reports - excel

I am struggling to get the Quantities from the Job Ledger Entries Table which I need to filter on the first 3 letters of the Job No. pulled from the Item Budget Entries..
I am new to Jet Reports and using Express.. I have tried the function:
Should I add it as a line of code = to a variable then use the variable?
My table query looks like this so far:
=NL("Table";"Item Budget Entry";$E$12:$I$12;"Headers=";$E$11:$I$11;"TableName=";"Item Budget Entry";"Filters=";$C$5:$D$6;"InclusiveLink=Item Budget Entry";$E$10;"IncludeDuplicates=";"True")
With Filters:

I think this will be hard to achive with the express version. In the Essentials version you are able to add Excel formulas to your table.
What I would do is create two tables, one with item budget entry and one with job ledger entry. And then use excel to calculate the sums.
Or use the Essentials version, which will make your life a lot easier.

Related

Append a column of a few tables into a single bigger column

I'm having a problem while building this sheet and i'm not being able to find a solution.
The problem goes like this:
This is a marketing agency that wants to build quotes for their clients in a more automated and simpler way they do today.
There is a master table that the user must put all products they have to offer and their prices
from this master table, I've created 5 other tables with power query, So they have an user interface to fill the number of products and price adjustments they want to quote. Also some products price depends on the price and quantity of other products. that's why I needed to separate it.
Now I need to bring them back together so I can use it as a source for a pivot table to build their report.
I've tried a few things:
Making them all a joined source for pivot table, but as they don't have any exclusive fields it failed.
They have a different number of columns and rows, so putting them below each other won't work
I've also tried =Table[Total Value]:Table2[Total Value], but they are joined side by side, and I need them one below each other.
I haven't tried VBA, but it's not out of the question.

Excel XP for inventory management Simple in theory but can't achieve it

I need to create a simple and easy to use inventory management sheet or database.
It may be better to use access as I see it, but people is more familiar using excel.
Imagine a warehouse where we store goods. Goods are often delivered so I have to reduce the stock cound for a particular item. Then if the warehouse is short in some goods, more of these are bought.
The thing is I need to store a history of delivers we make but also store per item the actual count.
I thought having a column for initial items count, then add ins and subtract outs.
I tried using db functions, dynamic tables etc, but the problem is that when I add new registries for new item outs and ins, the dynamic table wont resize it's source and the same for range for functions.
What would be the best way to achieve what I want?
The thing is that we do everything manually, counting, summing and subtracting each time we have ins and outs.
I didn't want to make something overcomplicated to use, but rather save time by automatinc the ins and outs calculations and making it easier to search for particular registries.
You can do this with an Excel Table and a pivot table (or some formulas). The columns should include date, item code, transaction type (coming in or going out), number of units. You can add columns with more information.
Next, enter a starting stock for each item code. Then enter new lines for each transaction. If you have bought new stock, put a positive number into Units. If you have sold or delivered stock, put a negative number.
Then you can build a pivot table that calculates the totals per item code (or use formulas). You can build other pivot tables to calculate values per month or using other data you may want to include in the data entry table.
An Excel Table will automatically adjust formulas and formatting to new rows. If you base the pivot table on the Excel Table, you only need to refresh the pivot table after you have entered new data. If you prefer formulas, you can use Sumifs(), but you need to keep the list of items for the stock totals list up to date manually.

Most efficient way to create a comparative table with Excel?

using Excel (mostly the VBA part), I would like to do the following:
I have two different tables with different kind of data, but they both have at least the 4 following columns in common:
the name of the employee
the name of the project he worked on
the day he worked on it
the number of hour in that day that he worked on it.
One of the table represents the planified working time (by instance this employee should work x hours on project A and y hours on project B on the 5th of May...) and the other table represents the actual working time, i. e. the time the employee actually spent working on a project.
The actual project on which the employee worked on may differ from what was planified, or it may be the same but he might have spent a different amount of time on it.
Being new to Excel I was wondering if any of you could give me ideas on the most efficient way to do this. Since I have a lot of rows, I'm a bit reticent at the idea of using too many loops.
Thank you!
If these are structured tables (let us say their worksheet names being Planned and Actual) in Excel I would create a MS Query like this:
SELECT Plan.Employee, Plan.Project, SUM(Plan.PlannedHrs), SUM(Act.ActualHrs),SUM(Act.ActualHrs) / SUM(Plan.PlannedHrs)
FROM [Planned$] as Plan
INNER JOIN [Actual$] as Act
ON Plan.Project = Act.Project AND Plan.Employee=Act.Employee
GROUP BY Plan.Employee, Plan.project, Act.Project, Act.Employee
The above query will compare hrs per project (Planned vs Actual). This is just an example as you can calculate other metrics.
Using MS Queries?: Data->From Other Sources->From Microsoft Query
or use my SQL AddIn (just to create the query): http://www.analystcave.com/excel-tools/excel-sql-add-in-free/

Have VBA for Unique items in multicolumn range, how to filter multiple rows on previous results?

Intro
I'm trying to enhance a basic planning sheet (see below) with additional sorting.
The first column lists the resources. Each week has 2 columns representing 20 hours per column.
Example readout;
In week 30 Aron works 40h on project A. In week 31 he works 20h on project A and 20h on project B.
Jeff does not work in WK30 and works 40 on project C in WK31
My Goal
Generate a unique list of projects over the weeks
Be able to filter based on project name and get only the rows of the resources working on that project. (No specific need to filter out the other projects in the same row. So if I filter on project "A", I want to only see the rows of Aron and Dave)
What I have
Basically item 1 is covered as follows:
The 2nd column (Projects) is an array-formula generated by a VBA function (taken from here) that returns all unique items in a multi column range. The cell formula looks like this, where the second argument of UniqueItems() determines if we only return the number of unique items (TRUE) or a list of all unique values (FALSE).
=TRANSPOSE(UniqueItems($C$4:$H$6,FALSE))
What is missing
Item 2 of my goal list is missing. If I currently select the filter option for Projects (see screenshot)
and filter on Project A, then I only get row 5 and not also row 4.
How would I go about filtering this properly?
VBA code is allowed or pointers to which regular formula functions I should use. A complete different solution with the same results is also fine. I thought about pivot tables, but I think it cannot handle empty cells around the range which is common if there's no work for that resource.
The sheet used can be downloaded from here
IMHO, you will be much better off creating a worksheet serving as a normalized database table with one row per the following columns: person, week, project. Lastly, a final column for the number of hours (and optionally, a cost for those hours customized per worker as needed)
Then use a pivot table to build the view you posted (or any other reporting view you need).
This will let you create multiple pivot tables that easily answer questions like:
how many hours are planned for project X in total? by a certain date?
how many total hours are planned for each worker per time period - who is over/under utilized?
how many total hours are planned for each worker per project?
etc.
Keeping the data separate from the reports is safer, and more modular - I wouldn't want a VBA bug to have the potential of corrupting/deleting raw data.

How do I create report-like data tables in Excel?

In the past I have created websites that extract data from a database and format it using tables.
Now, I am trying to do the same thing but with Excel, and I'm lost. I am used to using SQL commands to extract data from given fields and then sort/manipulate it.
Currently, I am able to print a report that provides me with an Excel spreadsheet full of raw data, but I would like to make my life easier and organize it into a report.
The column that I would like to reference contains duplicates, but the data in the adjacent columns is different.
To give an example, assume I had a spreadsheet of sales transactions. One column would be the Customer ID, and the adjacent columns would contain the quantity, the cost per unit, total cost, order ID, etc.
What I would want to do in this case would be to select all the transactions with the same Customer ID and add them together based on their Order ID. Then, I would want to print the result to a second sheet.
I realize that I can use built-in functions to accomplish this, but I would also like to format this report evenually using VBA. Also, since I will have a variable number of rows that differ from one report to the next, I haven't encountered a fucnction that will allow you to add rows.
I'm assuming this must be done with VBA.
Well you can do it manually, but it would take ages. So VBA would be good, particularly as you would be able to generate future reports quickly.
My interpretation of what your saying is that each row in your report will be the total for one customer ID. If it's something else, I imagine the below will still be mostly relevant.
I think it would be a bit much to give you the full answer, particularly as you haven't provided full detail but to take a stab at what you'd do:
Create your empty report page, whether it be a new worksheet or a new workbook
Loop through the table (probably using While next is not empty)
a. Identifying if a row is for a customer ID you haven't covered yet
i. If so then add a new entry in your report
ii. Else add it to the existing customer ID record (loop through until you find it)
Format your report so it looks pretty, e.g:
a. Fill the background in white
b. Throw in some filled bars
c. Put in good titles and totals etc.
For part 1, it might be better building an array first and then dumping the contents into the report. It depends how process intensive it will be - if very intense, an array should shave off time.

Resources