March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hello,
I am currently working on an inventory forecasting project and need some assistance with creating the appropriate DAX formulas in Power BI. Here is the structure of my data:
1. Inventory: This table contains the initial quantity of each product, identified by a Product Code.
2. Master Item: This table includes details for each product, identified by a Product Code.
3. PO (Purchase Orders): This table records inventory additions, identified by Product Code and Date.
4. SC (Supplier Consignments): This table also records inventory additions, identified by Product Code and Date.
5. SO (Sales Orders): This table records inventory deductions, identified by Product Code and Date.
6. BOM (Bill of Materials): This table records inventory deductions, identified by Product Code and Date.
7. Calendar: This table includes Date information for time-based analysis.
I have established relationships between these tables based on Product Code and Date. What I need help with is creating the DAX formulas to calculate the following:
Product Code | January |
| Feb | ||||||||
Inventory | PO(+) | SC(+) | SO(-) | BOM(-) | Balance | PO(+) | SC(+) | SO(-) | BOM(-) | Balance | |
AB101 | 10 | 10 | 10 | 5 | 5 | 20 | 5 | 20 | 20 | 10 | 15 |
AB102 | 20 | 5 | 10 | 10 | 5 | 20 | 5 | 10 | 10 | 15 | 10 |
Solved! Go to Solution.
Hi @Rohit_terkar ,
The Table data is shown below:
Please follow these steps:
1.Add index column after grouping
Table.AddIndexColumn([Column],"Index",1)
2.Use the following DAX expression to create a measure
Balance =
VAR _Product_Code =
SELECTEDVALUE ( 'Table'[Product Code] )
VAR _Month =
SELECTEDVALUE ( 'Table'[Month] )
VAR _table =
SUMMARIZE (
ALL ( 'Table' ),
[Product Code],
[Month],
"Index", MAX ( 'Table'[Index] ),
"Column",
SUM ( 'Table'[Inventory] ) + SUM ( 'Table'[PO] )
+ SUM ( 'Table'[SC] )
- SUM ( 'Table'[SO] )
- SUM ( 'Table'[BOM] )
)
VAR _table2 =
ADDCOLUMNS (
_table,
"Column2",
MAXX (
FILTER (
_table,
[Product Code] = EARLIER ( [Product Code] )
&& [Index]
= EARLIER ( [Index] ) - 1
),
[Column]
)
)
RETURN
MAXX (
FILTER ( _table2, [Product Code] = _Product_Code && [Month] = _Month ),
[Column] + [Column2]
)
3.Final output
Best Regards,
Wenbin Zhou
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @v-zhouwen-msft ,
Thank you for Solution.
but i dont have the combined data.
every table is different and what you have suggested in first image is combined.
Hi @Rohit_terkar ,
Do you mean that the data is stored in 7 different tables? Can you share simple data or .pbix files without sensitive data?
How to provide sample data in the Power BI Forum - Microsoft Fabric Community
Best Regards,
Wenbin Zhou
Yes. Plase find the below link to excel file.
where I have calculated the expected result in excel. but i want to do it same in Bi.
https://docs.google.com/spreadsheets/d/1RCBxYYn91yScKWCEDVfI0mQILqUME2lE/edit?gid=1879817136#gid=187...
Hi @Rohit_terkar ,
When I clicked the link, it said I don't have permission.
Best Regards,
Wenbin Zhou
Hi @v-zhouwen-msft
I tried to utilise the file and format that you have given but its not fulfilling the outcome i want.
Could you please look into it and help me witha solution according to the changes I have made into a file
Sample Inventory Data.xlsx - Google Sheets
Can you please check and let me know ?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
124 | |
87 | |
85 | |
70 | |
51 |
User | Count |
---|---|
205 | |
153 | |
97 | |
79 | |
69 |