DAX Optimization and Performance
.MP4, AVC, 1280x720, 30 fps | English, AAC, 2 Ch | 5h 45m | 2.76 GB
Instructor: Randy Minder
.MP4, AVC, 1280x720, 30 fps | English, AAC, 2 Ch | 5h 45m | 2.76 GB
Instructor: Randy Minder
The Complete Course on Optimizing Your DAX Code for Performance and Maintainability
What you'll learn
- The Importance of Proper Data Modeling and Star Schemas
- Dimension and Fact Tables (Normalization and Denormalization)
- The VertiPaq Engine and Compression Techniques
- Formula Engine, Storage Engine and xmSQL
- Using DAX Studio for Performance Tuning
- Data Caches
- The Dreaded CallbackDataId
- Common Optimization Scenarios and Techniques
- Five Practice Exercises and a Quiz
Requirements
- Some experience with DAX development will be very helpful
- It will be helpful to already have DAX Studio on your machine or be able to install it
Description
DAX can seem simple when just learning but then gets progressively more difficult and it is very hard to master. There are so many subtilties. This makes trying to figure out why your DAX code is underperforming, and fixing it, overwhelming at times. This course attempts to make this process easier. The course starts with the importance of proper data modeling and why a Star schema is so critical. We then cover the concepts of normalization and denormalization along with the use of dimension and fact tables. We cover in depth the importance of using the VertiPaq Analyzer when exploring the makeup of your data model.
The course then jumps into the VertiPaq engine and the techniques used to compress data. We cover why choosing the correct data types in your model is so critical and the importance of data cardinality in how well data is compressed, which directly affects the performance of all your DAX code.
We then explore the two engines that make up VertiPaq, the formula engine and storage engine. SQL Server Profiler and DAX Studio are introduced as two tools you can use to perform performance monitoring. DAX Studio is used heavily and many DAX Studio examples are used in demonstrating how important the tool is for performance monitoring and evaluation utilizing the server timings feature. We cover xmSQL and how useful it is in getting a handle on what the engines are doing when executing your DAX code. Multiple threads and the data cache are what makes the storage engine blazingly fast and we cover this in detail. The CallbackDataId is extensively covered and why we want to avoid it and how to avoid it.
We wrap up with at least a half dozen common optimization problems / scenarios and how to address them.
Who this course is for:
- Advance beginner, intermediate and experienced DAX developers