Data Modeling for Power BI Video Course

Data modeling is a required skill to get the most out of Power BI, Power Pivot for Excel, and Analysis Services. This video course is aimed at users of Power BI Desktop or Power Pivot for Excel, and at Analysis Services developers who want to learn how to build the optimal data model for their reporting needs.

The goal of the video course is to teach through examples of increasing complexity how to solve business scenarios by adapting the data model, so that the required DAX code becomes easier, faster and more robust. All the demos and the exercises are based on Power BI examples. However, the very same concepts can be applied to Power Pivot and Analysis Services Tabular.

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 any time and the system will keep track of your progress. Within the video 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.


  • Presentation of Data Modeling for Power BI

    • Presentation of Data Modeling for Power BI
  • Exercises, slides, and demos

    • How to download and complete exercises
    • Exercises download
    • Demos download
    • Slides of the video course
    • SQL Server Contoso DW database
  • Introduction to data modeling

    • Introduction to data modeling
    • Introduction
    • Analytical limits
    • Increasing the analytical power
    • Introducing the data model
    • Leveraging the data model
    • Normalization and denormalization
    • Facts and dimensions
    • Introducing star schemas
    • If you don't have a star schema
    • Chains of relationships
    • How many dimensions?
    • Why data modeling is useful
    • LAB number 1
  • Header / detail tables

    • Header / detail tables
    • Introducing header / detail schemas
    • Bidirectional filtering is not the way to go
    • Header / detail
    • Denormalizing the discount
    • Back to a star schema
    • LAB number 2
  • Multiple fact tables

    • Multiple fact tables
    • Using multiple fact tables
    • Moving filters with DAX
    • Building a star schema
    • How to properly use multiple fact tables, if present
    • Trying bidirectional filtering
    • Model ambiguity
    • Solving ambiguity
    • LAB number 3
  • Working with date and time

    • Working with date and time
    • Date attributes in the fact table
    • Building a date dimension
    • The model with a date dimension
    • Automatic date grouping in Excel and Power BI
    • Automatic date grouping in Power BI
    • Quick calculations in Power BI Desktop
    • Disable automatic date columns
    • Handling multiple dates
    • Multiple date tables
    • Multiple date tables with multiple fact tables
    • Multiple relationships with date
    • Handling date and time
    • Computing with working days
    • Create a holidays table (one country)
    • Create a holidays table (multiple countries)
    • Weekends are not always the same
    • Handling special periods of the year
    • Non-overlapping periods: the model
    • Non-overlapping special periods
    • Overlapping special periods
    • Overlapping period measure
    • LAB number 4
  • Tracking historical attributes

    • Tracking historical attributes
    • Attributes change over time
    • Handling variations over time
    • Slowly changing attributes or dimensions?
    • Rapidly changing dimensions
    • Attributes in the fact table
  • Using snapshots

    • Using snapshots
    • What is a snapshot?
    • Sales versus inventory in the same model
    • Non-additive measures
    • LASTDATE does not work here
    • Optimizing performance
    • Snapshots and granularity
    • Transition matrix
    • Parameter table
    • LAB number 5
  • Analyzing date and time intervals

    • Analyzing date and time intervals
    • What are intervals?
    • Solving with DAX... too complex!
    • Changing granularity
    • Split hours AND amount!
    • Analyzing active events
    • Open orders: the starting model
    • Open orders with DAX
    • Changing the model
    • Open orders is a snapshot table
    • Events with different durations
    • Daily Salary (DAX)
    • Precompute the values
    • LAB number 6
  • Many-to-many relationships

    • Many-to-many relationships
    • What are many-to-many relationships?
    • Possible solutions to the scenario
    • Bidirectional filtering
    • Using expanded table filtering
    • CROSSFILTER versus expanded tables
    • Understanding non-additivity
    • Cascading many-to-many
    • LAB number 7
  • Working with different granularities

    • Working with different granularities
    • Dimensions define granularity
    • Analyzing budget data
    • Reduce granularity on all the tables
    • Using DAX to move the filters
    • Filtering through relationships
    • Use the correct column to slice
    • Leveraging relationships
    • Checking granularity in the report
    • Hiding or reallocating?
    • LAB number 8
  • Segmentation data models

    • Segmentation data models
    • Segmentation models
    • Static segmentation
    • Static segmentation: the formula
    • Dynamic segmentation
    • Dynamic segmentation: the formula
    • ABC and Pareto analysis
  • Working with multiple currencies

    • Working with multiple currencies
    • Using multiple currencies
    • Beware of simple calculations
    • Multiple sources, one reporting currency
    • Conversion with a calculated column
    • Single source, multiple reporting currencies
    • What the formula should perform
    • Multiple sources, multiple reporting currencies

Training Platform

This course is conducted through our training platform which is immersive and designed to facilitate your experience.

Discover all the features

Student Rating
78 ratings
Student Reviews (52)
  • Anna Kolbasova (Nov 15, 2020)

    Thank you so much for the course!!! I've learned many useful scenarios that I will definitely check in practice. When I complete "Mastering DAX", which is my next course, I'm going to return to some complex topics from "Data Modeling" course to get a better understanding of DAX formulas.

  • Rafał Sromek (Nov 12, 2020)

    Great course in DAX. Too bad that it lacks explanation of Power Query Editor and M.

  • Dirk Martinschledde (Nov 3, 2020)

    Very good course for data modeling in Power BI with many practical examples. Keep it up!

  • Laurence Gerard (Nov 1, 2020)

    Very thorough course. I have a much better understanding now of data modeling.

  • Irshad Kuttoor Illam (Sep 16, 2020)

    Nice.. I have to go back to each Lectures in detail again to achieve my goals. Thank you Marco Russo & Alberto Ferrari for your incredible efforts.

  • Klaus Trampedach (Sep 12, 2020)

    Very good course if you want to understand the importance of having the right data model. This makes your DAX-life so much easier! :)

  • Jorge Daniel (Aug 28, 2020)

    This is my second course with you and I learned a lot from this one as well. To me Alberto and Marco, are like the Francesco Totti and Roberto Baggio of DAX :)

  • Ian Ross (Aug 20, 2020)

    Excellent. I learnt a lot on first view but I suspect I could watch these videos two or three times and pick up something else each time.

  • Stefaan Louette (Aug 17, 2020)

    Clear and professional training. Thanks for the insights. Ready to take on the other courses.

  • Vyacheslav Ilnytskyy (Aug 8, 2020)

    Great course. I really enjoyed it and found plenty of things to implement or change for my situations. But I think this course as well as book (it's great that you can do both book and course in parallel) are missing the particular solutions. Meaning, it would make much more sense to include the M reference the same way it is done for the DAX course and The Definitive Guide to DAX book. Because as it is said many times in the course "Here is a DAX code, but it's the worst option - better use M or source". But there is no M in this book... This is also the reason, why I've stopped doing labs after 5th task - I don't know functions. I can't solve Labs without copying result from the Solution. And it doesn't make any sense to do it that way. So, I decided to come back to them after DAX course. Anyway, I think the best would either to add M reference, or add separate M course. Otherwise, thank you for this wonderful course. It definitely worth its money.

    • You made very good points, thanks for the feedback. The goal of the Data Modeling class is to make people aware of the data modeling requirements. However, there are many ways to transform the data: - Using SQL - Using specific ETL software (SSIS, Azure Data Factory, Informatica, ...) - Using Power Query - Asking for specific datasets to the IT Many Power BI users fall in the last bucket: they can spend time learning and using Power Query (which required a completely separate course, which we do not have), but we also have seen that many users can simply forward the requirements to their IT once they understand what to ask. For this reason, we designed the training in order to provide the information required to understand what is the proper data model required to solve a business problem. This particular topic is not covered in training about specific tools to transform data, and it is the real goal of this course. We probably have to better clarify this goal in the course description to set the right expectations. Thanks again for your useful feedback!
      Reply by SQLBI (Aug 8, 2020)
  • Alessandra van de Nes (Aug 7, 2020)

    Very well done video course. I found it particularly useful in understanding the errors I can incur in when building my data model and how to structure it in a proper way. Some of the subtitles are wrong, maybe to be reviewed.

  • Nicolai Wulff Boldsen (Jul 30, 2020)

    Very pleased with the course! To the point with the concepts and hands on. Working as a Junior BI-Professional i often encounter those issues and this course showed how to 1. Think about the problem in a stuctured manner, and 2. How to solve the issue with different techniques. Honestly the best spend money i have spent on educational purposes! Well done Marco and Alberto!

  • Raúl Vinuesa Arjona (Jul 25, 2020)

    Amazing course! I have learned a lot during this time.

  • Barnabas Toth (Jul 17, 2020)

    Great course! Recommend it!

  • Neeraj Pokhrel (Jun 19, 2020)

    Excellent course to understand the main feature on Power BI.Learnt a lot regarding datamodeling concept more in detail. the only setback for me was wish i had done the DAX course first however both of you helped me understand the DAx used and was easy for me go through on this. i would like to have a DM based on cubes too

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!
 New York City, NY, US Feb 3-5, 2021
New York City
 Sydney, NSW, AU Feb 17-19, 2021