Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
I need to create a matrix visual that looks like the following:
Train | Day 6 | Day 7 | Day 8 |
Loc. A | 2088 | 2204 | 2088 |
Loc. B | 1508 | 1508 | 2436 |
Total | 3596 | 3712 | 4524 |
Capacity | 4000 | 4000 | 4000 |
Difference | -404 | -288 | 524 |
(train load in tons, capacity is specific to Company A, I have different tables featuring different trains and capacities on a per company basis).
Source data features 2 different tables. One for the load that the train is carrying and one for the companies and their total capacity that follow a simple relationship with eachother:
Company | Train | Day | Load |
Company A | Loc. A | 6 | 1392 |
Company A | Loc. A | 6 | 696 |
Company A | Loc. B | 6 | 1508 |
Company B | Loc. A | 6 | 928 |
Company B | Loc. A | 6 | 1044 |
Company | Capacity |
Company A | 4000 |
Company B | 4200 |
I have been able to create the matrix without the capacity and difference row. But I do need to display the capacity and the difference from the actual planning preferably within one table. Any other ideas are also welcome!
Thank you in advance!
Solved! Go to Solution.
Hi @d_h ,
Please create a new table.
Table =
VAR newcapacity =
CROSSJOIN ( Capacity, VALUES ( Train[Day] ) )
VAR UnionTab =
UNION (
Train,
SELECTCOLUMNS (
newcapacity,
"Company", [Company],
"Train", "Capacity",
"Day", [Day],
"Load", [Capacity]
)
)
RETURN
ADDCOLUMNS (
UnionTab,
"Type", IF ( [Train] = "Capacity", "Capacity", "Train" )
)
Then create these measures.
Load and Capacity =
CALCULATE ( SUM ( 'Table'[Load] ), 'Table'[Company] = "Company A" )
TotalValue =
VAR diff =
CALCULATE ( [Load and Capacity], 'Table'[Type] = "Train" )
- CALCULATE ( [Load and Capacity], 'Table'[Type] = "Capacity" )
RETURN
IF ( ISFILTERED ( 'Table'[Type] ), [Load and Capacity], diff )
If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
Best Regards,
Winniz
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @d_h ,
Please create a new table.
Table =
VAR newcapacity =
CROSSJOIN ( Capacity, VALUES ( Train[Day] ) )
VAR UnionTab =
UNION (
Train,
SELECTCOLUMNS (
newcapacity,
"Company", [Company],
"Train", "Capacity",
"Day", [Day],
"Load", [Capacity]
)
)
RETURN
ADDCOLUMNS (
UnionTab,
"Type", IF ( [Train] = "Capacity", "Capacity", "Train" )
)
Then create these measures.
Load and Capacity =
CALCULATE ( SUM ( 'Table'[Load] ), 'Table'[Company] = "Company A" )
TotalValue =
VAR diff =
CALCULATE ( [Load and Capacity], 'Table'[Type] = "Train" )
- CALCULATE ( [Load and Capacity], 'Table'[Type] = "Capacity" )
RETURN
IF ( ISFILTERED ( 'Table'[Type] ), [Load and Capacity], diff )
If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
Best Regards,
Winniz
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@d_h , there is work around suggeted here
Power bi Excel for P&L , add in app
Curbal
https://www.youtube.com/watch?v=IISYzTaIyu4
Guyinacube
https://www.youtube.com/watch?v=1yJnmZRTNZg
@amitchandak Thank you for your reply.
I watched both videos that suggest adding an Excel workbook to a Power BI app.
Is that the only way to achieve this? I'd like to have the matrix within a report.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
94 | |
84 | |
84 | |
72 | |
49 |
User | Count |
---|---|
143 | |
131 | |
109 | |
64 | |
55 |