Forum Discussion
automatically CALCULATE() function is surrounded to a measure when it is inovked in a DAX expression
Hello There,
I found the following information when going through the "Context Transition" documentation by "Alberto Ferrari /SQLBI".
Would anyone please help me understand?
It is worth remembering that when you invoke a measure from a DAX expression, this is automatically surrounded by CALCULATE. The automatic CALCULATE, added by DAX, performs context transition and it might become source of errors in your code.
- https://www.sqlbi.com/articles/understanding-context-transition/ Get clarity on this paragraph
When you start working with iterators it is important to remember to use CALCULATE in order to trigger context transition. If you use a measure you don't need to include that. Because the 3rd measure uses another measure in the iteration your don't need the CALCULATE around it to get the correct answer.
3 Replies
- jdbuchanan71
Super User
When you start working with iterators it is important to remember to use CALCULATE in order to trigger context transition. If you use a measure you don't need to include that. Because the 3rd measure uses another measure in the iteration your don't need the CALCULATE around it to get the correct answer.
- AnonymousNot applicable
Hi,
I am trying to better understand this concept. Why is the "Year" field shown in the table and not the "Year Month" field that is in the DAX expression?
- jdbuchanan71
Super User
That was just to have fewer rows in the screen shot. The amounts in the measure get aggregated up to the level of Year because that is the field on the rows. It has nothing to do with the facth that when you are working with iterators you have to
a. Use and existing measure or
b. Use CALCULATE around your expression