Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

1.4. Evaluation Context and Filter Propagation

💡 First Principle: Every DAX expression is evaluated somewhere: for a particular row, or under a particular set of filters. That surrounding situation is called evaluation context, and it, not the formula alone, determines the result. The same measure returns different numbers in different cells of a matrix because each cell has a different context.

This is the concept that separates people who copy DAX from people who can reason about it. Nearly every "the total is wrong," "the measure shows the same value on every row," or "the slicer doesn't affect this column" question is a context question in disguise. If you can name the context a formula runs in, you can predict its output, and on the PL-300 that means you can complete hotspot DAX items without memorizing them.

A useful mental model: row context is a cursor moving down a table, looking at one row at a time; filter context is a sieve placed over the whole model, deciding which rows are visible before anything is aggregated. Relationships are the channels that let a sieve placed over one table also shape what's visible in another.

⚠️ Common Misconception: Filters flow in both directions across every relationship. By default they flow one way, from the one side (dimension) to the many side (fact). A slicer on Sales won't filter the Product list unless you deliberately enable bidirectional filtering, which has costs covered in 3.1.2.

See how it connects
Alvin Varughese
Written byAlvin Varughese
Founder•20 professional certifications