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. At Bismart, as one of the leading Power BI partner companies in Spain, we have experts who know the best ways to get the most out of the tool.
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.
If you want, you can download our e-book with 21 best practices for reporting in Power BI.
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.
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.
Power BI has a library of custom Power BI 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.
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.
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.
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.
When Power BI reports are slower, it can significantly impact the user experience and productivity. Slowness in Power BI reports can be caused by various factors, and understanding and addressing these issues is crucial to improve performance.
Large Datasets: If the dataset being used in the report is large, it can slow down report processing and rendering. Large datasets may lead to longer data retrieval times, data model processing, and data visualizations generation.
Complex Data Transformations: If the data transformations in Power Query Editor are complex and involve numerous steps or computationally intensive operations, it can increase the time it takes to load and process the data.
Suboptimal Data Model: A poorly designed data model with inefficient relationships, unnecessary calculated columns, or excessive data duplication can lead to slower query performance.
DAX Calculations: Complex DAX (Data Analysis Expressions) calculations can negatively impact report performance. These calculations are processed at runtime and can slow down report rendering if they are resource-intensive.
Underpowered Hardware: Running Power BI reports on underpowered hardware, such as slow processors or insufficient memory, can cause slower report response times.
Network Latency: Slow internet connections or high network latency between the Power BI service and the data source can result in slower data retrieval.
Data Source Performance: The performance of the data source itself, such as a database server or web service, can affect report response times.
Visualizations and Interactivity: If the report contains complex visualizations with large datasets or heavy interactivity, it may lead to slower report rendering and responsiveness.
Overuse of DirectQuery or Live Connection: Using DirectQuery or Live Connection to connect to data sources may lead to slower report performance if the data source cannot handle the query load efficiently.
Overloaded Power BI Service: If the Power BI service is experiencing high usage or resource contention, it can impact report rendering and load times.
These are just a few examples of practices that can improve the performance of Power BI reports, but we have an extended version with many more tips in our E-book: The 21 Best Practices for Reporting in Power BI! Download it now, it's absolutely free!