Measures vs Calculated Columns
When to use a DAX measure vs a calculated column — a decision that affects performance
One of the most common mistakes Power BI beginners make is using a calculated column when they should use a measure. This causes bloated models, slower reports, and sometimes wrong results. Understanding the difference is essential.
Calculated Column: computed row-by-row when data loads. Result stored in the model. Takes up memory. Visible in tables and available for filtering/slicing.
Measure: computed on the fly when a visual renders. Not stored. Uses virtually no memory. Not visible in tables. Responds to filter context.
The rule: if you need to see the value in a table row-by-row, use a calculated column. For everything else — totals, ratios, comparisons, KPIs — use a measure.
Example
Key Points
- ✓Calculated columns increase model size — every row stores a computed value
- ✓Measures use almost no memory — computed on demand and discarded after rendering
- ✓Use calculated column for: profit margin per row, full name (first + last), category flag
- ✓Use measure for: total sales, YoY growth %, average order value, % of total
- ✓You cannot use a measure in a slicer — for slicers, you need a column or dimension table values
Practice Question
You want to calculate "Total Revenue" that updates when a user selects a region in a slicer. Should you use a measure or a calculated column?