
Key Challenges
• Optimize report design.
• Load test Power BI reports.
• Implement DAX optimizations.
Leveraging Power BI Premium
Reducing Page Load Times
To reduce page load times, we optimized our client’s report
design. We removed redundant visuals from pages. We replaced the custom visuals with out-of-box visuals. We
also implemented drill through and drilldown options. To eliminate unnecessary
interactions between visuals, we removed interactions between slicers. We used
bookmarks to hide visuals during the default load. Lastly, we used the New
Filter Experience. New Filter Experience moved multi-select slicers to filters
and enabled the apply filters option.
Our report design optimizations substantially reduced page
load times. Following the optimizations, the Any Measure default view loaded
instantly. Drilldown load times also improved. Overall, our report design optimizations reduced page load times by
57%.

Stress Testing Power BI Reports
Our Power BI Premium engagement did not end with report
design optimizations. To improve data modeling, we removed the bidirectional
filter. We also implemented DAX optimizations for variable caching and the
calculate and if functions. Finally, we performed load testing using a
PowerShell script and Visual Studio.
Load testing our client’s Power BI reports presented a
unique challenge. Because powerbi.com is load balanced, we could not directly
stress test our client’s Power BI reports. To evaluate how the reports would
perform under stress, we load tested our client’s backend. We fired 1,500
queries at the backend server. The test provided our client with a general understanding of report performance.
Results of a Successful Engagement
Our Power BI Premium engagement resulted in multiple benefits for our client. Our report design optimizations reduced page load times by 57%. The backend load test demonstrated how Power BI reports performed under stress. The entire engagement provided our client’s IT department with further insight into the capabilities of Power BI Premium.
