Power BI is a quick tool that allows you to display data with varied graphics and visuals. The tool has the ability to manage huge databases, but even so, sometimes we may find ourselves waiting minutes for the visuals to load. There are certain good practices that help to lighten the work that the machine has to carry out in a way that accelerates the processes and, therefore, the loading of the graphics.
There are many reasons that can cause poor performance in a Power BI report. Using too many graphics, too much data, using non-certified custom graphics or leaving the default options are some examples of practices that can lead to Power BI having to make an extra effort to load our report and therefore increase the time the machine needs to load.
A slow Power BI report is not only cumbersome for the end user, it can also mean that the loading time expires and the report is not displayed. To detect such problems with a Power BI report, it may be interesting to ask end users what their experience with the report was and what their habits are when working with it. In this way, reports can be better tailored to their exact needs.
If, indeed, we detect that our report has speed problems, there are some best practices that help to lighten the work that has to be carried out by the machine in a way that accelerates the processes and, therefore, the loading of the graphics.
Limit the use of graphics
Microsoft suggests limiting the number of graphics per page. That's because each graph releases at least one query per interactive filter, so a large number of graphs can slow report performance.
Use the minimum data necessary to display information
The more data a graph has to display, the longer it will take to load. It seems obvious, but sometimes we overlook this. Most of the time it is not necessary that the graph contains an infinity of data for the user to understand the message. Then it is preferable to reduce the data to the minimum necessary to increase the loading speed. If you are concerned that performance improvement might have a negative impact on the user experience you can choose to keep a larger amount of data than the user will need, but without leaving the default option that keeps the datasets whole. Remember: less is more.
Make sure you use custom Power BI visuals with good performance
Power BI has a library of custom visuals that are Microsoft certified. That means Microsoft has conducted rigorous and exhaustive tests to ensure these visuals perform at their best. The use of poorly performing visuals can affect the performance of the entire report. In addition to improved performance, Microsoft-certified custom visuals have more options than non-certified ones, such as the ability to export them to Power Point, for example. If you want more information about certified Power BI visuals you can read this blog post with the July 2019 Power BI updates.
Check that the custom visuals you use have adequate performance
Custom visuals not certified by Microsoft do not have the same performance guarantee. However, Microsoft clarifies that non-certified custom graphics are not lower quality graphics. They may simply be visuals that do not meet Microsoft's requirements for certification. If you are going to use custom graphics, carry out tests to verify that they have the expected performance or replace them with graphics that offer better features.
Reduce the number of interactions between graphics
The graphs in a report interact with each other unless we configure them specifically not to do so. Reducing the number of interactions to the minimum necessary will improve report performance.
Limit the use of slicers
Slicers are very useful to know at a glance for which situation the data is being filtered and for reports that are going to be used mostly on touch screens. However, their performance is limited, which can affect the overall functioning of the report.
These are just a few examples of practices that can improve the performance of Power BI reports. If the problem persists, there are other more technical actions that can be found in the Microsoft Best Practices manual.