DAX Optimization
Proposed session for SQLBits 2026TL; DR
Two hours of intense DAX optimization techniques
Session Details
How do you optimize a DAX expression? In this two hours session, Alberto Ferrari analyzes some DAX expressions and Tabular models and, through the usage of DAX Studio and some understanding of the VertiPaq model, we will look at how to optimize them.
As you will see, most optimizations are the direct application of best practices, but the session has the additional takeaway of understanding what kind of performance you should expect from your formulas, and the improvement you might expect from learning how to optimize the model and the code.
As you will see, most optimizations are the direct application of best practices, but the session has the additional takeaway of understanding what kind of performance you should expect from your formulas, and the improvement you might expect from learning how to optimize the model and the code.
3 things you'll get out of this session
Learn how to optimize DAX
Learn some internals about DAX
Learn how to measure performance of reports
Speakers
Alberto Ferrari's other proposed sessions for 2026
Introducing DAX user-defined functions - 2026
Time Intelligence in Power BI - 2026
Why star schema is your best choice in Power BI - 2026
Alberto Ferrari's previous sessions
Time Intelligence in Power BI
Every Power BI model has dates and the need of calculation over dates to aggregate and compare data, like Year-To-Date, Same-Period-Last-Year, Moving Average, and so on. Quick measures and DAX functions can help, but how do you manage holidays, working days, weeks based fiscal calendars and any non-standard calculation?
This session provides you the best practices to correctly shape a data model and to implement time intelligence calculations using both built-in DAX functions and custom DAX calculation for more complex and non-standard requirements.
When you should avoid using bidirectional filters in Power BI
Bidirectional filters are a powerful tool, probably too powerful for most data models. In this quick talk we show the reason why most users should avoid using the feature, unless they understand well the implications.
Why star schema is your best choice in Power BI
In this session Alberto compares different models with a star schema, showing the technical details why a star schema is quite always the best choice.
Using calculation groups in DAX
This session introduces calculation groups, when they should be used and several examples of use cases. You will also learn how calculation groups work internally and what are the limits of this amazing tool.
Should you use bidirectional filters in Tabular?
The quick answer is no, you should not. As with any rule, there are exceptions.
When used with care, bidirectional filters are a powerful weapon in the hands of a skilled data modeller.
Understanding relationships in Power BI
Relationships are present in any data model. Multiple relationships between the same tables and bidirectional filters increase the complexity of this topic. In this session, we discover the complexity behind relationships in complex models.
Aggregations in Power BI
We introduce the concept of aggregation, we show several examples of their usage understanding the advantages and the limitations of aggregations, with the goal of building a solid understanding on how and when to use the feature in data models.
DAX Optimization Examples
In this session we analyze some DAX expressions and Tabular models and, through the usage of DAX Studio and some understanding of the VertiPaq model, we will look at how to optimize them.
Optimizing multi-billion row tables in Tabular
In this session we will show you how Tabular performs when you are querying a model with many billions rows, conduct a complete analysis of the model searching for optimization ideas and implement them on the fly, so to look at the effect of using th
Optimizing & Analyzing DAX Query Plans
Alberto will start with a simple query and he will perform on stage all the necessary steps to optimize it, showing you the tools ant the techniques used to identify the bottleneck and to fix the performance issues
Advanced Modeling with Analysis Services Tabular
This session goes beyond the classical star schema modeling, exploring new techniques to model data with Power Pivot and SSAS Tabular. You will see how brute-force power in DAX allows different data models than those used in SSAS Multidimensional
DAX Query Engine Internals
In this session, we will analyze the way DAX solves filtering. Starting from simple queries, we will follow the steps DAX does with the filter context, discovering the internals of the query engine of DAX.
Time Intelligence in DAX
We are going to show how to compute classical time intelligence with the built-in DAX functions. Then, we will show some more complex time intelligence formulas that require to think out of the box, using advanced data modeling techniques.
PowerPivot Advanced Data Modeling
During this session we are going to analyze common business problems that require and advanced usage of DAX functions and data modeling with PowerPivot.
Many-to-Many Relationships in DAX
Deep dive into the handling of many to many relationships in DAX. How to make them work and how to optimize their speed thorugh many patterns and live examples of M2M usage.