Forum Discussion
power bi difference between two columns in a matrix
Hello community,
I would like to calculate a difference absolute and percent between two columns in my visualisation.
My data looks like this:
| LEVEL | DATE | REVENUE |
| Actual | January | 100 |
| Budget | January | 110 |
| Actual | February | 90 |
| Budget | February | 95 |
| Actual | March | 115 |
| Budget | March | 105 |
| Actual | April | 130 |
| Budget | April | 120 |
I want to have the following matrix with the difference column Actual vs Budget.
| DATE | ACTUAL | BUDGET | Diff | |
| January | 100 | 110 | -10 | |
| February | 90 | 95 | -5 | |
| March | 115 | 105 | +10 | |
| April | 130 | 120 | +10 | |
Is this possible?
I would be very grateful for your help.
- Anonymous4 years ago
Hi dopingcontrol ,
Arul use PIVOT function in Power Query to achieve your goal. This way will transform your data model. If you don't want to transform your table, you can try to create a measure to show difference in Total and rename "Total" by "Diff".
Measure = VAR _REVENUE = SUM('Table'[REVENUE]) VAR _ACTUAL = CALCULATE( SUM('Table'[REVENUE]),'Table'[LEVEL] = "Actual") VAR _Budget = CALCULATE( SUM('Table'[REVENUE]),'Table'[LEVEL] = "Budget") RETURN IF(HASONEVALUE('Table'[LEVEL]),_REVENUE,_ACTUAL - _Budget)Then create a matrix visual.
Result is as below.
Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
2 Replies
- Arul
Super User
Yes it is possible!!
You need to pivot your table in power query editor based on date column,
Then,
write the below measure and use actual,budget and measure in the matrix visual.
Thanks,
Arul
- AnonymousNot applicable
Hi dopingcontrol ,
Arul use PIVOT function in Power Query to achieve your goal. This way will transform your data model. If you don't want to transform your table, you can try to create a measure to show difference in Total and rename "Total" by "Diff".
Measure = VAR _REVENUE = SUM('Table'[REVENUE]) VAR _ACTUAL = CALCULATE( SUM('Table'[REVENUE]),'Table'[LEVEL] = "Actual") VAR _Budget = CALCULATE( SUM('Table'[REVENUE]),'Table'[LEVEL] = "Budget") RETURN IF(HASONEVALUE('Table'[LEVEL]),_REVENUE,_ACTUAL - _Budget)Then create a matrix visual.
Result is as below.
Best Regards,
Rico ZhouIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.