Use Calculated Columns for Static Row-Level Calculations. Calculated columns are evaluated at refresh time and reside in the data model.
They're good for static, row-level calculations that do not depend on report interactions, such as creating categories, flags, or combining columns. Use them when you need a column to be part of a slicer or filter or when the result should be stored for each row.
- Use Measures for Dynamic Aggregations and Calculations: Measures are calculated at runtime and context-sensitive; they change according to user interactions, such as filters, slicers, or even the report page.
Apply measures to calculations that roll up or aggregate data (such as sums, averages, or percentages) whenever you want the results to update with the report visuals automatically.
- Performance Consideration: Measures are more memory-friendly because they are not stored in the data model but are calculated on the fly. Calculated columns increase model size and can adversely affect performance, especially if there are a large number of records in the dataset.
Use measures wherever possible to ensure your data models are smaller and your reports perform better.
- Model Readability: Do not add calculated columns to the table for things that measures can handle—this will make your data model cleaner and easier to manage.
Applying calculated columns to row-level, static data and measures to dynamic, context-aware calculations creates efficient reports in Power BI.