-
For many years, SUMMARIZECOLUMNS has been a function dedicated to DAX queries and calculated tables, but it was not supported in DAX measures. Over time, Microsoft lifted the limitations, and in June 2024, the function was declared as fully supported… Read more
-
This advanced paper explains how SUMMARIZECOLUMNS works internally, providing insight into how to control its behavior in queries and measures following a list of best practices. 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
-
Newsletter #300 is a significant milestone for SQLBI: it marks nearly 12 years of sending our updates every two weeks. I thought this was a good time to clarify SQLBI’s position on a topic we haven’t discussed much yet: Artificial… 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