Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
AmandaLu
Frequent Visitor

Calculate the difference between two columns in a matrix when each row is a measure

AmandaLu_0-1657837571018.png

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.

 

1 ACCEPTED SOLUTION
tamerj1
Super User
Super User

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"

View solution in original post

9 REPLIES 9
AmandaLu
Frequent Visitor

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 ( DifferenceValue2022 )"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 

AmandaLu_0-1658160838170.png

 

 

AmandaLu
Frequent Visitor

Thank you @tamerj1 ! 

tamerj1
Super User
Super User

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!

AmandaLu_0-1657900164776.png

 

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.

Hi @AmandaLu 

Ok. Can you join a zoom meeting?

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!

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.