This is the video course version of the Optimizing DAX workshop. It teaches you how to optimize queries and measures in DAX.

DAX is the native language of Power Pivot for Excel, Power BI Desktop and SSAS Tabular models in Microsoft SQL Server Analysis Services. This video course is aimed at users of Power BI, Power Pivot, and at Analysis Services developers who already know the DAX language and want to learn how to optimize DAX formulas and models for improving performance.

The goal of the video course is to enable you to find bottlenecks in DAX calculations using tools such as Profiler and DAX Studio, providing the knowledge to improve the performance by using different DAX formulas or by changing the data model, when required. The video course is made up of over 10 hours of lectures, plus another estimated 8 hours of individual exercises. You can watch the videos at anytime and the system will keep track of your progress. Within the video course you can download the material for all the exercises.

Prerequisite: Attendees need a good knowledge of the DAX Language, and a previous experience using either Power Pivot for Excel, or Power BI Desktop, or Analysis Services Tabular. You may acquire this knowledge by following the Mastering DAX Workshop, or by having equivalent real-world experience.

Students of the video course have access to a private discussion area where they can interact with the instructors asking questions related to the lectures and the exercises.


  • Presentation of Optimizing DAX

    • Presentation of Optimizing DAX
  • Exercises, slides, and demos

    • How to download and complete exercises
    • Exercises download
    • Demos download
    • Slides of the video course
  • VertiPaq storage engine

    • VertiPaq storage engine
    • VertiPaq in-memory columnar database
    • What is VertiPaq?
    • Run Length Encoding (RLE)
    • VertiPaq compression
    • Segmentation
    • Data memory usage
    • Materialization in DAX
    • Storage internals
    • Relationships
    • Reduce dictionary size
    • Hands-on labs
    • Lab 1 - Exercise 1 - Understanding information about a model
    • Lab 1 - Exercise 1 - Solution
  • Measuring performance

    • Measuring performance
    • Tabular query architecture
    • Two engines
    • SQL Server Profiler
    • DAX Studio
    • Gathering counters
    • Understanding data caches
    • xmSQL syntax
    • Filter
    • Lab 2 - Exercise 1 - Simple grouping
    • Lab 2 - Exercise 1 - Solution
    • Lab 2 - Exercise 2 - Simple filters
    • Lab 2 - Exercise 2 - Solution
    • Lab 2 - Exercise 3 - Basic time intelligence
    • Lab 2 - Exercise 3 - Solution
  • Analyzing query plans

    • Analyzing query plans
    • Multiple measures
    • Cache
    • Storage engine features
    • CallbackDataID
    • Measuring MDX
    • Lab 3 - Exercise 1 - High value countries
    • Lab 3 - Exercise 1 - Solution
    • Lab 3 - Exercise 2 - Sum of similar measures
    • Lab 3 - Exercise 2 - Solution
    • Lab 3 - Exercise 3 - Context transition
    • Lab 3 - Exercise 3 - Solution
    • Lab 3 - Exercise 4 - Counting invoices
    • Lab 3 - Exercise 4 - Solution
  • Optimizing large models

    • Optimizing large models
    • How many rows do you have?
    • SUM or SUMX?
    • Optimizing degenerate dimensions
    • Dimension bottlenecks
  • Advanced optimizations

    • Advanced optimizations
    • Introduction
    • Division by zero
    • Filter materialization
    • Optimizing IF statements
    • Column filters vs table filters
    • Currency conversion
    • Lab 4 - Exercise 1 - Open orders
    • Lab 4 - Exercise 1 - Solution
    • Lab 4 - Exercise 2 - Optimizing if-then-else
    • Lab 4 - Exercise 2 - Solution
    • Lab 4 - Exercise 3 - Currency conversion
    • Lab 4 - Exercise 3 - Solution
    • Lab 4 - Exercise 4 - New customers
    • Lab 4 - Exercise 4 - Solution
  • Optimization examples

    • Optimization examples
    • Introduction
    • Events in progress
    • New and returning customers
  • Conclusion

    • Conclusion
Student Rating
16 ratings
Student Reviews (11)
  • David Williams (Jun 3, 2020)

    A fabulous training course that I will start using immediately and that I will have to review a few times to be able to use all of the value provided! I absolutely recommend it.

  • Kenneth Barber (Apr 23, 2020)

    SQLBI has done it again! Very thorough and very well explained. This is a great supplement to Mastering DAX and is essential for writing fast DAX code. DAX (or at least Power Pivot in Excel) is a bit sensitive; it doesn't take much for DAX code to run slowly and have you wondering how to make it faster.

  • Paulo Rocha (Mar 12, 2020)

    Very important to learn the concepts of Formula Engine and Store Engine and understand how Vertipaq works. The course is helping me to think optimization every step of the way. Thanks again to Maestros Alberto and Marco for being the guiding stars of the Power BI Community.

  • Luisa Canelas (Dec 23, 2019)

    Excellent workshop! Thanks a lot!

  • Stefan Feldmann (Nov 1, 2019)

    Dear Alberto and Marco. Many thanks for this course, which exceeded my expectations. Especially the introduction to the correct understanding of FE, SE, Query Plan etc. has widened the horizon in the way reports will be analyzed and developed in the future. Now I am happy to go into practice with all this information and to collect and exchange experiences with it. Thanks, Stefan

  • cosmin ioan (Jul 29, 2019)

    The best course anywhere on the market, bar none, taught by the leading experts in the field! Many thanks, Marco, Alberto, for the great course, excellent format and appropriate presentation and mix of demos and exercises! Cos

  • Yadhuram MC (Mar 2, 2019)

    Easy to follow and very specific

  • Yadhuram MC (Mar 2, 2019)

    Very easy to follow

  • Georgi Petkov (Jan 20, 2019)

    Great content and teaching techniques!

  • Alejandro Cabanchik (Dec 6, 2018)

    Excellent, I have all your books (from "Expert Cube Development ...", and had learned to optimize DAX in an empirical way, but without discussing or exchanging with others, the video helped me to develop a more orderly method, even to be able to transmit effectively to others, thank you very much, with the hope that some day you will do some activity in Argentina !!!

  • Michael Girvin (Sep 7, 2017)

    Thank you so much for presenting this class. I have learned a lot!

Would you prefer a classroom course?

This video course is based on a classroom course we teach all around the world. If you prefer a classroom learning experience, take a look at the dates below for a list of our upcoming classroom courses!
Sorry, there are no classroom courses scheduled at this time.