Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello all,
I'm struggling to calculate a cumulative difference between two columns.
My dataset is a table that, for each month of the year, reports two values: "Sum of Requested orders" and "Sum of Confirmed orders".
Each sum is the amount of orders requested or confirmed in each month.
I would like to add another column, for each month, that calculates the difference between the two columns. This additional column however should also be comulative and sum the diffences for the whole year.
Data example:
January | February | March | April | ||||||||
Requested | Confirmed | **bleep** Difference | Requested | Confirmed | **bleep** Difference | Requested | Confirmed | **bleep** Difference | Requested | Confirmed | **bleep**. Difference |
2400 | 2300 | 100 | 1000 | 800 | 300 | 1900 | 1750 | 450 | 2000 | 1500 | 950 |
I arrive to calculate the Difference in each month, but struggle to create the cumulative difference
any suggestion from the guru of DAX?
🙂
Solved! Go to Solution.
Hi @moia79
Please try
Difference =
VAR CurrentMonth =
MAX ( 'Date'[Month Number] )
VAR T1 =
CALCULATETABLE (
VALUES ( 'Date'[Month] ),
'Date'[Month Number] <= CurrentMonth
)
VAR T2 =
ADDCOLUMNS (
T1,
"@Difference",
VAR CurrentMonth1 = 'Date'[Month]
RETURN
CALCULATE (
[Requested] - [Confirmed],
ALL ( 'Date'[Month] ),
'Date'[Month] = CurrentMonth1
)
)
RETURN
SUMX ( T2, [@Difference] )
That looks like an output table, i.e. matrix visual.
What is your input data? If it looks like the table below then it's an easy setup
Month | Requested | Confirmed |
Jan | 2400 | 2300 |
Feb | 1000 | 800 |
hi @Stachu
yes, table is as you reported. For each row I need to calculate the difference (Requested - Confirmed).
Moreover, I need that this difference is cumulative, so that each month difference is summed to the one calculated in the previous month
e.g.:
Jan = 2.400 - 2.300 = 100
Feb = (1.000 - 800) + January = 200 + 100 = 300
March = (xxx - xxx) + Feb = ( ... ) + 300
Hi @moia79
Please try
Difference =
VAR CurrentMonth =
MAX ( 'Date'[Month Number] )
VAR T1 =
CALCULATETABLE (
VALUES ( 'Date'[Month] ),
'Date'[Month Number] <= CurrentMonth
)
VAR T2 =
ADDCOLUMNS (
T1,
"@Difference",
VAR CurrentMonth1 = 'Date'[Month]
RETURN
CALCULATE (
[Requested] - [Confirmed],
ALL ( 'Date'[Month] ),
'Date'[Month] = CurrentMonth1
)
)
RETURN
SUMX ( T2, [@Difference] )
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.
User | Count |
---|---|
25 | |
20 | |
18 | |
17 | |
16 |
User | Count |
---|---|
37 | |
20 | |
19 | |
17 | |
11 |