Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
Hi-
I'm working on a large data project with multiple fact tables that need at least 2 years of data. Fact tables are 40 mill rows + per table per year with 20+ dimension tables
Some of the aggregate tables I am working with are not shrinking the row count that much. Would partitioning the Aggregate table help to increase our end user speed? Is that possible?
We are already (1) query folding using native query Value.NativeQuery(Database,
Does "groupby" have to happen in both the SQL query AND the MQuery to make sure the aggregate gets folded back ?
In Power BI, aggregate tables (often set up as part of aggregations in composite models) are designed to improve query performance by precomputing summaries, but if they're not reducing row counts significantly, that suggests high cardinality in your grouping columns—meaning the aggregation isn't coarsening the data enough to make a big impact on storage or scan times. This is common with detailed dimensions or when aggregations are at a finer grain than typical queries.
Partitioning can help improve end-user query performance, particularly in Import mode or composite models with large imported aggregates. Here's why and how:
However, partitioning primarily shines for refresh management and query pruning; it won't "shrink" row counts like better-designed aggregations would. If your aggregates aren't reducing rows much, consider revising them:
For your scale (multiple fact tables at 80M+ rows for 2 years, plus dimensions), combine this with other optimizations like column pruning (remove unused columns), composite models (DirectQuery for details, Import for aggregates), and DAX best practices (e.g., avoid calculated columns in large tables).
Example of using Value.NativeQuery for aggregated folding:
If you're seeing poor folding, check for non-foldable steps (e.g., custom functions, merges with non-SQL sources) or database permissions. For your multi-table setup, consider parameterized native queries to handle dynamic filters.
Hi @sailkitty5 ,
May I ask if you have resolved this issue? Please let us know if you have any further issues, we are happy to help assist you.
Thank you.
Hi @sailkitty5 ,
May I ask if you have resolved this issue? Please let us know if you have any further issues, we are happy to help and share the sample data in a workable format such as text, an Excel file, or a PBIX file with sample data instead of screenshots.
.
Thank you.
Hi @sailkitty5 ,
Partitioning can help improve query performance, but mainly through partition elimination, not by reducing row count. If your reports commonly filter by Date/Year, partitioning the aggregate table on that column allows the VertiPaq engine to scan only relevant partitions, which can improve end-user response times especially at your scale. This is typically implemented via Incremental Refresh or XMLA-based partition management (Premium/PPU required).
However, if the aggregation itself isn’t significantly reducing rows, that indicates the grouping grain is still too detailed. In that case, revisiting the aggregation design (higher level grain or multiple agg tables) will usually deliver more benefit than partitioning alone.
Regarding folding: the GROUP BY only needs to exist in the native SQL query when using Value.NativeQuery. Adding another Group By step in M is not required and will execute in-memory rather than fold back to the source. Always validate using View Native Query to confirm folding.
Best Regards,
Chaithra E.
Hi @sailkitty5 : can you share the size of the semantic model and whats the database you are using .
What is the response time that you are expecting ? it depends upon the visual and underlying dax too..
40 million rows per year is not a huge data, you can still implement incremental refresh on the fact table and import it .
if you can share more details on this the community can help better .
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 16 | |
| 12 | |
| 10 | |
| 7 | |
| 6 |