Forum Discussion
Power BI Server Memory Issues
- 3 months ago
Step 1) Check for bidirectional relationships. Every bidirectional relationship can double the filter propagation paths the engine must evaluate. Set all relationships to single direction unless bidirectional is strictly required.
Step 2) Remove unused columns. Every column loaded into the model consumes memory. Open the model in Desktop, go to Model view, and remove any column not used in a measure, relationship, slicer, or visual. Measure Killer is an excellent external tool for this.
Step 3) Check cardinality of text columns. High-cardinality text columns (URLs, free-text descriptions, GUIDs stored as strings) are the single biggest source of unnecessary memory consumption. Replace with integer keys where possible.
Step 4) Avoid calculated columns that replicate fact table data. Move logic to measures instead — measures are computed on demand and do not consume persistent memory.
Step 5) Add pre-aggregated tables. For large fact tables with common aggregation patterns (daily totals, monthly summaries, category rollups), create pre-aggregated summary tables in upstream in SQL and load those alongside the grain-level fact table. Visuals that only need aggregated data query the summary table directly, bypassing the need to scan and aggregate millions of raw rows at query time. This is one of the most impactful memory optimizations available on shared capacity.
Step 6) Simplify complex measures. Measures with nested FILTER, CALCULATE chains, or CROSSJOIN operations generate large intermediate tables during evaluation. Simplify where possible.
Hello ElenaC,
This is Power BI Service shared capacity memory throttling.
Likely cause
High-cardinality columns
Complex or bi-directional relationships
DAX iterators over large fact tables
Heavy visuals (large matrices, many joins)
Shared capacity memory contention
How to confirm
Performance Analyzer for slow visuals
Capacity Metrics app for memory spikes
Check if issue happens only in Service
Fix order
Use strict star schema
Remove bi-directional relationships
Replace text keys with integer keys
Pre-aggregate large fact tables
Reduce iterator-heavy DAX
Simplify large visuals
Microsoft docs
Shared capacity limits
The Fabric throttling policy
Visual query limits
Set visual query limits in Power BI Desktop
Performance Analyzer
Use Performance Analyzer to examine report performance
If it works in Desktop but fails in Service, shared capacity pressure is a key factor.