Forum Discussion

dpc_development's avatar
dpc_development
Helper III
5 years ago
Solved

Reuse calculated table variable within DAX formula

Hello, I have the following DAX formula for a measure, and it works fine.

 

 

Gross Area = 
var as_on = LASTDATE('Calendar'[Date]) 
var all_latest_dates =
    ADDCOLUMNS(
        VALUES('Unit Revision'[Unit Id]),
        "Last Event", CALCULATE(
                            MAX('Unit Revision'[Event Date]),
                            'Unit Revision'[Event Date] <= as_on
                        )
    )
var unit_latest_dates = TREATAS(all_latest_dates, 'Unit Revision'[Unit Id], 'Unit Revision'[Event Date])
RETURN
CALCULATE( SUM('Unit Revision'[Gross Area]), unit_latest_dates )

 

 

Basically, there is a Unit Revision table that has multiple rows with values on different Event Date per Unit Id. The above DAX formula filters the most recent value given a Calendar Date Slicer, and then sums up the Gross Area value.

 

I need to calculate more metrics using a similar logic, where the DAX formula is the same until the RETURN statement, and just the column name within the final CALCULATE( SUM() ) differs. 

 

I need to add all these measures to a Matrix. In such as case, will the variable calculation of the unit_latest_dates table be calculated for every DAX measure, or will it be cached? To ensure it is cached, is it possible to reuse the initial set of DAX code within a calculated table measure or something, just like how we can reuse a scalar measure in another measure?

2 Replies