In Advanced Data Modeling in Power BI, Greg Trzeciak helps you move beyond basic star schema design and handle the modeling challenges that show up in real-world datasets. This course focuses on the “tricky parts” of modeling, scenarios that can break filters, confuse visuals, or slow performance if they’re not designed intentionally. You’ll learn how to recognize these patterns early and apply proven solutions that keep models predictable, scalable, and easy for report builders to use.
You’ll work through advanced relationship and dimension patterns with hands-on demonstrations, including bidirectional filtering, one-to-one relationships, many-to-many with bridge tables, slowly changing dimensions, and special table types like junk and degenerate dimensions. Greg also covers role-playing dimensions and multiple fact table scenarios, helping you design models that support complex business processes without turning into an unmaintainable mess. By the end, you’ll have a toolkit of advanced modeling patterns and best practices you can apply immediately in production Power BI projects.
Course Outline ( Free Preview)
Module 01 - Introduction
Greg outlines what makes “advanced” modeling different from the basics and why these patterns matter in production reports. You’ll preview the scenarios you’ll solve, relationship edge cases, special dimensions, and multi-fact designs, and learn how to think in terms of predictable filters and maintainable structure as complexity grows.
Module 02 - BiDirectional Filtering
Learn what bidirectional filtering really does and why it can be both helpful and dangerous. Greg explains how it changes filter propagation, where it solves problems, and where it causes ambiguous results or performance issues. You’ll leave with a decision framework for when to enable it and when to avoid it.
Module 03 - Bidirectional Filtering Demo10 min.
See bidirectional filtering in action with a real model. Greg demonstrates how visuals change when you flip filter direction and how to spot unintended side effects like surprising totals or unexpected interactions. You’ll also learn simple testing steps to validate whether bidirectional filtering is truly needed.
Module 04 - One-to-One Relationships3 min.
One-to-one relationships are common in messy datasets and can be a modeling red flag. Greg explains when they’re legitimate, when they indicate tables should be combined, and how they can affect performance and readability. You’ll learn how to handle 1:1 cleanly without confusing report builders.
Module 05 - One-to-One Relationships Demo6 min.
Watch Greg walk through a 1:1 scenario and show what happens in the model and visuals. You’ll see how to validate keys, decide whether to merge tables, and confirm that filtering works as expected. This demo helps make a confusing relationship type feel practical and manageable.
Module 06 - Handling Many-to-Many With Bridge Tables5 min.
Many-to-many is one of the most common advanced modeling challenges. Greg introduces bridge tables as the preferred pattern for controlling many-to-many relationships, maintaining predictability, and avoiding relationship ambiguity. You’ll learn how to design bridge tables and why they support cleaner slicing and measures.
Module 07 - Many-to-Many Demo6 min.
See the bridge-table pattern implemented in a working model. Greg demonstrates how many-to-many affects filtering, what goes wrong with naive designs, and how a bridge table restores control. You’ll learn how to validate the relationship behavior in visuals and measures.
Module 08 - Many-to-Many Demo Part 26 min.
Continue the many-to-many demo with deeper scenarios and refinements. Greg covers common complications like additional attributes, role-based filtering, or multiple bridge relationships, and shows how to keep the model understandable. You’ll learn how to stress-test many-to-many designs before they hit production.
Module 09 - Slowly Changing Dimensions12 min.
Learn what slowly changing dimensions (SCDs) are and why they matter for historical reporting. Greg explains how dimensions change over time, what business questions SCDs enable, and how to choose an approach that fits your reporting needs without creating unnecessary complexity.
Module 10 - Slowly Changing Dimensions Demo8 min.
Watch an SCD pattern implemented with a practical example. Greg demonstrates how to model “as of” history, how to connect facts to the correct version of a dimension, and what to validate so historical results remain trustworthy. This demo clarifies how SCDs impact filtering and reporting.
Module 11 - Junk Dimensions3 min.
Junk dimensions help you clean up clutter, especially when you have many small flags and low-cardinality fields. Greg explains when to group these attributes into a single junk dimension and how it improves usability and reduces noise in the model. You’ll learn how this pattern supports cleaner slicing without overbuilding dimensions.
Module 12 - Junk Dimensions Demo5 min.
See how to build a junk dimension and connect it safely into your model. Greg shows how to choose which fields belong, how to validate relationships, and how the pattern improves report building. You’ll also learn how to avoid common mistakes like creating an overly large or confusing junk dimension.
Module 13 - Degenerate Dimensions2 min.
Degenerate dimensions are identifiers that live in fact tables but still behave like “dimension” fields, such as order numbers or invoice IDs. Greg explains when to keep these in the fact table, how they affect filtering, and how to avoid turning them into unnecessary separate dimension tables.
Module 14 - Degenerate Dimensions Demo4 min.
Watch a degenerate dimension scenario in action and learn how it behaves in visuals. Greg shows how to use these identifiers for drill-through and detail views without breaking the model. You’ll leave with practical guidance for keeping degenerate dimensions useful but controlled.
Module 15 - Role Playing Dimensions3 min.
Role-playing dimensions occur when a single dimension needs to represent multiple roles, like Order Date vs Ship Date. Greg explains how to model these scenarios cleanly using multiple relationships or duplicated dimensions and what tradeoffs come with each approach.
Module 16 - Role Playing Dimensions Demo11 min.
See role-playing dimensions implemented with a clear example. Greg demonstrates relationship setup, how to drive the correct filtering behavior, and how to prevent confusion for report authors. You’ll learn how to validate that visuals reflect the right “role” every time.
Module 17 - Multiple Fact Tables Demo6 min.
Many real solutions contain multiple fact tables with different grains and purposes. Greg shows how to structure a model with multiple facts, share common dimensions, and avoid ambiguous relationships. You’ll learn patterns that keep the model scalable as subject areas expand.
Module 18 - Best Practices2 min.
Greg summarizes best practices for handling complex models, clarity, consistency, and predictable filtering. You’ll learn how to document assumptions, enforce naming standards, and test relationship behavior so advanced patterns don’t create hidden problems. This module gives you a durable checklist for production modeling.
Module 19 - Class Wrap Up2 min.
Wrap up with a recap of every advanced pattern covered and when to use each one. Greg helps you connect the concepts into a mental decision tree so you can identify modeling problems and choose the right solution quickly. You’ll leave with next steps for applying these patterns in your own models confidently.
Gregory Trzeciak has his master’s degree in Education from the University of Florida. He has 9 years of teaching experience in high school, college level, and summer programs where he was recognized as a top educator and leader in interactive education. As a trainer at Pragmatic Works, his primary goal is to help individuals gain confidence in using Power BI and the Power Platform. While not in the office, he enjoys fantasy football, walking his dog, and running half-marathons!