What CALCULATE does to row context: it converts it into an equivalent filter context. You need it for aggregating expressions inside iterators or calculated columns, and referring to a model measure triggers it implicitly.
Read more: Microsoft Learn
In the Ultra Transcenders books
Each book explains context transition in context, with comparison tables and the common traps.
Terms in this definition
- CALCULATE
A DAX function that computes an expression after changing the filter context with filter modifiers, Boolean filters or table filters. Called with no filters, it still turns any row context into filter context, which is known as context transition.
- Row context
Exists automatically in calculated columns and inside iterators like SUMX, giving DAX a current row to work on. Filtering the model is left to filter context; a current row does not do that by itself.
- Filter context
Whenever DAX evaluates an expression, each column is limited to certain values by slicers, report filters, a visual's rows and columns, relationships and any filters coded in formulas. Measures always calculate under these limits; row context, by contrast, means the current row.
- Measure
A figure like total revenue, worked out by aggregating fact table data wherever dimensions intersect within a semantic model.