21-10-2022

Performance tuning van Power BI dashboards

Deel dit bericht

Goede prestaties op het gebied van laadtijd zijn belangrijk om gebruikersacceptatie te verbeteren en om vertrouwen te winnen bij stakeholders. Vandaar dat we in deze blog aandacht besteden aan methoden om laadtijden te verkleinen en prestaties van rapporten te verbeteren.

We richten ons in deze blog op de twee belangrijkste manieren om de prestaties van een PowerBI dashboard te verbeteren: Het datamodel en de visualisaties in het rapport.

Datamodel
Binnen een model wil je dat velden met een bepaald datatype altijd op dezelfde manier worden weergegeven. Met een simpel script kan bijvoorbeeld het formaat van alle datumvelden worden bepaald, kunnen alle percentages hetzelfde worden geformatteerd of alle currency velden met evenveel decimalen worden weergegeven. Hieronder is een voorbeeld te zien hoe je een vast datum formaat voor alle datumvelden kan realiseren.

1AfbeeldingBlog1.png


Model optimaliseren
Je wilt een Tabular Model altijd zo klein en schoon mogelijk houden. Door het gebruik van een aantal scripts en methoden kan je via Tabular Editor het datamodel versnellen. Een paar voorbeelden waar je aan kan denken zijn:
• Velden die in relaties worden gebruikt, maar niet in visualisaties, op onzichtbaar zetten
• Velden die in meetwaarden worden gebruikt, maar niet in visualisaties, onzichtbaar maken in het model
• Velden die niet nodig zijn uit het model verwijderen

Sommaties
Bij het toevoegen van nieuwe tabellen of bij het toevoegen van aliassen (calculated tables) wordt de standaard sommatie van de velden op "Default" gezet. Dit betekent dat alle numerieke velden standaard worden gesommeerd. Dit kan natuurlijk ook in Tabular Editor zelf snel en simpel worden aangepast, maar met een script kan dat voor het hele model in een keer of alleen voor specifieke gevallen of bepaalde datatypen worden gedaan.


2AfbeeldingBlog3.png


Perspectieven
Perspectieven is een handige functionaliteit van een Tabular Model. Binnen een groot model kunnen perspectieven ervoor zorgen dat het model toch gebruiksvriendelijk en overzichtelijk voor de klant blijft (bijvoorbeeld Finance, Supply Chain). Bij het toevoegen van velden of het toevoegen van nieuwe dimensies wordt het updaten van de perspectieven vaak vergeten, waardoor deze niet meer compleet zijn en steeds lastiger te gebruiken voor de eindgebruikers. Een script die door de relaties van een model heen loopt en de tabellen aan de perspectieven toevoegt lost dit probleem op.

Verder analyseren
Naast de bovengenoemde methodes kan je nog dieper naar je meetwaarden kijken hoe deze opgebouwd zijn. Zoals het bekende spreekwoord luidt: "leiden er meerdere wegen naar Rome". Zo werkt het ook in DAX-berekeningen. Maar niet alle berekeningen ('wegen') zijn even effectief. De Performance analyzer in Power BI kan daarbij helpen. Dit hulpmiddel geeft namelijk exact weer hoe lang het duurt om elementen en visuals te laden.

3AfbeeldingBlog4.png
4AfbeeldingBlog5.png


Nadat je de pijnpunten gevonden hebt, kan je achterhalen welke meetwaarden voor verbetering vatbaar zijn. Met de DAX studio kan je vervolgens de berekeningen achter deze meetwaarden verder analyseren door te testen of andere DAX berekeningen om hetzelfde resultaat te bereiken beter werken. Het is goed om te weten dat DAX-studio als extensie/add-on in Power BI zit.

Met de Vertipaq Analyzer kan je in algemenere zin naar de data kan kijken. Hoe groot is de data binnen kolommen, hoe divers is een kolom en hoeveel rijen data bevat het.


5AfbeeldingBlog6.png

6AfbeeldingBlog7.png


Conclusie
In deze blog draag ik maar een paar mogelijkheden om de performance van een PowerBI dashboard te verbeteren. De script taal is enorm krachtig en biedt veel mogelijkheden om zaken in je model te automatiseren en uniform te maken. Met een aantal standaard scripts kan je al veel inregelen in verschillende modellen en word je veel werk uit handen genomen. Waar nodig kan je verder analyseren met tools als DAX-Studio en Vertipaq Analyzer wanneer bepaalde visuals voor trage rapporten zorgen. Lees hier over hoe je een model kan optimaliseren.

Cas Packbier is BI Consultant bij Ensior.

Partners