- Common performance anti-patterns in BI projects include using SELECT * instead of required columns.
- Loading unnecessary historical or high-cardinality data into the model.
- Overusing slicers, filters, and page interactions that trigger multiple queries.
- Complex or nested DAX measures with repeated calculations.
- Using calculated columns instead of measures where possible.
- Many-to-many relationships without bridge tables causing ambiguity.
- Bidirectional relationships overused, increasing filter propagation cost.
- Not leveraging aggregation tables, incremental refresh, or query folding.
What are common performance anti-patterns in BI projects?
Updated on February 25, 2026
< 1 min read
