Rules / Performance

Reduce usage of calculated tables

warning REDUCE_USAGE_OF_CALCULATED_TABLES · ported · scope: CalculatedTable

What it checks

Every calculated table. Calculation groups are not included.

Why it matters

A calculated table is rebuilt from DAX after every refresh, holds a copy of data that exists somewhere else, and is invisible to the source's lineage and to every other model. When two models need the same table, each rebuilds it its own way and they drift. A date table is the usual exception, and even there a shared table in the source or in a dataflow serves every model the same way.

How to fix it

Build the table in the source or in Power Query so it loads as data. Where a calculated table stays, keep it small and give it a description that says why.

Quirks

Links

Check a model for this Improve this page