Intensive Data Modeling for Microsoft Power BI Creators

RM3,500.00 RM3,710.00 (after 6% SST)

Course Duration: 3 Days
Language: English



Data Modeling is one of the features used to connect multiple data sources in BI tool using a relationship. A relationship defines how data sources are connected with each other and you can create interesting data visualizations on multiple data sources.

With the data modeling for Microsoft Power BI feature, you can build custom calculations on the existing tables and these columns can be directly presented into Power BI visualizations. This allows businesses to define new metrics and to perform custom calculations for those metrics.

This intensive Power BI data modeling workshop is a complete course about building the most optimal data models for your Power BI reports. It introduces the audience to the basic techniques of shaping data models in Power BI. It offers many real-world examples that will help you look at your reports in a different way – pretty much like experienced data modelers do.


After completing this course, students will be able to:

  • Learn the vast techniques of shaping and building a correct data model to be used in Power BI.
  • Understand the common challenges and mistakes that people have in creating a data model.
  • Learn the most optimum way of building a sustainable data model for Power BI reports.


Attendees preferably have a basic knowledge of data modeling in Power Pivot for Excel, or Power BI Desktop, or Analysis Services Tabular modeling. If such knowledge is absent, it is also a great eye- opener for these attendees to gain an insight to the world of data modeling.



Course Outline

Module 1 : Introduction to data Modeling

  • What is Data Modeling?
  • Analytical limits
  • Increasing the analytical power
  • Introducing the facets of data modeling
  • Leveraging the data model
  • Normalization and denormalization
  • Facts and dimensions
  • Introducing star schemas
  • Chains of relationships
  • How many dimensions?
  • Why data modeling is useful?
    Lab 01 – Basic data modeling

Module 2 : Header/Detail Tables

  • Introduction to header / detail schemas
  • Bidirectional filtering is not the way!
  • Denormalizing the discount
  • Back to star schema
    Lab 02 – Header / detail

Module 3 : 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 03 – Multiple fact tables

Module 4 : Working with Date and Time

  • Date attributes in the fact table
  • Building a date dimension
  • CALENDARAUTO function
  • The model with a date dimension
  • 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 in the model
  • Non-overlapping special periods
  • Overlapping period measure
    Lab 04 – Working with date and time

Module 5  : Tracking Historical Attributes

  • Attributes change over time
  • Handling variations over time
  • Slowly changing attributes or dimensions
  • Rapidly changing dimensions
  • Attributes in the fact table

Module 6 : Using Snapshot Tables

  • What is a snapshot table?
  • Sales versus inventory in the same model
  • Non-additive measures
  • LASTDATE function does not work here!
  • Optimizing performance
  • Snapshots and granularity
  • Transition matrix
  • Parameter tables
    Lab 05 – Snapshots

Module 7 : 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
  • Open orders in a snapshot table
  • Events with different durations
  • Daily salary in DAX
  • Precompute the values
    Lab 06 – Date and time intervals

Module 8 : Many-To-Many Relationships

  • What are many-to-many relationships?
  • Possible solutions to this complex scenario
  • Bidirectional filtering
  • Using CROSSFILTER function
  • Using expanded table filtering
  • CROSSFILTER versus expanded tables
  • Understanding non-additivity
  • Cascading many-to-many
    Lab 07 – Many-to-many relationships

Module 9 : 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
  • Using the correct column to slice
  • Leveraging relationships
  • Checking granularity in the report
  • Hiding or reallocating?
    Lab 08 – Granularity

Module 10 : Segmentation Data Models

  • What are segmentation models?
  • Static segmentation
  • Dynamic segmentation
  • ABC and Pareto analysis

Module 11 : 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