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
    • Additional material
    • 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
205 ratings
Student Reviews (104)
  • Bhaskaran Kannappan (Jun 6, 2023)

    finw super

  • Yves Brusten (May 28, 2023)

    This is a very nice course : clear, well-paced, eyes-opening, nicely teached and with simple yet powerful examples. I loved it.... Now time to practice :-) Yves

  • Daniel Anastacio (Apr 17, 2023)

    Data Modeling for Power BI has definitely been a great investment in my development as a Power BI Developer. Many of the concepts that I have struggled to understand have come to light with this course, one example being the RELATED and RELATED table functions. Thank you for that. However, I would be lying if I said that I completely understand the problem solving techniques of every single DAX expression provided as examples here in this course. Although I took the time to dissect each DAX formula shown, there were a handful I was not able to grasp on my own. I believe a bit more research and a little more exposure will finally give me the know-how to master not only DAX but also Data Modeling.

  • João Campelo Ribeiro (Mar 17, 2023)

    5 Stars. The course is very well structured and the clarity of Marco and Alberto is unparalelled, also and not less important the support from Sergio in the Q&A is also fantastic. I believe the course is more targeted to beginners and intermediates although anyone can benefit from the knowledge. It would be great to add in the future modeling scenarios with dynamic row level security.

  • Michael Sampsonidis (Feb 17, 2023)

    Great course! I came back to the basics of Power BI even by having some years of experience and still found that very insightful and well guided examples!

  • Torge Wieling (Jan 13, 2023)

    Nice Course :)

  • rogers.mendonca (Jan 5, 2023)

    In the lecture "Why data modeling is useful", it was mentioned that "data modeling is a technique over 60 years of age... learn from the masters and then apply the technique." This was a great preview of the course. In the +10 hours of objective and clear explanations, I've learned from the masters extremely useful patterns that now I will be able to apply to create simpler and fast data models in Power BI. Thanks a lot.

  • Nikola Hajdukovic (Dec 30, 2022)

    Real-world examples. Useful labs. 5* from me :)

  • Jamil Hamed (Dec 27, 2022)

    This course needs to be updated. In addition, the format of this course does not lend itself well for online learning. Finally, it is ridiculous to pay $300 for a course with an expiration date for access. All online courses allow you full access to a completed course, with no expiration. I am a fan of the instructors and they are truly DAX gurus. But this course is mediocre.

  • Ioana Axente (Nov 24, 2022)

    Very useful and well structured

  • Amal Mandal (Nov 2, 2022)

    Excellent!! So simple explanation for such many complex transactional analysis. I have your book also and it has given more meaning.

  • Juan Naya (Oct 15, 2022)

    Great course and material. I haver learned a lot!! Thanks Marco and Alberto!!!

  • Peter Nguyen (Oct 15, 2022)

    Very helpful

  • Farhan Mailk (Sep 4, 2022)


  • Troels Leth Petersen (Aug 2, 2022)

    A rolemodel for datamodelling

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 Jul 2-4, 2024
 Vancouver, BC, CA Sep 23-25, 2024
 Amsterdam, NL Dec 10-12, 2024