Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi,
I'm working on a matrix in Power BI that compares this fiscal years' sales, transactions, units, customerscount to last year's. Each row is it's own calculated measure. Is there any possible way to create a difference column?
Any help would be greatly appreciated.
Solved! Go to Solution.
Hi @AmandaLu
Yes that can be done utilizing the column subtotal. For example
Measure2 =
VAR CurrentValue = [Measure1]
VAR MaxYear =
MAX ( 'Date'[Year] )
VAR MinYear =
MIN ( 'Date'[Year] )
VAR MaxYearValue =
CALCULATE ( [Measure1], 'Date'[Year] = MaxYear )
VAR MinYearValue =
CALCULATE ( [Measure1], 'Date'[Year] = MinYear )
RETURN
IF ( HASONEVALUE ( 'Date'[Year] ), CurrentValue, MaxYearValue - MinYearValue )
And you can manually change the name from "Total" to "Difference"
Thanks for @tamerj1 's solution, I fixed this problem.
There are the steps that we take to solve this problem:
Step 1: add two more rows named "Difference", and "Difference %" to the original table (so besides the year column, we have two more columns)
Step 2: use DAX to calculate each measure before moving them to the values (switch values to rows)
For example, the DAX for customer measure is:
Customers Measure =
VAR NormalValue =
SUM ( Customer_Merged[Customers] )
VAR Value2022 =
CALCULATE (
SUM ( Customer_Merged[Customers] ),
Customer_Merged[Transaction_FiscalYear] = "2022",
ALLEXCEPT (
Customer_Merged,
Customer_Merged[Customer_TenureGroup_TTM],
Customer_Merged[Transaction_FiscalQuarter]
)
)
VAR Value2023 =
CALCULATE (
SUM ( Customer_Merged[Customers] ),
Customer_Merged[Transaction_FiscalYear] = "2023",
ALLEXCEPT (
Customer_Merged,
Customer_Merged[Customer_TenureGroup_TTM],
Customer_Merged[Transaction_FiscalQuarter]
)
)
VAR Difference = Value2023 - Value2022
VAR DifferencePercent =
FORMAT ( DIVIDE ( Difference, Value2022 ), "Percent" )
RETURN
SWITCH (
TRUE (),
SELECTEDVALUE ( Customer_Merged[Transaction_FiscalYear] ) = "Difference", Difference,
SELECTEDVALUE ( Customer_Merged[Transaction_FiscalYear] ) = "% Difference", DifferencePercent,
NormalValue
)
Step 3: move this customer measure to values and do the same thing for all the measures
Hi @AmandaLu
Yes that can be done utilizing the column subtotal. For example
Measure2 =
VAR CurrentValue = [Measure1]
VAR MaxYear =
MAX ( 'Date'[Year] )
VAR MinYear =
MIN ( 'Date'[Year] )
VAR MaxYearValue =
CALCULATE ( [Measure1], 'Date'[Year] = MaxYear )
VAR MinYearValue =
CALCULATE ( [Measure1], 'Date'[Year] = MinYear )
RETURN
IF ( HASONEVALUE ( 'Date'[Year] ), CurrentValue, MaxYearValue - MinYearValue )
And you can manually change the name from "Total" to "Difference"
Hi @tamerj1 ,
Thank you so much for your reply!
I added the subtotal column, but I cannot edit the power query of that column. Could you help?
Also, do you know how to add the % diff column (which is (this year's measure - last year's measure)/last year's measure), we can only add one column right?
I have been struggling with this problem for several days. Thank you again for your help!
Hello, did you ever find the solution to your problem? I am interested to find out what the resolution was as I'm facing a similar issue.
That would be great! Are you able to join the meeting at 1 pm today? or just let me know what time is convenient for you.
Join Zoom Meeting
https://zoom.us/j/96020170183?pwd=YzBFWVhhdXRhcHdHT0Z2aHc1clRTdz09
Meeting ID: 960 2017 0183
Passcode: yLZ8fd
Can we connect now?
Yes!
Check out the July 2025 Power BI update to learn about new features.
User | Count |
---|---|
73 | |
72 | |
39 | |
31 | |
26 |
User | Count |
---|---|
97 | |
87 | |
43 | |
40 | |
35 |