Posts tagged #Advanced DAX

Modern DAX in Power BI: UDFs, Window Functions, INFO & More (Part 4)

Video by: Reid Havens

DAX has shipped more new surface area since 2022 than in the five years before it, and most of that never made it into anyone's habits. Part 4 of the series covers the five additions that change how you actually write code, where each one earns its keep, and where it still falls short.

User-defined functions are the headline. Reusable, parameterized DAX stored as a model object, so the pattern you keep copying between six measures finally lives in one place. We build one, call it with and without default parameters, and get into the limitations that are still there in the current release.

From there it's window functions (OFFSET, INDEX, WINDOW, RANK, ROWNUMBER) for row-relative math that time intelligence can't reach, INFO functions for querying your own model metadata as a table, EVALUATEANDLOG for debugging without littering the model with temporary measures, and dynamic format strings that follow context instead of sitting fixed on the measure.

The last stretch runs through the smaller additions that still come up: TREATAS, GROUPBY, DETAILROWS, ERROR, and TOCSV/TOJSON. None of them need a section of their own, but skipping them leaves gaps.

RELATED CONTENT πŸ”—

DAX Foundations Guide (Series Part 1)
DAX Context Guide (Series Part 2)
DAX Patterns Guide (Series Part 3)
DAX Modern Guide (Series Part 4)

Posted on August 25, 2026 and filed under DAX, Analytic Endeavors.

IMPROVED - IBCS Styled Bullet Charts (SVG) in Power BI!

Video by: Reid Havens

Join Daniel Marsh-Patrick and myself as we explore a NEW and IMPROVED SVG image template to add an IBCS (International Business Communication Standards) inspired bullet chart to your native matrix or table visuals in Power BI Desktop!

RELATED CONTENT πŸ”—

IBCS Bullet Chart
Buy Daniel a Coffee
Deneb AppSource
Daniel's Website

Posted on December 12, 2023 and filed under Intermediate, Visualizations, DAX.

(Livestream Replay) [DAX] Best Practices 101 for Optimization & Performance - with Alberto Ferrari

ABSTRACT πŸ“„

Despite being usually very fast, DAX can be optimized, like any other computer system. Optimizing DAX requires a deeper understanding of the internals of the engine, because most optimizations are not intuitive. We will talk about the basics of optimizations, looking at some examples of code and discussing together ideas and options to make the code faster.

GUEST BIO πŸ‘€

Alberto started working with SQL Server in 2000 and immediately his interest focused on Business Intelligence. He and Marco Russo created sqlbi.com, where they publish extensive content about Business Intelligence.

Alberto published several books about Analysis Services, Power BI, and Power Pivot. He is a Microsoft MVP and he earned the SSAS Maestro title, the highest level of certification on Microsoft Analysis Services technology.

Today, Alberto's main activities are in the delivery of DAX and data modeling workshops for Power BI and Analysis Services all around the world. Alberto offers consulting services on large and complex data warehouses to provide assessments and validation of project analysis or to perform specific problem-solving activities.

Alberto is a well-known speaker at many international conferences, like PASS Summit, Sqlbits, and Microsoft Ignite. He loves to be on stage both at large events and at smaller user groups meetings, exchanging ideas with other SQL and BI fans. When traveling for work, he likes to engage with local user groups to provide evening sessions about his favorite topics. Thus, you can easily meet Alberto by looking up local Power BI user groups during scheduled courses.

Outside of SQLBI, most of Alberto's personal time is spent practicing video games, in the vain hope of eventually beating his son.

RELATED CONTENT πŸ”—

SQLBI Website

Tabular Editor 3: [DAX] Debugger Walkthrough in Tabular Editor 3! - with Daniel Otykier

It is no secret that DAX is a relatively complex language which is difficult to master. Most data model developers have probably experienced a situation, where the DAX code did not return the expected result. In this situation, it is helpful to break down the code, variable by variable and function call by function call, to better understand what is going on.

Until now, this "breakdown" of the code was a tedious and time consuming task, which often involved capturing DAX queries executed by client tools, in order to break them down and execute smaller pieces of the queries in DAX Studio or SQL Server Management Studio.

Tabular Editor 3 introduces the concept of the DAX debugger, which is a tool that makes the process of stepping into the DAX code of your model, much, much easier! At a conceptual level, the debugger is similar to traditional IDE debuggers, such as the one found in Visual Studio when developing C# applications.

GUEST BIO πŸ‘€

Daniel is a Microsoft Data Platform MVP and CTO of Tabular Editor ApS – the company behind the tool.

RELATED CONTENT πŸ”—

DAX Debugger
Tabular Editor 3
Daniel's LinkedIn
Daniel's Twitter