This workshop is a complete video course about the DAX language. 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 course is made of more than 15 hours of lectures, and other 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
133 ratings
88%
11%
0%
1%
0%
5-star Reviews (74 of 85)
  • Floris Lemkes (Mar 20, 2020)

    Very nice and helpful!

  • Santosh Raghunath (Mar 13, 2020)

    Marco and Alberto, I want to thank you both for such a wonderful course. I completed the first one and updating myself with this one also. I could clear the Microsoft certification for Power BI. Thank you so much. You guys are amazing. I truly recommend this course to all Power BI users.

  • andre meyer (Mar 4, 2020)

    Thank you Marco and Alberto, this course is obviously the best around, for the content, of course, but I also very much enjoy the 2-person animation and the large number of exercises (from an instructional design point of view, a very well-built course).

  • Sira Ekabut (Feb 16, 2020)

    i get additional insights every time i watch this course

  • Hypatia Rojas (Feb 12, 2020)

    Excellent work

  • Doru Imbroane (Feb 9, 2020)

    Excellent! Any other adjective would not describe the quality of this course. I would suggest nevertheless that you introduce "exam"-like exercises (that are not joined by solutions) and are graded. This indeed will guarantee an in-depth knowledge of the material covered.

    • Thanks for the suggestion! While we prioritize the production of content and tools for learning, certification is a process that is not currently in our goals. We do have a self-assessment exam to review pre-requisites for Optimizing DAX (did you try it?) and we would like to extend that approach further, rather than provide a certification assessment. We will consider your and others' feedback in our future plans!
      Reply by SQLBI (Feb 10, 2020)
  • Abhijith DSouza (Feb 4, 2020)

    Fantastic course by Marco and Alberto covering all aspects of DAX and complex Power BI models. The best part of the course is that they not only teach you what is best practice but also tell you what not to do and why you shouldnt it as well. Highly recommend if you want to master DAX.

  • Alexander Feygin (Jan 24, 2020)

    Definetely this's the example of how on-line video course shoud be made. It's up-to-date, includes professianally made support materials (demo files, slides, exercise book), covers deep theoretical nuances of dax logic (which is the foudation of your ability to write and uderstand how code works). At the same time, there's a huge amount of sophisticated exercises (especially advanced section) that helps you to get practical skills. Also, thanks a lot for your blog and tools like dax formatter. Your blog posts should become the next step in learning all the technics and nuances of dax language and proper data modeling.

  • Andy Stepas (Jan 21, 2020)

    I love this video course!. Excellent and simple explanations of the most used DAX functions and are available at any time you need them. Thanks Marco and Alberto, keep going doing with this kind of courses.

  • Swapnil Sangle (Dec 26, 2019)

    Hi Marco , Alberto. The course is absolutely amazing. After going through this course, I bought your "Data Modelling" course. Great content, excellent delivery. Just one suggestion, Is it possible to provide a data or data source from a different industry may be IT, along with list of exercises to solve. This can act as a project and also help us to test our understanding. Thanks, Swapnil

    • The reason why we use always the same sample data (Contoso) is because this allows the reader to focus on the exercise/module topics rather than the details of the implementation. This is especially true for the DAX course. For Data Modeling we already introduced different data models in order to present and to solve specific modeling problems. However, in those cases the amount of data included is very limited. The reason is that sample data must satisfy a number of requirements and not create any issue related to privacy, NDA, and advertising. The Contoso sample database is a huge investment that Microsoft made 10-15 years ago. In such a database, all the names have been cleared for publishing. Similar investments are certainly not possible for a single video course. Therefore, while we agree that adding specific industry-related models would be very useful, it is unlikely to happen - at least considering a data model populated with reasonable data, like Contoso and Adventure Works.
      Reply by SQLBI (Dec 26, 2019)
  • Andy Stepas (Dec 1, 2019)

    I love this course!. Excellent explanation of DAX functions and I can review every time I need to remember some function. Thanks Marco and Alberto for dedicating your time doing this course paying attention to every detail.

  • Fabio Verga (Nov 19, 2019)

    Great Course. Very interesting and with lots of useful examples

  • Genadiy Tsvetkov (Nov 18, 2019)

    Outstanding! an incredibly full and thorough course. Thanks Marco and Alberto for creating such a valuable product for those who seek to expand knowledge in DAX.

  • Udit Kumar Chatterjee (Nov 8, 2019)

    The best platform to learn and implement DAX. Thanks for all the awesome videos.

  • STANISLAV GODIN (Nov 5, 2019)

    This is very good class and is very involved. I will have to re-watch some of the parts of the class and re-do the exercises. The main problem with DAX for anyone who is coming from T-SQL experience is that the principles to query the data are very different. You need to reconfigure your brain.

Do you prefer a course in classroom?

This video course is based on a live, classroom course we teach all around the world. If you prefer a live learning experience, take a look at the dates below for a list of our upcoming events!
 Amsterdam, NL May 12-14, 2020
Amsterdam
 Amsterdam, NL Jun 23-25, 2020
Amsterdam
 New York, NY, US Jun 29-Jul 1, 2020
New York
 Melbourne, VIC, AU Jul 27-29, 2020
Melbourne
 Sydney, NSW, AU Aug 3-5, 2020
Sydney
 Oslo, NO Sep 1-3, 2020
Oslo
 Munich (München), DE Sep 7-9, 2020
Munich
 Charlotte, NC, US Sep 16-18, 2020
Charlotte
 Chicago, IL, US Oct 14-16, 2020
Chicago
 Calgary, AB, CA Oct 19-21, 2020
Calgary