Build models that answer better questions. In DAX for Data Modeling, Greg Trzeciak shows how DAX shapes the way your data behaves—through context, relationships, and carefully chosen table expressions. You’ll learn when to use calculated columns vs. measures, how filter and row context affect results, and where relationship settings (active/inactive, direction, cross-filtering) make or break your analysis.
Then we’ll put DAX to work on real modeling tasks. You’ll connect tables with RELATED/RELATEDTABLE, activate the right path with USERELATIONSHIP, refine propagation with CROSSFILTER, and build tidy tables using VALUES, DISTINCT, SUMMARIZE, SELECTCOLUMNS, and FILTER. Along the way, Greg shares practical performance tips so your models stay fast, accurate, and easy to maintain.
Course Outline ( Free Preview)
Module 01 - Introduction
In this course module, Greg Trzeciak guides students through the essential relationship between DAX and data modeling, focusing on how DAX functions can directly influence and enhance data models. The module covers key concepts such as filter context, context transition, and advanced DAX functions to empower learners with practical skills for dynamic data analysis. Designed for those with some prior experience, this class offers valuable insights to deepen your understanding and mastery of DAX within Power BI.
Module 02 - Context
In this module, Greg introduces the fundamental concepts of row context and filter context in Power BI, explaining how they influence DAX calculations and data modeling. Students will learn to navigate the interplay between these contexts, known as context transition, to gain full control over their DAX formulas. Using a practical AdventureWorks data model, the course prepares learners to apply these concepts through hands-on demonstrations and real-world scenarios.
Module 03 - Relationships2 min.
In this module, the instructor emphasizes the critical role of relationship functions in ensuring accurate data results and effective validation within your data models. Students will learn how to manage complex scenarios by adjusting relationships, such as switching between bidirectional filters or choosing different date fields, to simplify and standardize their models. The course will also explore handling active versus inactive relationships and overcoming row and filter context challenges, with practical demonstrations to reinforce each concept.
Module 04 - RELATED8 min.
In this module, the instructor introduces the DAX function RELATED, which enables you to fetch values from columns in related tables by leveraging existing relationships in your data model. You’ll learn how to use RELATED to bring in additional contextual information, such as product names or categories, directly into your fact tables to enhance your calculations and reports. The lesson also demonstrates practical examples of using RELATED for both simple column retrieval and more complex conditional calculations, setting the stage for exploring RELATEDTABLE in the next module.
Module 05 - RELATEDTABLE5 min.
In this module, Greg explores the use of the RELATEDTABLE function to bring in entire related tables for advanced calculations in data models. He demonstrates how RELATEDTABLE enables row-by-row iteration and aggregation across related tables, allowing for more flexible and precise measures such as order counts and total customer sales. Students will learn how to leverage RELATEDTABLE alongside iterator functions like SUMX to perform complex calculations that reflect relationships between fact and dimension tables.
Module 06 - USERELATIONSHIP9 min.
In this module, Greg explains the concept of relationship ambiguity in data models, focusing on how multiple date-related relationships—such as order date and ship date—can impact your analysis in Power BI. He introduces the DAX function USERELATIONSHIP, which allows you to activate an inactive relationship within a measure, enabling more precise calculations without duplicating tables. By mastering this function, students will learn to handle complex scenarios where different departments require different date perspectives, ensuring accurate and flexible reporting.
Module 07 - CROSSFILTER7 min.
In this module, Greg introduces the concept of cross-filtering to control the direction of data flow within relationships in a data model. He demonstrates how to use cross-filter to enable bi-directional filtering between tables, allowing for accurate calculations like distinct product counts per customer without altering the overall model structure. Students will learn how to apply cross-filter in measures to avoid ambiguity and maintain precise, flexible data relationships.
Module 08 - VALUES + DISTINCT11 min.
In this module,Greg introduces how DAX functions can be used to create and manipulate tables for advanced data modeling and calculations. Key functions such as VALUES and DISTINCT are explored to generate distinct lists from columns, highlighting their differences in handling blank values. The lesson also demonstrates practical use cases, including virtual tables and filtered measures, to help students understand how to aggregate and analyze data dynamically within their models.
Module 09 - SUMMARIZE7 min.
In this module, Greg introduces the SUMMARIZE function, demonstrating how it enables grouping and aggregating data by specific columns to create virtual tables for more flexible analysis. He explains pairing Summarize with Add Columns to name and calculate new columns dynamically, enhancing the ability to work within filter contexts. Through practical examples like sales summaries and top category calculations, Greg showcases how these functions empower users to build complex, customized measures and insights from existing data tables.
Module 10 - SELECTCOLUMNS3 min.
In this module, Greg, introduces the SELECTCOLUMNS function in DAX, demonstrating how it allows you to create custom tables by extracting specific columns from related tables. The lesson highlights practical applications, such as building concise tables for customer names, product details, and total sales, which can improve performance and simplify data modeling. Additionally, Grer emphasizes the flexibility of using these tables virtually within measures to efficiently retrieve key values without creating full tables.
Module 11 - Performance3 min.
In this module, Greg explains the importance of mastering DAX functions to improve data modeling by breaking through filter context and enhancing performance, especially with large datasets. Students will learn how to use variables and virtual tables within measures to write more efficient and manageable DAX formulas. The course also emphasizes understanding row and filter context, encouraging experimentation to build confidence and proficiency in data modeling with DAX.
Module 12 - Class Wrap Up2 min.
Review the decision tree: which function for which modeling job, how to validate results with context checks, and how to keep models maintainable. Greg leaves you with patterns you can reuse on your next report.
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!