Power BI Best Practices
This guide covers the best practices you need to improve your Power BI performance, security, and design. As a Microsoft Fabric Featured Partner and the 2021 Power BI Partner of the Year, we have proven expertise in Power BI migration and optimization.
Performance
1. Limit the number of visuals in dashboards and reports
Using too many visuals slows report performance as each visual requires data processing and rendering. Limit widget visuals to eight per report page, grids to one per page, and tiles to 10 per dashboard. Consider Power BI's new card visual, which displays multiple cards within a single container — consolidating information into a single query.
2. Use the on-premises data gateway in standard mode (not personal mode)
Personal mode imports data into Power BI, which can cause resource limitations and performance issues with large databases. Standard mode keeps data in its original location, minimizing duplication, reducing memory usage, and avoiding bottlenecks.
3. Use separate gateways for live connection and scheduled refresh
Sharing one gateway for DirectQuery live connections and scheduled refresh can overload it during refreshes and slow live connections. Separate gateways let each workload run efficiently without affecting the other.
4. Use calculated measures and filters for complex aggregations
Calculated measures evaluated at query time are more efficient than calculated columns for complex aggregations. Pair them with filters to keep query performance predictable.
5. Push calculations to the source
Offloading processing to the source optimizes query execution. Calculations evaluated closer to the data are generally faster than running them inside Power BI.
6. Use a star schema instead of snowflake when possible
Star schemas are simpler and more denormalized than snowflake schemas. They reduce required joins, accelerate query execution, simplify report development, and ease maintenance.
7. Use slicers sparingly
Each slicer fires two queries (data and selection details). Too many slicers drastically slow performance. Use the Filter pane to evaluate and remove unnecessary slicers.
8. Host reports and data sources in the same region
Hosting the Power BI tenant and data source in the same region minimizes network latency and speeds up data transfer, query execution, and report rendering.
9. Partition data and process multiple partitions in parallel for large semantic models
Partitioning splits large tables into smaller subsets based on specific criteria. Power BI uses columnar indexes, so longer, leaner tables perform better. Importing only the necessary fields and tables improves loading efficiency and reduces resource consumption.
10. Use calculation groups to reduce redundant measures
Calculation groups let you define calculations (like time intelligence) once and apply them to multiple measures, reducing measure count and simplifying maintenance.
11. Use templates (.PBIT files) instead of starting with an empty .PBIX
Templates enable standardized, branded reports faster. They save custom color palettes and themes, auto-connect to commonly used data sources, and ship with common DAX measures.
12. Use query reduction settings
Add an Apply button to slicers and the filter pane so changes only fire queries when the user clicks Apply. This reduces the number of queries triggered, especially in complex reports.
13. Avoid bi-directional and many-to-many relationships against high-cardinality columns
These relationships significantly impact performance due to increased data processing and query complexity. Avoiding them on high-cardinality columns reduces resource consumption and speeds up rendering.
14. Avoid floating-point data types
Float and double can introduce round-off errors and require more processing power. Avoiding them improves accuracy and report efficiency.
15. Replace the auto-generated date table with a custom date table
Auto-generated date tables create a separate table for each date column, bloating the model. A single custom date table (with date and time split for better compression) streamlines the model and enables more efficient time intelligence.
16. Set IsAvailableInMdx to false on non-attribute columns
Disabling attribute hierarchy for non-attribute columns (like measures) streamlines the data model, reducing size and load time.
17. Reduce the amount of data loaded on the page
Use bookmarks, drillthrough pages, and tooltips to reduce data loaded at once. This improves page load times — especially on landing pages where quick access matters most.
18. Use report backgrounds for static images
Background images use fewer resources than rendering multiple individual visuals for the same effect.
19. Choose the ideal storage mode for tables
Choose Import, DirectQuery, or Dual based on data aggregation needs and visualization requirements. The storage mode directly affects responsiveness and efficiency.
20. Cross-check referential integrity for relationships
In DirectQuery sources with enforced primary keys, verify the Assume Referential Integrity setting. If Off, Power BI defaults to slower outer joins instead of inner joins.
Security
1. Enable and optimize Row-Level Security (RLS)
RLS limits data access based on user roles, so Power BI only imports data the user is authorized to view. Keep RLS logic simple and push complex calculations to the source to reduce the computational load on Power BI.
2. Use Power BI-certified custom visuals
Certified visuals have passed rigorous quality testing and are the only custom visuals that work in Export to PowerPoint mode and email subscriptions. Microsoft verifies their performance and robustness.
3. Categorize report data by business impact using sensitivity labels
Sensitivity labels (High, Medium, Low Business Impact) raise user awareness about data security. High-impact data requires a policy exception to be shared externally, helping enforce appropriate handling of sensitive information.
Design
1. Align cache update frequency with data source refresh
Power BI's default cache update frequency is one hour. Synchronizing it with the source refresh frequency ensures data accuracy and avoids unnecessary processing.
2. Use white or light background colors
Light backgrounds make reports printer-friendly and easier to share both online and offline.
3. Shorten displayed numbers
Limit displayed numerals to four digits and decimals to two places. This improves readability and consistency, especially when scaling to thousands or millions.
4. Use tooltips for additional information
Tooltips add context in a compact form. Curate the visuals inside them so they help without overwhelming the user.
5. Use meaningful names for report objects
Use clear, business-friendly names for columns and measures, and hide unused columns to reduce user confusion.
6. Enable personalization of visuals
Turn on the Personalize visuals option when sharing reports. Combined with personal bookmarks, it empowers users and facilitates self-service BI.
7. Avoid visual/page scrolls and non-standard report sizes
Excessive scrolling disrupts analysis. Non-standard sizes display inconsistently across devices, producing poor responsiveness and a disjointed visual presentation.
8. Use drillthrough buttons instead of right-click navigation
Drillthrough buttons with context-driven conditional formatting offer a more intuitive way for users to explore data than right-click drillthrough.
9. Optimize visual interactions
Evaluate cross-filtering and cross-highlighting interactions. Remove the ones not relevant to your audience. For DirectQuery reports, use the Optimize Ribbon to tune interactivity.
10. Use field parameters for dynamic reporting
Field parameters let users switch the measure or dimension being analyzed inside a visual, reducing the need for duplicate visuals or bookmarks.
- Improve your Power BI performance and security with our best practices — MAQ Software
- Tips for designing a great Power BI dashboard — Microsoft Corporation, published October 20, 2025
- Optimization guide for Power BI — Microsoft Corporation, published December 30, 2024
- Customize the Visualizations pane in Power BI Desktop and the Power BI service — Microsoft Corporation, published October 1, 2025
Want a Power BI performance, security, and design review on your tenant? MAQ Software's Power BI team can help.
Talk to our team
DAX Best Practice Guide
Improve your Power BI performance with our 22 DAX best practices.
Read More