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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Rewind
Helper I
Helper I

Difference between 2 values in a table

I'm new to PowerBI and only basic understanding of DAX....

 

I would like to calculate the difference between two values in the same column. In this case I'm only interested in the difference between two jurisdictions at any one time (e.g. I'm interested in the difference between NSW and AUS only)

 

For example, if a user selects the Jurisdiction NSW and AUS the calculated column would show the difference between them (in this case I would expect +4.1)

 

1 ACCEPTED SOLUTION
Greg_Deckler
Super User
Super User

First, if you want user interaction to influence the calculation, then you cannot use a calculated column, you would need to use a measure. Second, you will need to use slicers that are not related to your table. Easiest way to do that would be to use Create Table from the modeling tab and use:

DISTINCT('Table'[Jusisdiction])

Check your relationships view and make sure that they are not related to your main table. Now that you have that, you can then create a measure like:

Measure = 
VAR __slicer1 = MAX('Slicer1'[Jurisdiction])
VAR __slicer2 = MAX('Slicer2'[Jurisdiction])
VAR __value1 = MAXX(FILTER('Table',[Jurisdiction]=__slicer1),[Mean])
VAR __value2 = MAXX(FILTER('Table',[Jurisdiction]=__slicer2),[Mean])
RETURN
__value1 - __value2

Something along those lines.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

View solution in original post

2 REPLIES 2
Greg_Deckler
Super User
Super User

First, if you want user interaction to influence the calculation, then you cannot use a calculated column, you would need to use a measure. Second, you will need to use slicers that are not related to your table. Easiest way to do that would be to use Create Table from the modeling tab and use:

DISTINCT('Table'[Jusisdiction])

Check your relationships view and make sure that they are not related to your main table. Now that you have that, you can then create a measure like:

Measure = 
VAR __slicer1 = MAX('Slicer1'[Jurisdiction])
VAR __slicer2 = MAX('Slicer2'[Jurisdiction])
VAR __value1 = MAXX(FILTER('Table',[Jurisdiction]=__slicer1),[Mean])
VAR __value2 = MAXX(FILTER('Table',[Jurisdiction]=__slicer2),[Mean])
RETURN
__value1 - __value2

Something along those lines.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

Thank you! This worked with no issues 🙂

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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