cancel
Showing results for
Did you mean:
New Member

## Comparing semi-additive calculations as a % change

I followed the excellent Semi Additive mesure guide at sqlbi.com (https://www.sqlbi.com/articles/semi-additive-measures-in-dax/) and now have a report that tracks balences accurately and the measure reports the most recent balance of the quarter.

`LastBalance Ever :=VAR MaxDate =MAX ( 'Date'[Date] )VAR LastDates =ADDCOLUMNS (CALCULATETABLE (VALUES ( Balances[Name] ),ALL ( 'Date' )),"LastDay", CALCULATE (MAX ( 'Balances'[Date] ),ALL ( 'Date' ),'Date'[Date] <= MaxDate))VAR LastDatesWithLineage =TREATAS (LastDates,Balances[Name],'Date'[Date])VAR Result =CALCULATE (SUM ( Balances[Balance] ),LastDatesWithLineage)RETURNResult`

I'm now keen to understand how I would compare changes between the most recent balence and the previous most recent balence. For example;

 Supplier Contract Spend Effective Date Change A 10,000.00 01/01/2019 0% A 15,000.00 01/01/2020 150% A 10,000.00 02/01/2021 67%

Is there a DAX command that would allow me to compare with the previous last balence? Any ideas on how I could approach this?

1 ACCEPTED SOLUTION
Community Support

@Douglas_M Please refer to my measure for this sample data:

Measure = MAX('Table'[Contract Spend]) / CALCULATE(MAX([Contract Spend]),FILTER(ALL('Table'),[Supplier]=MAX('Table'[Supplier]) && [Effective Date]<MAX([Effective Date])))

Updating Media

Paul Zheng _ Community Support Team
If this post helps, please Accept it as the solution to help the other members find it more quickly.

Community Support

@Douglas_M Please refer to my measure for this sample data:

Measure = MAX('Table'[Contract Spend]) / CALCULATE(MAX([Contract Spend]),FILTER(ALL('Table'),[Supplier]=MAX('Table'[Supplier]) && [Effective Date]<MAX([Effective Date])))

Updating Media

Paul Zheng _ Community Support Team
If this post helps, please Accept it as the solution to help the other members find it more quickly.

Announcements