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!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
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.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 40 | |
| 37 | |
| 33 | |
| 29 | |
| 27 |
| User | Count |
|---|---|
| 133 | |
| 104 | |
| 61 | |
| 59 | |
| 55 |