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 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.

Curriculum

  • Presentation of Mastering DAX 2nd Edition

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

    • How to download and complete exercises
      FREE
    • Download demos
    • Download exercises
    • 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
  • 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
  • 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
  • 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
  • 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
  • Iterators

    • Iterators
      FREE
    • Working with iterators
    • MINX and MAXX
    • Useful iterators
    • RANKX
    • ISINSCOPE
    • Exercises
      FREE
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
Student Rating
4.9
154 ratings
89%
10%
0%
1%
0%
4-star Reviews (10 of 100)
  • John Nickell (May 16, 2020)

    I think it's been a good course, and that Marco and Alberto do a great job explaining DAX. I'm still not fluent, but feel slightly better equipped to go forward.

  • Udit Kumar Chatterjee (May 7, 2020)

    The courses are indeed the masterpiece and excellent but, please fix the site. Its very slow and works poorly if the internet speed is little low. Fix the site please, this is the only demerit I find and that's why rating this 4 star but, again the courses are excellent and so as the instructors.

    • Please, can you provide more details about your issues? Most of the time that a user experiences a problem with the videos, it is because of a firewall or an antivirus that slows down the connection. You can lower the resolution of the video to reduce bandwidth consumption if your internet connection is slow. If you experienced other issues, please clarify so we can investigate. Thanks for your feedback!
      Reply by SQLBI (May 8, 2020)
  • Ryan Park (Jan 15, 2020)

    This course is the most comprehensive course I could find regarding DAX. Here a couple of opinions. There only needs to be 1 instructor per section and the instructor does not need to be in the video. It would be nice to see the slides and the computer screen without the instructor obstructing the view. You would also benefit from not having to rely on the other instructor to fit the screen or go back to a function, etc. It feels like you are stepping over each other a lot. I feel like you are trying to make the questions seem natural but it doesn't work. Outside of that. Excellent course.

  • Alison Sissins (Nov 1, 2019)

    Very thorough in depth course. It can be confusing with all the scenarios and solutions but this is what it's like using DAX for real.

  • CAROLINE NDUTA (Sep 5, 2019)

    I have just finished my course only to find out that I have only done 97% How do I locate the 3% not covered?

    • You should check in your course what are the lessons that are not marked as "completed" - you can change them manually (maybe the browser did not send the notification for some video you already watched).
      Reply by SQLBI (Sep 5, 2019)
  • Rodrigo Palomino (Aug 13, 2019)

    All Good!

  • Andrew Mundt (Apr 8, 2019)

    Generally, I think that the course is good. It could be improved to be excellent by adding more detail in the exercises and their solutions. For example, although most tables and pivot tables are obvious to set up, some are not. So, clear descriptions of which fields to use for the rows, columns, and values would improve the courses. In addition, explanations, perhaps in the form of comments in the DAX code, describing the rationale and logic for the solutions would be good (e.g. why something had to be done a specific way).

    • Thanks for the feedback. In a few weeks we'll release a new version of this video course (and you will get automatic access, of course), which will include a brand new set of exercises. We considered all the feedbacks we received and while we are not able to satisfy all the requests, I hope that you will enjoy the new format.
      Reply by SQLBI (Apr 8, 2019)
  • Eduardo Rocha Clemente (Oct 10, 2018)

    The course is very dense, as I expect but the many growing concepts and the hard exercises are in a level that not correspond to the video classes. Video classes are easy and in a lower level presented. Perhaps , as a suggestion you could send us videos about the exercises resolution. The forum in that case is not enough. I realized that was a "jump" between the classes and exercises. Intermediate exercises between them could be another strategy to consolidate the concepts before going direct to the complex exercises.

    • Eduardo, thanks for the feedback. Any example of intermediate exercises would be useful - we know that we have several exercises that we consider basic or intermediate, and we can imagine what you consider advanced, but a more detailed explanation would be very useful for our evaluation. Thanks!
      Reply by SQLBI (Oct 10, 2018)
  • Andres Taroco (Mar 19, 2018)

    Muy buen curso.

  • Raheel Rana (Mar 18, 2018)

    Learned a lot ...Thanks, Alberto and Marco ... you guys have made many lifes easy :)

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!
2020
 Munich (München), DE Sep 7-9, 2020
Munich
 Charlotte, NC, US Sep 16-18, 2020
Charlotte
 Amsterdam, NL Sep 22-24, 2020
Amsterdam
 Chicago, IL, US Oct 14-16, 2020
Chicago
 Calgary, AB, CA Oct 19-21, 2020
Calgary
2021
 Melbourne, VIC, AU Feb 22-24, 2021
Melbourne
 Sydney, NSW, AU Mar 1-3, 2021
Sydney