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 )
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 then 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?
I can't use this in a Calculated Table, as the calculation changes based on changes in the Calendar Table Date slicer.