All topics / DAX, Deep Dive

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
  1. 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.
  2. 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?
  3. 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.
  4. 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?
  5. 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?