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.

Collapse allCurriculum

  • 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
Student Rating
102 ratings
Student Reviews (63)
  • Dan Meissner (Sep 14, 2021)

    Marco and Alberto are excellent instructors. They have the ability not only to teach you new topics, but I found that the way they walk through the material also allowed me to put into context that knowledge I already had on Data Modeling. I can't recommend the class enough.

  • Paulo Ferreira (Jul 10, 2021)

    Fantastic! Very detailed and all the explanations were very complete.

  • Erick Munoz (Jun 4, 2021)

    Hey guys, I like the course, but I feel letdown. I'm not exactly a newbie but there are a lot of technicalities I wish were explained at some point or at least referred. I get that this is not a DAX course (I have already bought other courses in order to grasp more) but things like filter context, ambiguity, Iterations, explanation of Calculate(values[]) and other hardcore combinations of dax are barely touched and regularly used. I have found some answers on your own Youtube account and that's seems to indicate that you are aware of this gap between what people like me (basic users) are trying to grasp. Basically I'm giving you the benefit-of-the-doubt rating that everything will come together with your other courses.

  • Andres Cuñarro (Jun 3, 2021)

    Great course! It's good to have this reference to come back while getting field experience.

  • Jackson Lu (May 26, 2021)

    Well guided, mentored and have fun to keep in mind that a good modelling is so important before writing DAX.

  • alisa gerkena (May 14, 2021)

    great course, thank you!

  • Carlos Gonzalez Seco (May 7, 2021)

    The course is not simply easy to follow, due to continous explanations and relationships that are referring to something else we cannot see. More hours should have been dedicated to basic level, to reinforce the important concepts. Too condensated, at least double of hours minimum would be required for the course, splited up into more basic examples. Too many concepts and complexity on a few hours. It is mentioned that DAX is not requirement, but finally it shows up everywhere, being really complex/impossible for beginners.

  • Elizabeth Nachmin (Feb 18, 2021)

    Great content and explained very well. Recommend this course for every PowerBI developer. Thanks a lot

  • Kristof Sender (Jan 7, 2021)

    It was sold to us by mention you don't need to have any expirience in advance. this is not correct. the course speed is just to fast to understand and deploy the topics. unfortunatly this has been a waste of time so far. I would recommend you need to have at least to teach the basics first!

    • As discussed, the Data Modeling course is not a beginner course and we do not promote it as a beginner course. We always encourage students to follow the learning path we have designed. It is a good idea to start with the two free introductory courses, to then fully benefit from the Data Modeling course.
      Reply by Claire Costa (Jan 12, 2021)
  • Luis J Azuaje (Dec 31, 2020)

    Great course specially the currency and the budget modules insights.

  • Rich Brown (Dec 30, 2020)

    A little too advanced for me. I will need to review the introduction course, then go back through this one.

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

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 Nov 30-Dec 2, 2021
 New York City, NY, US Mar 15-17, 2022
New York City
 Sydney, NSW, AU May 11-13, 2022