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.
Hello there
I am very new to DAX. I just couldn't figure our the difference between below two codes. Why they produce different results?
Code 1:
Sales Amount= SUMX(Sales, Sales[Quantity]*Sales[Net Price]) // Calculate sales amount first
Avg Sales by Customer = AVERAGEX(Customer, [Sales Amount]) // then calculate average
Code 2: Combine them together
Avg Sales by Customer=
AVERAGEX(
Customer,
SUMX(
Sales,
Sales[Quantity]*Sales[Net Price]
)
)
Solved! Go to Solution.
Hi,
I think, if you write the second one like below,
Avg Sales by Customer =
AVERAGEX (
Customer,
CALCULATE ( SUMX ( Sales, Sales[Quantity] * Sales[Net Price] ) )
)
it will show the same result as the first one.
If the measure itself is referenced by another measures (like the first one), CALCULATE is auto-created in order to execute context transition.
Instead of referencing the measure itself, if you write the whole formula, CALCULATE has to be included in order to execute context transition.
I hope it helps.
Hi,
I think, if you write the second one like below,
Avg Sales by Customer =
AVERAGEX (
Customer,
CALCULATE ( SUMX ( Sales, Sales[Quantity] * Sales[Net Price] ) )
)
it will show the same result as the first one.
If the measure itself is referenced by another measures (like the first one), CALCULATE is auto-created in order to execute context transition.
Instead of referencing the measure itself, if you write the whole formula, CALCULATE has to be included in order to execute context transition.
I hope it helps.