Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I have created several measures to calculate LTM sales, the result works perfectly well but my problem is that I only use the first measure to calculate the second, and the second to calculate the third:
Measure 1:
CombinedColumn = CALCULATE(
'Sales'[Sales Amount] + [Remaining Budget]
)
Measure 2:
Combined LTM = CALCULATE(
[CombinedColumn],
DATESINPERIOD( 'Date'[DateTime],MAX('Date'[DateTime]),-12,MONTH )
)
Measure 3:
Budget LTM =
VAR LastDateWithSales = CALCULATE( MAX ( Sales[PostingDate]), REMOVEFILTERS())
VAR RB_LTM = CALCULATE(
[Combined LTM],
KEEPFILTERS('Date'[DateTime] >= LastDateWithSales)
)
RETURN
RB_LTM
I would really like to combine these three measures into one, this is my attempt at it:
Budget LTM =
VAR LastDateWithSales = CALCULATE( MAX ( Sales[PostingDate]), REMOVEFILTERS())
VAR CombinedColumn = CALCULATE(
'Sales'[Sales Amount] + [Remaining Budget]
)
VAR CombinedLTM = CALCULATE(
CombinedColumn,
DATESINPERIOD( 'Date'[DateTime],MAX('Date'[DateTime]),-12,MONTH)
)
VAR BudgetLTM = CALCULATE(
CombinedLTM,
KEEPFILTERS('Date'[DateTime] >= LastDateWithSales)
)
RETURN
BudgetLTM
I'm fairly new to DAX, so I assume there is something relatively simple I'm missing.
VARiables in DAX are static. They are in fact constants so there's no point doing something like
var Variable = ...
return
calculate(
Variable,
...
)
This will always return the value of the Variable as it was calculated in the first line...
User | Count |
---|---|
15 | |
11 | |
6 | |
6 | |
5 |
User | Count |
---|---|
29 | |
17 | |
11 | |
7 | |
5 |