DAX, Deep Dive
Why does the same DAX measure show a different number on a card, in a table, and next to a slicer? This guide teaches the real reasoning underneath DAX - row context, filter context, CALCULATE, and the patterns and performance habits that come from actually understanding it.
Download EPUB- Row Context vs Filter Context Why does the same measure give a different number in a card visual than in a matrix cell? Because DAX evaluates every formula inside two different kinds of context, and most confusion traces back to mixing them up.
- CALCULATE and Context Transition How does CALCULATE actually change what a measure sees, and why does putting a measure in a table visual sometimes produce a completely different number than expected?
- Common DAX Patterns (running totals, YoY, ranking, top-N) Running totals, year-over-year, ranking, and top-N all look like separate problems, but they're the same two moves - CALCULATE rewriting filter context, and a table function creating row context - recombined four different ways.
- Variables, Debugging & Readable DAX You wrote a measure, it's not giving the number you expect, and it's four CALCULATE calls deep - how do you actually find the broken part, and how do you write it so this doesn't happen again?
- Performance & the VertiPaq Engine Why does one DAX measure run in milliseconds while an almost identical one grinds a report to a halt - and what is Power BI actually doing with your data in memory that explains the difference?