Mastering DAX Video Course

This is the video course version of the Mastering DAX workshop.
DAX is the native language of Power BI, Power Pivot for Excel, and SSAS Tabular models in Microsoft SQL Server Analysis Services. The training is aimed at users of Power BI, Power Pivot for Excel, and at Analysis Services developers that want to learn and master the DAX language.

The goal of the course is to teach all the features of DAX, providing the knowledge to write formulas for common and advanced business scenarios. The video course is made up of over 15 hours of lectures, plus another 15-20 hours of individual exercises. You can watch the videos at anytime and the system will keep track of your progress. Within the course you can download the material for all the exercises.

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

Collapse allCurriculum

  • Presentation of Mastering DAX 2nd Edition

    • Presentation of Mastering DAX 2nd Edition
      FREE
  • Exercises, labs, slides, and demos

    • Exercises, labs, slides, and demos
      FREE
    • How to download and complete exercises
      FREE
    • Download exercises
    • Download demos
    • Slides of the video course
  • Introduction to DAX

    • Introduction to DAX
      FREE
    • What is DAX?
      FREE
    • DAX data types
      FREE
    • Calculated columns
      FREE
    • Measures
      FREE
    • Aggregation functions
    • Counting values
    • Conditional functions
    • Handling errors
    • Using variables
    • Mathematical functions
    • Relational functions
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 02.10 - Average sales per customer
      • 02.20 - Average delivery time
      • 02.50 - Last update of customer
      • 02.40 - Working days
      • 02.30 - Discount categories
  • Table functions

    • Table functions
      FREE
    • Introduction to table functions
    • Filtering a table
    • Ignoring filters
    • Mixing filters
    • Distinct
    • How many values for a column
    • ALLSELECTED
    • RELATEDTABLE
    • Tables and relationships
    • Tables with one row and one column
    • Table variables
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 03.20 - Percentage of sales
      • 03.10 - Delivery working days
      • 03.40 - Sales of products in the first week
      • 03.30 - Customers with children
  • Evaluation contexts

    • Evaluation contexts
      FREE
    • Introduction to evaluation contexts
    • Filter context
    • Row context
    • Context errors
    • Filtering a table
    • Using RELATED in a row context
    • Ranking by price
    • Evaluation contexts and relationships
    • Filters and relationships
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 04.10 - Nested iterators
      • 04.20 - Customers in North America
      • 05.10 - Create a parameter table
  • The CALCULATE function

    • The CALCULATE function
      FREE
    • CALCULATE
    • CALCULATE examples
    • CALCULATE recap
    • What is a filter context?
    • KEEPFILTERS
    • CALCULATE operators
    • Use one column only in compact syntax
    • Variables and evaluation contexts
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 05.05 - Sales of red and blue products
      • 05.20 - Understanding CALCULATE
      • 05.25 - Sales of blue products
      • 05.15 - Computing percentages
  • Advanced evaluation contexts

    • Advanced evaluation contexts
      FREE
    • CALCULATE modifiers
    • USERELATIONSHIP
    • CROSSFILTER
    • ALL
    • ALLSELECTED
    • KEEPFILTERS
      FREE
    • Context transition
    • Context transition /2
    • Circular dependency
    • CALCULATE execution order
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 05.35 - Correct sales of grey products
      • 05.40 - Best customers
      • 05.45 - Customers buying many products
      • 05.50 - Large sales
      • 05.30 - Percentage of customers
      • 05.55 - Counting spikes
  • Iterators

    • Iterators
      FREE
    • Working with iterators
    • MINX and MAXX
    • Useful iterators
    • RANKX
    • ISINSCOPE
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 07.10 - Ranking customers (static)
      • 07.20 - Ranking customers (dynamic)
      • 07.30 - Date with the highest sales
      • 07.40 - Moving average
  • Building a date table

    • Building a date table
      FREE
    • Introduction to date table
    • Auto Date/Time
    • CALENDARAUTO
    • Mark as date table
    • Using multiple dates
  • Time intelligence in DAX

    • Time intelligence in DAX
      FREE
    • What is time intelligence?
      FREE
    • Time intelligence functions
      FREE
    • DATEADD
    • DATESINPERIOD
    • Running total
    • Mixing time intelligence functions
    • Semi-additive measures
    • Calculations over weeks
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 08.10 - Running total
      • 08.20 - Comparison YOY%
      • 08.30 - Sales in first three months
      • 08.40 - Semi-additive calculations
  • Hierarchies in DAX

    • Hierarchies in DAX
      FREE
    • What are hierarchies?
    • FILTER and CROSSFILTER
    • Percentages over hierarchies
    • Parent-child hierarchies
  • Querying with DAX

    • Querying with DAX
      FREE
    • Working with tables and queries
    • EVALUATE
    • CALCULATETABLE
    • SELECTCOLUMNS
    • SUMMARIZE
    • SUMMARIZECOLUMNS
    • CROSSJOIN
    • TOPN and GENERATE
    • ROW and DATATABLE
    • Tables and relationships
    • UNION, INTERSECT, and EXCEPT
    • GROUPBY
    • Query measures
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 13.10 - Sales by year
      • 13.20 - Filtering and grouping sales
      • 13.30 - Using TOPN and GENERATE
      • 13.40 - Sales to top customers
      • 13.50 - Sales of top three colors
  • Data lineage and TREATAS

    • Data lineage and TREATAS
      FREE
    • What is data lineage?
    • TREATAS
  • Expanded tables

    • Expanded tables
      FREE
    • Filters are tables
    • Difference between base tables and expanded tables
    • Filtering a column
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 14.10 - Distinct count of countries
      • 14.20 - Sales quantity greater than two
  • Arbitrarily shaped filters

    • Arbitrarily shaped filters
      FREE
    • What are arbitrarily shaped filters?
    • Example of an arbitrarily shaped filter
  • ALLSELECTED and shadow filter contexts

    • ALLSELECTED and shadow filter contexts
      FREE
    • ALLSELECTED
    • Shadow filter contexts
  • Segmentation

    • Segmentation
      FREE
    • Static segmentation
    • Circular dependency in calculated tables
    • Dynamic segmentation
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 15.10 - Static segmentation
  • Many-to-many relationships

    • Many-to-many relationships
      FREE
    • How to handle many-to-many relationships
    • Bidirectional filtering
    • Expanded table filtering
    • Comparison of the different techniques
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 15.30 - Many-to-many relationships
  • Ambiguity and bidirectional filters

    • Ambiguity and bidirectional filters
      FREE
    • Understanding ambiguity
      FREE
  • Relationships at different granularities

    • Relationships at different granularities
      FREE
    • Working at different granularity
    • Using TREATAS
    • Calculated tables to slice dimensions
    • Leveraging weak relationships
    • Scenario recap
    • Checking granularity in the report
    • Hiding or reallocating
  • Additional exercises

    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 14.30 - Same product sales
      • 14.40 - Commentary on report
      • 15.20 - New customers
  • Calculation groups

    • Calculation groups
      FREE
    • Introducing calculation groups
      FREE
    • Basic measures
    • Calculation items are patterns
    • Creating calculation groups
    • Changing the format string
    • Excluding specific measures
    • Using calculation items in DAX
    • Calculation item application
    • Calculation items on complex expressions
    • Multiple calculation groups in a report
    • Understanding precedence in calculation groups
    • Reusing calculation items
    • Recursion and best practices
    • Exercises
      FREE
    • Exercises solutions
      Added Nov 20, 2020

      • Exercises solutions
      • 09.10 - Time calculations
      • 09.20 - Multiple calculation groups
      • 09.30 - Sold versus delivered
      • 09.40 - Min, Max and Avg calculation group
      • 09.50 - Top and bottom products
Student Rating
4.9
586 ratings
Student Reviews (313)
  • Darren Toal (Dec 20, 2024)

    The course made complex concepts feel approachable and easy to understand. Each lesson is well organized and with practical examples that helped me quickly apply what I learned. I feel confident in my DAX skills and use them in my real-world BI projects.

  • Ivan Zhelyazkov (Dec 17, 2024)

    Excellent course!

  • Rafael Davicino (Nov 30, 2024)

    Meraviglioso!!

  • Luis Arencibia Quintana (Nov 28, 2024)

    superb

  • Elizabeth Nachmin (Nov 28, 2024)

    Thank You

  • Daniel Ciunha (Nov 12, 2024)

    Great course!

  • Palash Tripathi (Nov 12, 2024)

    Great content! thanks!

  • Håkan Wikenstål (Oct 8, 2024)

    The knowledge and enthusiasm of Marco and Alberto around DAX is really impressive :) Due to the complexity and difference of DAX compared to other ways of coding and syntaxes, I found some of the lectures quite hard to follow. Maybe it could be good in some looooong chapters to have exercises spread out inside a chapter instead of only in the end. I don't feel as a Master of DAX, but at least I know a lot more know about what is possible (and not possible) to do :)

  • Alastair McIntosh (Oct 7, 2024)

    Thank you ever so much, Alberto and Marco, I aspire to be like you gentlemen.

  • Bruna Fernandes da Fonseca (Oct 5, 2024)

    Loved it! Organized, resourceful, detailed, well articulated, with good exercises!

  • Francis Larin (Sep 27, 2024)

    Superbe formation pour son contenu et l'interface utilisateur. Je recommande fortement !

  • Alastair McIntosh (Sep 25, 2024)

    Brilliant course! Thank you so much Alberto and Marco, for sharing your intimate knowledge so effectively. You guys are my inspiration!

  • Matthias Giger (Sep 24, 2024)

    This course goes very deep, and I might have to do it again, but it also serves as a library. It does a great job of showing some of the more and some of the less common obstacles one could face working full speed with DAX.

  • Thomas Grieb (Aug 12, 2024)

    The course covered all important aspects of DAX. However, I am a bit disappointed about the teaching qualities of the lecturers. Many concepts are described only verbally instead of using adequate graphs and sketches to help understand what is being explained. For example in section "Example of an arbitrarily shaped filter", there is a difficult concept mostly verbally explained from time stamp 3:45 onward. The lecturer then goes on to explain while there are two rows in the left hand table, there should actually be four. The months columns are filtered by the other filter but, at the end, there are still iterations going over four months. All of this is quite confusing and it would have helped to use a concrecte example with simple numbers in outlining what the lecturer has explained. There are many more of these example which I find unfortunate.

  • Nicolas Demers (Aug 4, 2024)

    Very good, well organized and complete coverage of DAX formula expression language. I loved the way information and material was disseminated. I enjoyed greatly the addition of exercise videos. I also appreciated when you shared new tools like the DAXstudio.org. Finnally, Alberto & Marco, despite your great level of mastery (DAX Jedi) you were able to transfer your knowlege and experience in an easy and accessible manner for your little DAX Padawan! KUDO for this great video course.

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!
 Amsterdam, NL Feb 11-13, 2025
Amsterdam
 Phoenix (Tempe), AZ, US Feb 18-20, 2025
Phoenix
 Dallas, TX, US Feb 24-26, 2025
Dallas