Decoding DAX
Course Description
Length: 3 days
Cost: $1495 (USD) / person
Have you been using DAX for a while? Are you drowning in Youtube videos? Tired of copying DAX expressions that you don’t understand? This training is aimed at Power BI, Power Pivot for Excel and Analysis Services developers who wish to gain a better understanding of DAX and the context behind it. Discover some of the lesser-known DAX functions, explore the different behaviours of similar functions (and discuss when to use each) and master your understanding of CALCULATE, DAX context transition and more.
Upcoming Course Dates
Next Public Course date is below, or Contact Me to enquire about corporate rates and courses.
Note: All courses must meet minimum registration numbers to run, so dates are subject to change unless marked as GUARANTEED.Virtual; 17-21 May, 2021; 14:00-18:00 (GMT +2) / 8:00am-12:00pm (EDT)
Register Now
Pay Now
Your booking will be confirmed once both payment and registration form are complete.
Course Outline
Module 1: Introduction to DAX
A review of DAX and its most basic functions; SUM, MIN, MAX. In this module, you will get familiar with the dataset that we will be using throughout the course and learn a few tricks for keeping your DAX code easy to read.
Topics:
What is DAX?
DAX Syntax
DAX Functions
DAX Operators
Data Types
Common DAX Functions
Labs:
Unit Price Analysis
Reporting Sales
Module 2: Columns vs Measures
Learn the differences between calculated columns and measures, where to use each, when they are calculated, and how they are impacted by slicers and filters in your report. Learn how to leverage relationships in your data model to create calculated columns using data from multiple tables.
Topics
Calculated Columns
Implicit vs Explicit Measures
Naming Convention
Using measures and columns
Labs:
Sale Type by City
Discounts
Module 3: Introduction to Evaluation Contexts
Now that you understand columns vs measures, start to debunk the concept of Evaluation Contexts in DAX and understand why measures behave the way they do.
Topics
Introduction to evaluation contexts
Filter Context
Row Context
Labs:
Average Sales
Module 4: CALCULATE
CALCULATE is a powerful DAX function that is often misunderstood. Learn the basic syntax of CALCULATE and use it to calculate ratios.
Topics
Introduction to CALCULATE
CALCULATE modifiers
Labs:
Ratios and Percentages
Module 5: Context Transition
In this module, we will continue working with the CALCULATE function and explore its power of context transition. Learn what this means for your calculated columns.
Topics
Introduction to Context transition
Automatic CALCULATE in measures
Equivalent Filter context
Labs:
Manipulating Evaluations Contexts
Module 6: Working with Iterators
Iterators create a virtual calculated column. This can help reduce the amount of DAX you need to write to get your desired result. In this module, we’ll explore common iterators and see the importance of understanding that evaluation context when working with these virtual calculated columns.
Topics
Introduction to Iterators
Useful iterators
Aggregating Expressions
Labs:
Sales per Working Day
Module 7: Table Filter Functions
Now that you’re familiar with Iterators, we can leverage the power of table filter functions to narrow in on exactly the information we need.
Topics
Introduction to Table Functions
FILTER Function
VALUES, DISTINCT Functions
Labs:
Ranking Stores by Profit
Finding above average Customers
Module 8: Evaluation Contexts and Relationships
Building the right data model is crucial to the success of any report. Learn how DAX uses the relationships in your data model to calculate the results.
Topics
Advanced evaluation contexts
Row context and relationships
Filter context and relationships
Filtering many columns
Crossfiltering
Expanded tables
USERELATIONSHIP
Labs:
Total Shipments vs Total Orders
Module 9: Variables
Variables can help keep your DAX code tidy and optimized, but more importantly they can provide context transition within measures. In this module, we will learn how variables are calculated and when to use them.
Topics
Variables syntax
Calculation of variables
Variables for optimization
Variables for context transition
EARLIER function vs variables
Labs:
First purchase amount
Module 10: Date Table
Having a robust date table is key to any time intelligence calculations. Learn the few simple steps you need to take to ensure your time intelligence functions calculate properly.
Topics
Date table properties
CALENDAR vs CALENDARAUTO vs import
Multiple dates
Labs:
Mark as Date Table
Set sorting options
Module 11: Time Intelligence
Don’t break out the calculator just yet- DAX time intelligence functions enable you to easily make comparisons for Year on Year, Month on Month, Year to Date, 12 Month Rolling average and more. In this module, we will learn the formula for success with DAX time intelligence.
Topics
Introduction to Time Intelligence
Common Time Intelligence Functions
Time Intelligence DAX formula for success
Labs:
Year to Date Sales Percent Change (from previous year)
Rolling 12 Month Average
Module 12: DAX Parameters
Use Power BI built-in DAX parameters and create your own parameter tables to perform What-if analysis on your data, create custom filters, and change the display value or measure.
Topics
Power BI DAX Parameter
GENERATESERIES, SELECTEDVALUE
Single Value Slicers
Custom Parameters
Labs:
What-if Analysis
Sales Quantity vs Sales Amount
Today, Tomorrow, Yesterday slicer
Module 13: Optimization
Now that know all the common DAX functions and their evaluation contexts, how do you optimize your code? In this module, we will look at some tools for determining the performance of your DAX as well as some tips to help improve that performance.
Topics
Performance analyzer
Variables
Naming conventions
Labs:
Percent growth calculated two ways