This video course teaches you how to optimize queries and measures in DAX.
File Size: 20.1 GB.
Sqlbi – Optimizing DAX Video Course
Optimizing DAX Video Course
This video course teaches you how to optimize queries and measures in DAX.
DAX is the native language of Power Pivot for Excel, Power BI Desktop and SSAS Tabular models in Microsoft SQL Server Analysis Services. This video course is aimed at users of Power BI and Analysis Services developers who already know the DAX language and want to learn how to optimize DAX formulas and models for improving performance.
The goal of the video course is to enable you to find bottlenecks in DAX calculations using Performance Analyzer and DAX Studio, providing the knowledge to improve the performance by using different DAX formulas or by changing the data model, when required.
The video course is made up of聽almost 40 hours of lectures聽covering the formula engine, the VertiPaq storage engine, DirectQuery over SQL, and composite models. You can watch the videos at any time, and the system will keep track of your progress.
The companion content available to the students includes:
- The PDF version of Optimizing DAX: The book聽includes a detailed description of all the modules of the video course. You have access to the PDF version of the book, which is also聽on sale in printed version.
- PBIX files for all the demos
- DAX code for all the demos
- Backup of SQL Server databases to refresh the PBIX files
- BIM file to create Analysis Services databases used for demos with large models
Students have access to a聽private discussion area聽where they can interact with the instructors, asking questions related to the lectures and the exercises.
Prerequisites:聽Students need a good knowledge of the DAX Language, and a previous experience using Power BI Desktop or Analysis Services Tabular. You may acquire this knowledge by following the聽Mastering DAX Workshop, or by having equivalent real-world experience.
Curriculum
路聽聽聽聽聽聽聽 Introduction
FREE
FREE
-
- 聽Sections and naming conventions
路聽聽聽聽聽聽聽 Download software, demos, and book
FREE
FREE
-
- 聽Download the demo files
- 聽Optimizing DAX book
路聽聽聽聽聽聽聽 Introducing optimization with examples
-
- 聽Introducing optimization with examples
FREE
FREE
FREE
-
- 聽Optimizing the model
- 聽Conclusions
- 聽Links to external content
路聽聽聽聽聽聽聽 Introducing the Tabular query architecture
-
- 聽Introducing the Tabular query architecture
FREE
-
- 聽Introduction
- 聽Introducing the formula engine
- 聽Introducing VertiPaq and DirectQuery architectures
- 聽Introducing the VertiPaq storage engine
- 聽Introducing the DirectQuery over SQL storage engine
- 聽Introducing DirectQuery over AS
- 聽Introducing data islands and cross-island query resolution
- 聽Different types of models
路聽聽聽聽聽聽聽 Using the Power BI Desktop performance analyzer
-
- 聽Using the Power BI Desktop performance analyzer
FREE
-
- 聽Introduction
- 聽Running Performance Analyzer
- 聽Understanding the numbers reported by Performance Analyzer
- 聽Optimizing queries or measures?
- 聽What can be optimized
- 聽Saving performance data
- 聽Conclusions
- 聽Links to external content
路聽聽聽聽聽聽聽 Using DAX Studio
FREE
-
- 聽Introduction
- 聽Installing DAX Studio
- 聽Introducing the metrics of a database
- 聽Introducing All Queries
- 聽Capturing Excel queries (MDX)
- 聽Introducing Load Performance Data
- 聽Introducing Query Plan and Server Timings
- 聽Links to external content
路聽聽聽聽聽聽聽 Introducing query plans
FREE
-
- 聽Introduction
- 聽Introducing the logical query plan
- 聽Introducing the physical query plan
FREE
-
- 聽Introducing storage engine queries
- 聽Query plans in DirectQuery
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding the DAX Formula Engine
-
- 聽Understanding the DAX Formula Engine
FREE
-
- 聽Introduction
- 聽Understanding datacaches
- 聽Understanding materialization
- 聽Understanding callbacks
FREE
-
- 聽Formula engine with different storage engines
- 聽Understanding vertical fusion
- 聽Understanding horizontal fusion
o聽聽 Examples of formula engine calculations
-
-
- 聽Sales of best products
- 聽Top three colors
- 聽Measuring performance
- 聽Gathering important timings from the query plan
- 聽Analyzing query plans and timings
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding query plans
-
- 聽Understanding query plans
FREE
-
- 聽Introduction
- 聽Query plan structure
- 聽Query plan operator types
- 聽Interactions between the formula engine and the storage engine
- 聽Common query plan operators
o聽聽 Examples of query plans
-
-
- 聽Comparing SUM versus SUMX
- 聽IF versus IF.EAGER
- 聽Filtering with DAX versus using relationships
- 聽Understanding SWITCH optimization
- 聽Conclusions
路聽聽聽聽聽聽聽 Optimizing the formula engine
-
- 聽Optimizing the formula engine
FREE
-
- 聽Introduction
- 聽Optimizing datacache use
- 聽Sales of best products
- 聽Running total of sales and ABC analysis
- 聽Year-over-year customer growth as a percentage
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding the VertiPaq engine
-
- 聽Understanding the VertiPaq engine
FREE
-
- 聽Introduction
- 聽Using VertiPaq Analyzer
- 聽Tabular data types
- 聽Introduction to the VertiPaq columnar database
- 聽Understanding VertiPaq compression
FREE
-
- 聽Understanding segmentation and partitioning
- 聽Understanding the importance of sorting
- 聽Understanding VertiPaq relationships
- 聽Understanding attribute hierarchies
o聽聽 Optimizing VertiPaq model examples
-
-
- 聽Sales amount versus quantity and net price
- 聽Storing currency conversion data
- 聽Date time versus date and time
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding VertiPaq relationships
-
- 聽Understanding VertiPaq relationships
FREE
-
- 聽Introduction
- 聽Regular, unidirectional one-to-many relationships
- 聽Regular, bidirectional one-to-many relationships
- 聽Regular, one-to-one relationships
- 聽Limited, many-to-many cardinality relationships
- 聽Conclusions
路聽聽聽聽聽聽聽 Analyzing VertiPaq storage engine queries
-
- 聽Analyzing VertiPaq storage engine queries
FREE
-
- 聽Introduction
- 聽Analyzing simple xmSQL queries
- 聽Introducing basic VertiPaq functionalities
- 聽Introducing batches
- 聽Understanding internal and external SE queries
- 聽Understanding distinct count in xmSQL
o聽聽 Understanding VertiPaq joins and filters
-
-
- 聽Introducing VertiPaq joins
FREE
-
-
- 聽Introducing bitmap indexes
- 聽Introducing reverse joins
o聽聽 Understanding VertiCalc and callbacks
-
-
- 聽Understanding VertiCalc and callbacks
- 聽Understanding CallbackDataID
- 聽Understanding EncodeCallback
- 聽Understanding LogAbsValueCallback
- 聽Understanding RoundValueCallback
FREE
-
-
- 聽Understanding MinMaxColumnPositionCallback
- 聽Understanding Cond
- 聽Understanding the VertiPaq cache
- 聽Choosing the correct data type for VertiPaq calculations
- 聽Conclusions
路聽聽聽聽聽聽聽 Optimizing common DAX constructs
-
- 聽Optimizing common DAX constructs
FREE
-
- 聽Introduction
- 聽Optimizing nested iterations
- 聽Understanding the effect of context transition
- 聽Different ways of performing a distinct count
- 聽Optimizing LASTDATE calculations
- 聽Avoid using SUMMARIZE and clustering
- 聽Optimizing division by checking for zeroes
- 聽Reducing the extent of the search by removing blanks
- 聽Optimizing time intelligence calculations
- 聽Distinct count over large cardinality columns
- 聽Conclusions
- 聽Links to external content
路聽聽聽聽聽聽聽 Moving and applying filters to tables
-
- 聽Moving and applying filters to tables
FREE
o聽聽 Different filters in CALCULATE
-
-
- 聽Different filters in CALCULATE
- 聽Analyzing single-column filters
- 聽Analyzing multiple-column filters
- 聽Analyzing filters over multiple tables
- 聽Understanding sparse or dense filters
- 聽Filter columns, not tables
o聽聽 Modeling many-to-many relationships
-
-
- 聽Modeling many-to-many relationships
- 聽Testing the bidirectional model
- 聽Testing the star model
- 聽Testing the snake model
- 聽Testing the advanced snake model
- 聽Conclusions
路聽聽聽聽聽聽聽 Optimization examples for VertiPaq
-
- 聽Optimization examples for VertiPaq
FREE
-
- 聽Introduction
- 聽Reducing nested iterations
- 聽Optimizing complex filters in CALCULATE
- 聽Running faster than Fusion
- 聽Currency conversion
- 聽Optimizing cumulative totals
- 聽Average price variation of products over stores
- 聽Optimizing number of days with no sales
- 聽Computing open orders
- 聽Optimizing SWITCH and nested measures
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding security optimizations
-
- 聽Understanding security optimizations
FREE
-
- 聽Introduction
- 聽Testing security conditions and their performance impact
- 聽Understanding when and where security is enforced
- 聽Understanding cached bitmap indexes and embedded filters
- 聽Optimizing dynamic security
- 聽Optimizing static security on the fact table
- 聽Optimizing dynamic security on the fact table
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding DirectQuery over SQL
-
- 聽Understanding DirectQuery over SQL
FREE
-
- 聽Introduction
- 聽Reading SQL code in this course
- 聽Reading the numbers in DAX Studio
- 聽Callback operations
- 聽Calculated tables
- 聽Calculated columns
- 聽How caching works in DirectQuery over SQL
- 聽Understanding latency to send queries to the remote server
- 聽Max number of rows in a data cache
o聽聽 Different types of relationships
-
-
- 聽Regular one-to-many relationships
- 聽Limited many-to-many relationships
- 聽One-to-one relationships
- 聽DirectQuery over SQL max parallel queries
- 聽Using different data islands
- 聽Introducing aggregations and hybrid tables
- 聽Conclusions
路聽聽聽聽聽聽聽 Optimizing DirectQuery over SQL
-
- 聽Optimizing DirectQuery over SQL
FREE
o聽聽 Building an SQL data model for Analysis Services
-
-
- 聽Introduction
- 聽Designing indexes
- 聽Using columnstore indexes
- 聽Choosing column data types
- 聽Do not use Power Query transformations
o聽聽 Optimizing relationships
-
-
- 聽Choosing the best data type for relationships
- 聽Relying on referential integrity
- 聽Using COMBINEVALUES to implement multi-column relationships
o聽聽 Using aggregations
-
-
- 聽Introducing aggregations
- 聽Introducing VertiPaq aggregation and Dual storage mode
- 聽Designing aggregations for simple calculations
- 聽Designing aggregations for row-level calculations
- 聽Designing aggregations for distinct count
- 聽Aggregations are not VertiPaq aliases of DirectQuery tables
- 聽Manually activating aggregations in DAX
- 聽Using automatic aggregations
o聽聽 Using hybrid tables
-
-
- 聽Introducing hybrid tables
- 聽Hybrid tables and distinct count
- 聽Creating hybrid tables with incremental refresh
- 聽Conclusions
路聽聽聽聽聽聽聽 Optimization examples for DirectQuery
-
- 聽Optimization examples for DirectQuery
FREE
-
- 聽Introduction
- 聽Optimizing LASTDATE calculations
- 聽Optimizing division by checking for zeroes
- 聽Optimizing time intelligence calculations
- 聽Computing distinct counts
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding composite models
-
- 聽Understanding composite models
FREE
-
- 聽Introduction
- 聽Introducing composite models
- 聽Understanding wholesale and retail calculations
- 聽Calculated tables
- 聽Calculated columns
- 聽Tracing remote queries
- 聽Understanding relationships between tables
- 聽Understanding special DAX functions for composite models
- 聽Splitting calculations between wholesale and retail
- 聽Conclusions
路聽聽聽聽聽聽聽 Composite models optimization examples
-
- 聽Composite models optimization examples
FREE
-
- 聽Introduction
- 聽Static segmentation
- 聽Budget and time intelligence calculations
- 聽Dynamic ABC analysis
- 聽Conclusions
路聽聽聽聽聽聽聽 Understanding complex models
-
- 聽Understanding complex models
FREE
-
- 聽Introduction
- 聽Understanding the role of the formula engine in complex models
- 聽Calculated tables
- 聽Calculated columns
- 聽Relationships in complex models
- 聽Using SQL Server features to avoid multiple data islands
- 聽Using VertiPaq to snapshot expensive DirectQuery queries
- 聽Conclusions
路聽聽聽聽聽聽聽 Conclusion
You must be <a href="https://wislibrary.org/my-account/">logged in</a> to post a review.