From aggregators and filter contexts to CALCULATE and time intelligence — a comprehensive series to level up your DAX skills.
DAX Mastery
Learning DAX and Power BI - Filter Contexts
Every DAX formula runs inside a filter context - the set of rows it can see. Row selection, column selection, slicers, and report filters all shape that context and change your results.
Learning DAX and Power BI – Row Contexts
Here is the second blog in a series around learning DAX and Power BI. This post focuses on row contexts, which are used when iterating over the rows of a table when, for example, evaluating a calculated column. Row contexts along with filter contexts underpin the basis of the DAX language. Once you understand this underlying theory it is purely a case of learning the syntax for the different operations which are built on top of it.
Learning DAX and Power BI – Calculated Columns and Measures
Dive into DAX and Power BI in our blog. Learn about calculated columns, measures, and their use in complex visuals.
Learning DAX and Power BI - Aggregators
This is the fourth blog in a series about DAX and Power BI. We have so far covered filter and row contexts, and the difference between calculated columns and measures. This post focuses on aggregators. We cover the limitations of the classic aggregators, and demonstrate the power of the iterative versions. We also highlight some of the less intuitive features around how these functions interact with both filter and row contexts.
Learning DAX and Power BI – Table Functions
This is the fifth blog in a series on DAX and Power BI. This post focuses on table functions. In DAX, table functions return a table which can then be used for future processing. This can be useful if, for example, you want to perform an operation over a filtered dataset. Table functions, like most functions in DAX, operate under the filter context in which they are applied.
Learning DAX and Power BI – Related Tables and Relationships
This is the sixth blog in a series about DAX and Power BI. This post focuses on relationships and related tables. These relationships allow us to build up intricate and powerful models using a combination of sources and tables. The use of relationships in DAX powers many of the features around slicing and page filtering of reports.
Learning DAX and Power BI – CALCULATE
This is the final blog in a series about DAX and Power BI. This post focuses on the CALCULATE function, which is a unique function in DAX. The CALCULATE function has the ability to alter filter contexts, and therefore can be used to enable extremely powerful and complex processing. This post covers some of the most common scenarios for using CALCULATE, and some of the gotchas in the way in which these different features interact!
Evaluation Contexts in DAX - Filter and Row Contexts
Explore DAX query language in Power BI: learn about Evaluation Contexts and their impact on code for improved formula results.
Evaluation Contexts in DAX - Relationships
After learning about the two different types of evaluation contexts in our previous post, we now talk about table relationships and how these interact with the filter and row contexts to condition the output of our DAX code.
Evaluation Contexts in DAX - Context Transition
In this third and final part of this series, we learn how CALCULATE performs Context Transition when used inside of a filter context.
Measures vs Calculated Columns in DAX and Power BI
Explore DAX & Power BI differences between measures & calculated columns, and learn when to use each in this informative blog post.
Table Functions in DAX: FILTER and ALL
This blog post explores two of the most common table functions in DAX - FILTER and ALL.
Table Functions in DAX: DISTINCT
This blog post explores one of the most common table functions in DAX - DISTINCT.
RELATED and RELATEDTABLE in DAX
This blog post explores two common functions in DAX - RELATED and RELATEDTABLE.
CALCULATE in DAX
This blog post explores one of the most powerful functions in DAX - CALCULATE.
Context Transition in DAX
CALCULATE can silently transform a row context into a filter context, changing how SUM and other aggregations behave. Understanding context transition prevents unexpected results in calculated columns and measures.
EVALUATEANDLOG in DAX
DAX has never had real debugging capability until EVALUATEANDLOG. This hidden function prints intermediate values from any DAX expression, letting you see exactly how your measures are evaluated.