Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
We are designing a Fact table for use in Power BI and need guidance on the best approach for handling large datasets. Should we opt for a wide Fact table, where each KPI or metric (such as sales, revenue, etc.) is represented as a separate column,
Product ID | Region ID | Revenue | Sales | Backlog |
1 | 11 | 100 | 200 | 50 |
2 | 22 | 200 | 300 | 60 |
3 | 33 | 300 | 350 | 70 |
or a long Fact table, where each metric is stored as a separate row, please see the below structure?
Product ID | Region ID | KPI | Measure |
1 | 11 | Revenue | 100 |
1 | 11 | Sales | 200 |
1 | 11 | Backlog | 50 |
2 | 22 | Revenue | 200 |
2 | 22 | Sales | 300 |
2 | 22 | Backlog | 60 |
3 | 33 | Revenue | 300 |
3 | 33 | Sales | 350 |
3 | 33 | Backlog | 70 |
The Fact table design should prioritize future scalability, minimal maintenance, and optimal performance within Power BI.
The required measures what we are going to show are MTD, QTD, YTD, YOY comparision, 2 years trend etc.
Solved! Go to Solution.
Would suggest to go with Wide table and below are couple of reasons to support.
1. Enables direct use of time intelligence functions like YTD, QTD, and YOY on individual KPI columns.
2. Fewer rows and better columnar compression improve model efficiency and query speed.
3. Supports straightforward creation of charts, trends, and comparisons without any extra filtering logic.
Hi @Sonu88 ,
Thank you for reaching out to us on the Microsoft Fabric Community Forum.
Thank you @miTutorials for sharing valuable information.
Hi @Sonu88 , In addition to @miTutorials , i am adding some points.
The wide table format is generally more efficient and scalable.
Better performance: VertiPaq (Power BI’s in-memory engine) compresses numeric columns very efficiently. With fewer rows and more numeric columns, Power BI loads and aggregates faster.
Easier modeling: Each metric is a simple numeric column; you can use standard aggregation methods (SUM, AVERAGE, etc.) without needing to filter or pivot data first.Relationships and measures are easier to manage when each KPI is a separate column.
Better for Trend Analysis: Calculating trends across time (e.g., YOY, 2-year trends) is more straightforward.
Visual flexibility: Directly use any metric on axes, values, or tooltips in visuals without pivoting or unpivoting.
If my response has resolved your query, please mark it as the "Accepted Solution" to assist others. Additionally, a "Kudos" would be appreciated if you found my response helpful.
Thank you
Hi @Sonu88 ,
Thank you for reaching out to us on the Microsoft Fabric Community Forum.
Thank you @miTutorials for sharing valuable information.
Hi @Sonu88 , In addition to @miTutorials , i am adding some points.
The wide table format is generally more efficient and scalable.
Better performance: VertiPaq (Power BI’s in-memory engine) compresses numeric columns very efficiently. With fewer rows and more numeric columns, Power BI loads and aggregates faster.
Easier modeling: Each metric is a simple numeric column; you can use standard aggregation methods (SUM, AVERAGE, etc.) without needing to filter or pivot data first.Relationships and measures are easier to manage when each KPI is a separate column.
Better for Trend Analysis: Calculating trends across time (e.g., YOY, 2-year trends) is more straightforward.
Visual flexibility: Directly use any metric on axes, values, or tooltips in visuals without pivoting or unpivoting.
If my response has resolved your query, please mark it as the "Accepted Solution" to assist others. Additionally, a "Kudos" would be appreciated if you found my response helpful.
Thank you
Hi @Sonu88 ,
If my response has resolved your query, please mark it as the "Accepted Solution" to assist others. Additionally, a "Kudos" would be appreciated if you found my response helpful.
Thank you
Hi @Sonu88 ,
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet.do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.
Thank you.
Hi @Sonu88 ,
We haven’t heard from you on the last response and was just checking back to see if you have a resolution yet.do click Accept Answer and Yes for was this answer helpful. And, if you have any further query do let us know.
Thank you.
What other experts are saying?
Would suggest to go with Wide table and below are couple of reasons to support.
1. Enables direct use of time intelligence functions like YTD, QTD, and YOY on individual KPI columns.
2. Fewer rows and better columnar compression improve model efficiency and query speed.
3. Supports straightforward creation of charts, trends, and comparisons without any extra filtering logic.
User | Count |
---|---|
75 | |
75 | |
45 | |
31 | |
27 |
User | Count |
---|---|
99 | |
89 | |
52 | |
48 | |
46 |