Inleiding in de optimalisatie van prestaties

Voltooid

Prestatieoptimalisatie, ook wel prestaties afstemmen genoemd, omvat het aanbrengen van wijzigingen in de huidige status van het semantische model, zodat het efficiënter wordt uitgevoerd. Het komt erop neer dat wanneer uw semantische model is geoptimaliseerd, het beter presteert.

Het is mogelijk dat uw rapport goed wordt uitgevoerd in test- en ontwikkelomgevingen, maar dat er prestatieproblemen ontstaan wanneer het voor uitgebreid gebruik wordt geïmplementeerd in productie. Vanuit het perspectief van een rapportgebruiker worden slechte prestaties gekenmerkt door rapportpagina's die langzaam worden geladen en visuals die langzamer worden bijgewerkt. Deze slechte prestaties resulteren in een negatieve gebruikerservaring.

Als gegevensanalist besteedt u ongeveer 90 procent van uw tijd aan het werken met uw gegevens. Negen van de tien keer zijn slechte prestaties een direct gevolg van een slecht semantisch model, slechte Data Analysis Expressions (DAX) of de combinatie van beide. Het proces van het ontwerpen van een semantisch model voor prestaties kan omslachtig zijn en wordt vaak onderschat. Als u echter prestatieproblemen tijdens de ontwikkeling verhelpt, hebt u een robuust semantisch Power BI-model dat betere rapportageprestaties en een positievere gebruikerservaring oplevert. Uiteindelijk kunt u ook geoptimaliseerde prestaties behouden. Naarmate uw organisatie groeit, neemt de grootte van de gegevens toe en wordt het semantische model complexer. Door uw semantische model vroegtijdig te optimaliseren, kunt u de negatieve impact van deze groei op de prestaties van uw semantische model beperken.

Een kleiner semantisch model gebruikt minder resources (geheugen) en zorgt voor snellere gegevensvernieuwing, berekeningen en weergave van visuals in rapporten. Daarom omvat het proces voor prestatieoptimalisatie het minimaliseren van de grootte van het semantische model en het zo efficiënt mogelijk gebruik maken van de gegevens in het model, waaronder:

  • Controleren of de juiste gegevenstypen worden gebruikt.

  • Overbodige kolommen en rijen verwijderen.

  • Herhaalde waarden voorkomen.

  • Numerieke kolommen vervangen door metingen.

  • Het verminderen van kardinaliteit.

  • Metagegevens van modellen analyseren.

  • Waar mogelijk gegevens samenvatten.

In deze module krijgt u informatie over de stappen, processen en concepten die nodig zijn om een semantisch model te optimaliseren voor prestaties op ondernemingsniveau. Houd er echter rekening mee dat, hoewel de basisrichtlijnen voor prestaties en best practices in Power BI u een heel eind zullen leiden, om een semantisch model voor queryprestaties te optimaliseren, u waarschijnlijk moet samenwerken met een data engineer om het optimaliseren van semantische modellen in de brongegevensbronnen te stimuleren.

Stel dat u werkt als Microsoft Power BI-ontwikkelaar bij Tailwind Traders. U hebt een taak gekregen om een semantisch model te controleren dat een paar jaar geleden is gemaakt door een andere ontwikkelaar, een persoon die de organisatie sindsdien heeft verlaten.

Het semantische model produceert een rapport dat negatieve feedback van gebruikers heeft ontvangen. De gebruikers zijn tevreden over de resultaten die ze in het rapport zien, maar ze zijn niet tevreden over de rapportprestaties. Het duurt te lang om de pagina's in het rapport te laden en tabellen worden niet snel genoeg vernieuwd als bepaalde selecties worden gemaakt. Naast deze feedback heeft het IT-team benadrukt dat de bestandsgrootte van dit specifieke semantische model te groot is en dat de resources van de organisatie hierdoor worden belast.

U moet het semantische model controleren om de hoofdoorzaak van de prestatieproblemen te identificeren en wijzigingen aan te brengen om de prestaties te optimaliseren.

Aan het einde van deze module kunt u het volgende doen:

  • De prestaties van metingen, relaties en visuals controleren.

  • Variabelen gebruiken om de prestaties en probleemoplossing te verbeteren.

  • Prestaties verbeteren door het kardinaliteitsniveau te verminderen.

  • DirectQuery-modellen optimaliseren met opslag op tabelniveau.

  • Aggregaties maken en beheren.