-
This article is about useful concepts and scenarios for integrating AI and AI agents in BI development, with specific examples for Power BI. Read more
-
Overview of the various capabilities of AI workflows and agentic development for Power BI. The focus is on AI for BI professionals, not conversational BI for data consumers. Read more
-
Why and when you should use VALUES while iterating a table reference in DAX. Read more
-
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
-
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