DAX

DAX filter context, explained

If you can describe the filter context a measure evaluates in, you can predict its result. Everything else in DAX follows from that.

Updated September 20, 2026

What creates filter context

  • The rows and columns of the visual you are in
  • Slicers and page or report-level filters
  • Relationships propagating filters from the one side to the many side
  • CALCULATE modifiers you add explicitly
  • Row-level security, invisibly

Debugging an unexpected number

  • Drop the measure into a card with no filters — is the base total right?
  • Add one filter at a time and watch where it stops changing
  • Check the relationship direction between the filtering table and the fact table
  • Look for REMOVEFILTERS or ALL inside the measure overriding what you expect

Row context vs filter context

Calculated columns evaluate in row context, one row at a time, with no filter context. Measures evaluate in filter context with no row context, unless an iterator such as SUMX creates one. Mixing the two mentally is the most common source of confusion.

Frequently asked questions

When should I use a calculated column instead of a measure?

Use a column when the value belongs to the row and does not depend on the user's filters, such as a category derived from text. Otherwise prefer a measure.

Related reading

Analyze your data with AI

Open the GridMind workspace, bring in a CSV, Excel file or your Power BI model, and let AI build the formulas, charts and dashboards for you.