Advanced DAX for Microsoft Power BI Desktop

About Course
For users looking to take their Power BI skills to the next level, mastering Data Analysis Expressions (DAX) is a MUST. In this hands-on, project-based course, you’ll put your DAX skills to the test and apply what you learn to some of the toughest real-world business intelligence use cases.
You’ll be playing the role of Business Intelligence Analyst for Maven Roasters, a small-batch coffee chain based in New York City. Your goal? Use Power BI and DAX to answer key questions and deliver data-driven insights for the business, by analyzing product inventory, repeat customers, store-level performance, and everything in between.
We’ll start by quickly reviewing prerequisite topics (evaluation context, filter flow, basic measures, etc.), then dive behind the scenes to explore how the DAX formula and storage engines actually work, including query evaluation, columnar structures, and VertiPaq compression and encoding.
From there we’ll cover helpful tips and best practices for DAX power users, including variables, comments, query formatting and error handling, then dive deep into scalar functions, iterators, advanced time intelligence, calculated table joins, relationship functions, and much, much more. Last but not least, we’ll share a sneak peek into performance tuning and DAX query optimization using DAX Studio and Power BI’s Performance Analyzer tool.
If you’re looking to build expert-level data analysis skills using DAX and Power BI, this is the course for you!
What Will You Learn?
- Master Data Analysis Expressions (DAX) for Power BI Desktop
- Analyze real-world projects & business intelligence use cases
- Learn the same tools used by top analytics & business intelligence professionals
- Test your skills with hands-on Demos & Files (with step-by-step solutions)
Course Content
Getting Started
-
01:49
-
02:31
-
Helpful Resources
02:10 -
Download: Course Resources
Prerequisite Skills Review
-
02:34
-
Data Modeling Fundamentals
08:33 -
Basic DAX
12:48
Introducing the Course Project
-
01:40
-
Maven Roasters Data Model Setup
11:44
The DAX Engines
-
01:48
-
Formula & Storage Engines
03:18 -
Query Evaluation In Depth
04:49 -
Data & Storage Types
03:51 -
VertiPaq Columnar Data Structure
05:12 -
VertiPaq Compression & Encoding
03:50 -
Value Encoding
03:30 -
Hash Encoding
04:32 -
Run Length Encoding
04:28 -
VertiPaq Relationships
05:42 -
Summary – DAX Engines
02:10
Tips & Best Practices
-
01:35
-
Shortcuts
06:00 -
Formatting Best Practices
09:02 -
DAX Evaluation Order
04:49 -
Commenting Code
03:52 -
PRO TIP – Dedicated Measure Table
05:33 -
Error Handling
07:21 -
Creating & Using Variables
07:37 -
Variable Evaluation Order
04:03 -
PRO TIP – Using Variables for Debugging
05:31
Scalar Functions
-
01:29
-
Common Scalar Functions
02:44 -
Aggregation Functions
04:29 -
PRO TIP – SUM & SUMX
03:01 -
Rounding Functions
10:02 -
ASSIGNMENT – Rounding Functions
01:55 -
SOLUTION – Rounding Functions
05:23 -
Information Functions
03:57 -
Conversion Functions
04:39 -
ASSIGNMENT – Conversion Functions
01:07 -
SOLUTION – Conversion Functions
04:21 -
Logical Functions – SWITCH
08:54 -
Logical Functions – COALESCE
05:07 -
ASSIGNMENT – Logical Functions
01:06 -
SOLUTION – Logical Functions
05:16
Advanced CALCULATE
-
01:23
-
Expanded Tables
05:48 -
Context Transition
09:18 -
Evaluation Order
07:32 -
CALCULATE Modifiers
04:29 -
REMOVEFILTERS
04:41 -
KEEPFILTERS
07:32 -
ASSIGNMENT – Advanced CALCULATE
01:17 -
SOLUTION – Advanced CALCULATE
08:51 -
PRO TIP – Common CALCULATE Patterns
02:50
Table & Filter Functions
-
01:09
-
Common Table & Filter Functions
01:44 -
Review – Calculated Tables
05:16 -
DISTINCT
04:19 -
VALUES
06:12 -
ASSIGNMENT – VALUES & DISTINCT
01:02 -
SOLUTION – VALUES & DISTINCT
06:56 -
SELECTEDVALUE
09:34 -
ALLEXCEPT
08:39 -
ASSIGNMENT – ALLEXCEPT
01:24 -
SOLUTION – ALLEXCEPT
10:42 -
ALLSELECTED
07:11 -
ASSIGNMENT – ALLSELECTED
01:27 -
SOLUTION – ALLSELECTED
11:16 -
SELECTCOLUMNS
06:43 -
ADDCOLUMNS
03:22 -
SUMMARIZE
07:25 -
ASSIGNMENT – SUMMARIZE
00:57 -
SOLUTION – SUMMARIZE
08:15 -
Generating Data
01:30 -
ROW
04:09 -
DATATABLE
06:17 -
GENERATESERIES
04:26 -
Table Constructor
06:27 -
ASSIGNMENT – Generating Data
00:45 -
SOLUTION – Generating Data
04:22
Calculated Table Joins
-
01:02
-
CROSSJOIN
07:40 -
UNION
06:53 -
EXCEPT
05:44 -
INTERSECT
07:09 -
ASSIGNMENT – Calculated Table Joins
01:09 -
SOLUTION – Calculated Table Joins
09:34
Relationship Functions
-
01:41
-
Physical vs. Virtual Relationships
02:54 -
RELATED
04:00 -
RELATEDTABLE
04:25 -
ASSIGNMENT – RELATED & RELATEDTABLE
01:03 -
SOLUTION – RELATED & RELATEDTABLE
05:12 -
USERELATIONSHIP
07:30 -
CROSSFILTER
07:43 -
ASSIGNMENT – CROSSFILTER
01:02 -
SOLUTION – CROSSFILTER
06:00 -
TREATAS
08:35 -
ASSIGNMENT – Sales Targets (TREATAS)
01:16 -
SOLUTION – Sales Targets (TREATAS)
16:10
Iterator Functions
-
01:16
-
Review – Basic Iterators
02:10 -
Iterator Cardinality
05:47 -
CONCATENATEX
07:01 -
PRO TIP – Adding Dynamic Labels
06:12 -
ASSIGNMENT – CONCATENATEX
00:51 -
SOLUTION – CONCATENATEX
08:44 -
AVERAGEX
04:19 -
PRO TIP – Moving Averages
08:44 -
ASSIGNMENT – Moving Averages
01:13 -
SOLUTION – Moving Averages
08:03 -
RANKX
09:01 -
ASSIGNMENT – RANKX
00:46 -
SOLUTION – RANKX
05:20
Advanced Time Intelligence
-
01:31
-
Automatic Date Tables
05:40 -
Date Table Requirements
04:16 -
CALENDAR
04:35 -
CALENDARAUTO
05:46 -
PRO TIP – Building a Reusable Date Table
07:04 -
Date Formatting
02:00 -
ASSIGNMENT – Date Formatting
00:56 -
SOLUTION – Date Formatting
05:09 -
Common Time Intelligence Functions
02:49 -
PARALLELPERIOD
06:33 -
PREVIOUSQUARTER
06:15 -
SAMEPERIODLASTYEAR
05:26 -
ASSIGNMENT – Time Periods
01:01 -
SOLUTION – Time Periods
06:21 -
Week-based Calculations
07:01 -
Previous Fiscal Week
04:36 -
Fiscal Period to Date
07:27 -
Fiscal Previous Period
05:54 -
ASSIGNMENT – 4-5-4 Calendar
00:53 -
SOLUTION – 4-5-4 Calendar
06:13
Sneak Peek: Performance Tuning
-
Introduction
01:31 -
Performance Analyzer
04:14 -
PRO TIP – Copy Query
04:18 -
DAX Studio
09:46 -
Optimization Workflow
02:09
Certification of Completion
-
Apply for Certificate
00:00