We are all (hopefully) familiar with the Best Practice Analyzer in the amazing Tabular Editor. Following the Best Practice Rules in the aforementioned tool allow you to hone and optimize the performance and design of your Power BI (tabular) model. However, what about optimizing the actual Power BI report? Aren't there best practice rules for designing a performant Power BI report?
Report Analyzer Recommendations
Version 1.1.0 of Report Analyzer comes with a new feature which is the start of just that. A recommendation engine for ensuring best practices are followed on the report side. This version of Report Analyzer provides 6 out-of-the-box recommendations which are accessible via the 'View Recommendations' button on the top right of the screen (see below).
Once you click on the 'View Recommendations' button, Report Analyzer scans your report to check for violations of the set recommendations. Additional context is provided via tooltips (on hover) for both the recommendations and the objects which violate the recommendation. Additionally, clicking on an object which violates a recommendation will navigate you to that particular object (or the relevant page).
The Recommendations
Remove custom visuals which are not used in the report.
Custom visuals which are not used in the report should be removed. Having them in the report may take up extra resources.
Reduce the number of visible visuals on the page.
Having too many visible visuals on a page is a classic reason for poor performing reports. Reducing this (where possible) may help improve performance.
Reduce the number of objects within visuals.
Sometimes there are tons of measures and columns on a single visual (usually a table or matrix). Having a plethora of such objects can make performance worse. Therefore, reducing the number of objects may improve the visual's performance.
Reduce usage of TopN filtering within visuals.
TopN filtering can be an expensive operation (depending on the measure and column cardinality).
Reduce usage of filters on measures.
Filtering on a measure within a visual can add a performance overhead tax. Reducing usage of such filters (where possible) may speed up your visual.
Avoid setting 'Show items with no data' on columns.
This setting should always be avoided as it creates a much larger table for Power BI's engine to scan and the resulting output is not necessarily useful.
Conclusion
Currently the rules are coded into the tool and cannot be modified. This is likely to change in a future version of Report Analyzer. This release of the Recommendations engine is just a taste! Try it out and feel free to submit feedback (here in the comments or on GitHub).
Hey,
The ”Report Best Practice” recommendations is a great addition!
Looking forward to being able to add customize rules (Like TE Best Practices). In the interim, adding a rule to check for Filter visuals that are in Checkbox Mode instead of Dropdown Mode would be great, as Ive found loading each of these filters checkboxes can take time, and other visuals will only load after these have been populated (especially if you have a default value selected in the filter visual!).