Forum Discussion
Issue: Not enough memory, unable to create simple table visual
- 7 months ago
1) Introduce proper dimension tables
You need a true star schema:
One or more dimension tables (Date, Customer, Product, etc.)
Each fact table connects only to dimensions
No fact-to-fact relationships
Example:
DimCustomer ──▶ Fact_A DimCustomer ──▶ Fact_B DimCustomer ──▶ Fact_CThen in the visual:Columns → from dimension tables
Values → measures from facts
Do NOT put fact columns directly into the table.
2) Use measures, not fact columns
Instead of this (problematic):
Fact_A[Amount]
Fact_B[Cost]
Fact_C[Quantity]
Do this:
Amount A = SUM ( Fact_A[Amount] ) Cost B = SUM ( Fact_B[Cost] ) Qty C = SUM ( Fact_C[Quantity] )And put:Rows → dimension attributes
Values → these measures
This avoids row-level joins completely.
3) Check and fix relationship directions
Make sure:
Single-direction filters from Dimension → Fact
Avoid Both unless strictly required
Avoid many-to-many unless unavoidable
Many-to-many + table visual = memory disaster.
- 7 months ago
Why you’re getting “There’s not enough memory”?
Even though you tried a star schema, this specific issue is caused by:
Reason-1: High-cardinality columns across multiple fact-like tables
Those 3 yellow tables look like:
Large row counts
Many text / ID / GUID columns
Joined together in a single Table visual
Power BI tries to create a huge intermediate result set (VertiPaq explosion).
To FIX it, do these in order
1. NEVER put columns from 3 large tables in one table visual
Rule: A table visual should have 1 fact table + dimensions only
- Pick ONE of the yellow tables as the base
- Do not mix columns from all 3
2. Use DIMENSIONS only (no facts) for descriptive fields
- Move: Names, Status, Type, and Category into dimension tables
- Connect with 1-to-many, single direction
3. Replace columns with MEASURES
- This causes memory blow-up
- Raw numeric columns from multiple tables, use SUM(), COUNT(), DISTINCTCOUNT()
- Visual should be:
- Dimension columns
- Measures only
4. Reduce cardinality (VERY IMPORTANT)
In Power Query:
Remove unused columns
Remove GUID / long text if not required
Turn off Auto Date/Time
Prefer Integer keys over text
5. Check relationship direction
Set:
Single direction
Never bi-directional between large tables
Quick Architecture Rule (Remember this)
Table visual = multiple big tables
Table visual = dimensions + measures
If you still need data from all 3 tables, Create ONE consolidated fact table in Power Query:
Merge once
Load once
Visual queries only one table
Remember:
- This is not a RAM issue
- This is a model + visual design issue
- Fix the visual grain + cardinality, memory error will disappear.
=================================================================
Did I answer your question? Mark my post as a solution! This will help others on the forum!Appreciate your Kudos!!
Jaywant Thorat | MCT | Data Analytics Coach
LinkedIn: https://www.linkedin.com/in/jaywantthorat/
Join #MissionPowerBIBharat = https://shorturl.at/5ViW9
#MissionPowerBIBharat
LIVE with Jaywant Thorat from 10 Jan 2026
8 Days | 8 Sessions | 1 hr daily | 100% Free
1) Introduce proper dimension tables
You need a true star schema:
One or more dimension tables (Date, Customer, Product, etc.)
Each fact table connects only to dimensions
No fact-to-fact relationships
Example:
DimCustomer ──▶ Fact_A DimCustomer ──▶ Fact_B DimCustomer ──▶ Fact_CColumns → from dimension tables
Values → measures from facts
Do NOT put fact columns directly into the table.
2) Use measures, not fact columns
Instead of this (problematic):
Fact_A[Amount]
Fact_B[Cost]
Fact_C[Quantity]
Do this:
Amount A = SUM ( Fact_A[Amount] )
Cost B = SUM ( Fact_B[Cost] )
Qty C = SUM ( Fact_C[Quantity] )Rows → dimension attributes
Values → these measures
This avoids row-level joins completely.
3) Check and fix relationship directions
Make sure:
Single-direction filters from Dimension → Fact
Avoid Both unless strictly required
Avoid many-to-many unless unavoidable
Many-to-many + table visual = memory disaster.