Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
One of my customers has a data platform where they have a large number of fact and dimension tables with huge amounts of data. They are struggling with developing reports in Power BI desktop, as performance is dramatic and it often freezes.
Question is, what kind of best practices are there when it comes to developing reports and what are they doing right and what are they doing wrong:
At other companies, do they perhaps create per use case a specific view or dataset that is limited for that purpose only, so that Power BI only gets what is needed for that use case? Meaning all aggregation and such is done prior to doing visualization in Power BI? or are there other best practices to consider?
Solved! Go to Solution.
Hi @Maerkus
Optimize Data Model: Streamline the data model by removing unnecessary columns, combining tables where possible, and ensuring that the model is as simple and flat as possible. This can improve both the performance and the ease of use in report development.
Use Aggregated Tables: For large datasets, consider creating aggregated tables that summarize the data at a higher level. Power BI can automatically use these tables for visuals that don't require the detail level, improving performance.
Incremental Data Loading: If using Import mode in some scenarios, consider implementing incremental data refreshes to reduce the volume of data loaded and processed during each refresh.
Optimize DirectQuery: When using DirectQuery, it's crucial to optimize the source database for the queries Power BI will execute. This might involve creating indexes, optimizing query performance in the database, and minimizing the complexity of DAX queries that translate into complex SQL queries.
Avoid Bi-directional Relationships: Unless absolutely necessary, avoid bi-directional relationships as they can cause performance issues and model complexity. Stick to single-direction relationships.
Best Regards,
Jayleny
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Maerkus
Optimize Data Model: Streamline the data model by removing unnecessary columns, combining tables where possible, and ensuring that the model is as simple and flat as possible. This can improve both the performance and the ease of use in report development.
Use Aggregated Tables: For large datasets, consider creating aggregated tables that summarize the data at a higher level. Power BI can automatically use these tables for visuals that don't require the detail level, improving performance.
Incremental Data Loading: If using Import mode in some scenarios, consider implementing incremental data refreshes to reduce the volume of data loaded and processed during each refresh.
Optimize DirectQuery: When using DirectQuery, it's crucial to optimize the source database for the queries Power BI will execute. This might involve creating indexes, optimizing query performance in the database, and minimizing the complexity of DAX queries that translate into complex SQL queries.
Avoid Bi-directional Relationships: Unless absolutely necessary, avoid bi-directional relationships as they can cause performance issues and model complexity. Stick to single-direction relationships.
Best Regards,
Jayleny
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Thank you for all your suggestions everyone, I will look into it further, but this answer confirms my thoughts and gives me some new ideas.
For performance, they shouldn't be brining in tables (or columns) that are not used in the report. It seems counter intuitive because "what if I want to see it this way?" always comes up. But, you need to design it for performance as well! For instance if you are designing a shoe and want it to be fast, you wouldn't include built-in snow shoes in case it might snow... If the use case calls for a fast snow shoe, just redesign (be sure to emphesize this isn't always easy!).
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
56 | |
54 | |
54 | |
37 | |
29 |
User | Count |
---|---|
78 | |
64 | |
45 | |
40 | |
40 |