-
This article describes the sideways recursion triggered by invoking a calculation item from another calculation item, explaining why it should be avoided to steer clear of unexpected results. Read more
-
SUMMARIZECOLUMNS is a powerful and complex function in DAX that in 2025 can be used in measures. This article outlines the best practices when using this function to avoid incorrect results. Read more
-
This article is about the state of AI tools with Power BI, and how to use the model context protocol (or MCP) to interact with and control Power BI or Fabric with a large language model (or LLM). Read more
-
ALLSELECTED is a powerful, yet dangerous function. This article describes the best practices to follow to avoid falling into the pitfalls involved with ALLSELECTED. Read more
-
When should you use DISTINCT over VALUES in DAX? Here is how to write resilient measures that survive bad data and model changes. Read more
-
When using time intelligence functions, the automatic REMOVEFILTERS on Date can make maintaining filters on the Date table challenging. This article shows a technique to handle filter-preserving columns in DAX. Read more
-
In this article, we examine the details of executing DAX code, with a focus on how the IF function is implemented in various scenarios. Read more
-
This article describes how to control the execution of DAX code when there are either multiple or empty selections of calculation items in calculation groups. Read more
-
This article explains why you might encounter a curious error when placing columns from unrelated tables in a Power BI matrix. Read more
-
This article gives an overview of some of the available tools that can help you create semantic models and reports. Read more