Forum Discussion
Issue: Not enough memory, unable to create simple table visual
I have this data model:
When I try to create a table visual where I am mapping columns from these 3 tables (in yellow rectangle), I am getting issue "There's not enough memory". How can I fix it? I tried to use star schema
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.
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
7 Replies
- alish_bSuper User
Hey alks_skla_f ,
From the attached picture, I believe there is a data modeling issue at play. The 'case survey' table and the 'case_history' table cannot cross filter each other. Yes, they are both connected to 'case dimension' but the filtering only flows in one direction that is from 'case dimension' to each of these tables. So, Power BI will now try to create a Cartesian product which will blow out the resources (and is probably not even the result you want).
Hope it helps!- alks_skla_fHelper II
How can I fix it, please?
- alish_bSuper User
Please share a representative sample of the data (without any sensitive data) that can be copied so that we can get a general idea of the data at hand. Make sure the data demonstrates the issue (in this case, I am assuming there is a many to many scenario which made you opt for the dimension table). And also include a basic mockup of the table visual you are trying to achieve (an excel table showing what end result should look like).
- cengizhanarslanSuper User
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.
- Jaywant-ThoratSuper User
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 - v-dineshyaCommunity Support
Hi alks_skla_f ,
Thank you for reaching out to the Microsoft Community Forum.
Hi cengizhanarslan and Jaywant-Thorat , Thank you for your prompt responses.
Hi alks_skla_f , Could you please try the proposed solutions shared by cengizhanarslan and Jaywant-Thorat ? Let us know if you’re still facing the same issue we’ll be happy to assist you further.
Regards,
Dinesh
- v-dineshyaCommunity Support
Hi alks_skla_f ,
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet. And, if you have any further query do let us know.
Regards,
Dinesh