Section 1: Lab: A Good Data Model Starts with the Business Question
- Why a good model matters more than complex DAX: correctness, speed and maintainability
- Identify the business process, the grain and the numbers to report before loading data
- Work with Model view, the Properties pane and Model explorer in Power BI Desktop
- The problems that follow from loading a single flat table into Power BI
- Lab: analyse a slow report with wrong numbers and trace the causes back to the model
Section 2: Lab: Star Schema, Facts and Dimensions
- Separate fact tables from dimension tables and define a clear fact grain
- Surrogate keys, business keys and handling rows with no matching reference
- Flatten a snowflake into a star with Power Query, and where denormalising is worth it
- Several fact tables sharing conformed dimensions
- Lab: turn a flat sales table into a star schema
Section 3: Relationships: Cardinality and Filter Direction
- How one-to-many, one-to-one and many-to-many relationships differ
- Single versus both directions, and the risk of ambiguous filter paths
- Inactive relationships and activating them with USERELATIONSHIP in a measure
- CROSSFILTER and TREATAS for cases with no direct relationship
- Lab: fix wrong numbers caused by badly configured relationships
Section 4: Lab: An Organisation-wide Date Table
- Why to turn off Auto date/time and build your own date table
- Build a date table in Power Query or DAX with fiscal years and weeks
- Mark as date table, Sort by column and a year, quarter and month hierarchy
- Helper columns for working days, holidays and the Thai Buddhist year
- Lab: a date table that supports the company's fiscal year and holidays
Section 5: Lab: Role-playing Dimensions and Bridge Tables
- Order date, ship date and payment date: inactive relationships or separate dimensions
- Slowly changing dimensions Type 1 and Type 2 from a reporting point of view
- Bridge tables for many-to-many cases such as customers in several groups, compared with many-to-many relationships
- Facts at different grains, such as a monthly budget against daily sales
- Lab: compare budget with actual sales, and sales by order date with ship date