Prestatieproblemen oplossen

Voltooid

Soms moeten organisaties prestatieproblemen oplossen wanneer er rapporten worden uitgevoerd. Power BI voorziet in het hulpprogramma Performance Analyzer om te helpen bij het oplossen van problemen en om het proces te stroomlijnen.

Denk aan het scenario waarin u rapporten maakt voor het verkoopteam in uw organisatie. U hebt uw gegevens uit verschillende tabellen in de SQL-database van het verkoopteam geïmporteerd door via DirectQuery een gegevensverbinding met de database te maken. Wanneer u voorlopige visuals en filters maakt, ziet u dat query's voor sommige tabellen sneller worden uitgevoerd dan voor andere tabellen. Ook worden sommige filters sneller verwerkt dan andere filters.

Prestaties optimaliseren in Power Query

De prestaties van Power Query zijn afhankelijk van de prestaties op gegevensbronniveau. De verscheidenheid aan gegevensbronnen die Power Query biedt, is breed en de technieken voor het afstemmen van prestaties voor elke bron zijn even breed. Als u bijvoorbeeld gegevens ophaalt uit een Microsoft SQL Server, moet u de richtlijnen voor het optimaliseren van prestaties voor het product volgen. Goede SQL Server technieken voor het afstemmen van prestaties zijn het maken van indexen, hardware-upgrades, het afstemmen van het uitvoeringsplan en gegevenscompressie. Deze onderwerpen worden hier niet uitgebreid behandeld maar worden alleen als voorbeeld genoemd om vertrouwd te raken met uw gegevensbron en de voordelen te benutten bij het gebruik van Power BI en Power Query.

Power Query profiteert van de goede prestaties van de gegevensbron door een techniek die Query Folding wordt genoemd.

Query Folding

Met Query Folding in de Power Query-editor worden de prestaties van uw Power BI-rapporten verbeterd. Query folding is het proces waarmee de transformaties en bewerkingen die u in Power Query-editor aanbrengt, gelijktijdig worden bijgehouden als systeemeigen query's of eenvoudige SQL-instructies selecteren, terwijl u actief transformaties aanbrengt. De reden voor het implementeren van dit proces is om ervoor te zorgen dat deze transformaties kunnen plaatsvinden op de oorspronkelijke gegevensbronserver en power BI-computingresources niet overbelasten.

U kunt Power Query gebruiken om gegevens in Power BI te laden. Gebruik vervolgens Power Query-editor om uw gegevens te transformeren, zoals het wijzigen van de naam of het verwijderen van kolommen, het toevoegen, parseren, filteren of groeperen van uw gegevens.

Zo kunt u enkele kolommen in de verkoopgegevens een nieuwe naam geven en de kolommen voor de plaats en de provincie samenvoegen tot één notatie voor de plaats en de provincie. Deze wijzigingen worden door de functie Query Folding bijgehouden in de systeemeigen query's. Wanneer u de gegevens laadt, worden de transformaties onafhankelijk in de oorspronkelijke bron uitgevoerd. Dit zorgt ervoor dat de prestaties in Power BI optimaal zijn.

De voordelen van Query Folding zijn:

  • Meer efficiëntie bij het vernieuwen van gegevens en incrementele vernieuwingen. Wanneer u gegevenstabellen importeert met behulp van query folding, is Power BI beter in staat om resources toe te wijzen en de gegevens sneller te vernieuwen, omdat Power BI niet elke transformatie lokaal hoeft uit te voeren.

  • Automatische compatibiliteit met DirectQuery- en Dual-opslagmodi. Alle gegevensbronnen in de DirectQuery- en Dual-opslagmodi moeten op de back-endserver kunnen worden verwerkt om een directe verbinding te maken, wat wil zeggen dat Query Folding een automatische mogelijkheid is die u kunt gebruiken. Als alle transformaties kunnen worden gereduceerd tot één Select-instructie, kan er Query Folding plaatsvinden.

In het volgende scenario wordt geïllustreerd hoe Query Folding plaatsvindt. In dit scenario past u een set query's toe op meerdere tabellen. Nadat u een nieuwe gegevensbron hebt toegevoegd met behulp van Power Query en u bent omgeleid naar de Power Query-editor, gaat u naar het deelvenster Query-instellingen en klikt u met de rechtermuisknop op de laatste toegepaste stap, zoals wordt weergegeven in de volgende afbeelding.

Als de optie Systeemeigen query weergeven niet beschikbaar is (niet vetgedrukt weergegeven), is het niet mogelijk om query's te vouwen voor deze stap en moet u achteruit werken in het gebied Toegepaste stappen totdat u bij de stap bent waarin Systeemeigen query weergeven beschikbaar is (vet weergegeven). Met dit proces wordt de systeemeigen query weergegeven die wordt gebruikt om het semantische model te transformeren.

Systeemeigen query's zijn niet mogelijk voor de volgende transformaties:

  • Een indexkolom toevoegen
  • Kolommen uit verschillende tabellen met twee verschillende bronnen samenvoegen en toevoegen
  • Het gegevenstype van een kolom wijzigen

Een goede richtlijn om te onthouden is dat u Query Folding kunt gebruiken als u een transformatie kunt vertalen in een SQL-instructie Select, die operators en componenten zoals GROUP BY, SORT BY, WHERE, UNION ALL en JOIN bevat.

Query Folding is één manier om de prestaties bij het ophalen, importeren en voorbereiden van gegevens te optimaliseren. Een andere manier is diagnostische gegevens opvragen.

Diagnostische gegevens opvragen

Een ander hulpprogramma dat u kunt gebruiken om de queryprestaties te bestuderen, is Diagnostische gegevens opvragen. U kunt bepalen welke knelpunten er kunnen zijn tijdens het laden en transformeren van uw gegevens, het vernieuwen van uw gegevens in Power Query, het uitvoeren van SQL-instructies in Power Query-editor, enzovoort.

Als u toegang wilt krijgen tot het opvragen van diagnostische gegevens in de Power Query-editor, gaat u naar Hulpprogramma's op het startlint. Wanneer u klaar bent om te beginnen met het transformeren van uw gegevens of het aanbrengen van andere bewerkingen in Power Query-editor, selecteert u Diagnostische gegevens starten in de sectie Sessiediagnose. Wanneer u klaar bent, moet u Diagnostische gegevens stoppen selecteren.

Als u Diagnosestap selecteert, ziet u hoe lang het duurt om deze stap uit te voeren, zoals wordt weergegeven in de volgende afbeelding. Deze selectie laat u weten of een stap meer tijd in beslag neemt dan andere, wat vervolgens als uitgangspunt fungeert voor verder onderzoek.

Dit hulpprogramma is handig wanneer u de prestaties aan de Power Query kant wilt analyseren voor taken zoals het laden van semantische modellen, het uitvoeren van gegevensvernieuwing of het uitvoeren van andere transformatieve taken.

Andere technieken om prestaties te optimaliseren

Andere manieren om de queryprestaties in Power BI te optimaliseren zijn:

  • Zoveel mogelijk gegevens in de oorspronkelijke gegevensbron verwerken. U kunt de gegevens verwerken met Power Query en de Power Query-editor, maar de verwerkingskracht die nodig is om deze taak uit te voeren, kan de prestaties in andere gebieden van uw rapporten verlagen. Het is in het algemeen een goed idee om zoveel mogelijk te verwerken in de systeemeigen gegevensbron.

  • Systeemeigen SQL-query's gebruiken. Wanneer u DirectQuery gebruikt voor SQL-databases, zoals in ons scenario, moet u ervoor zorgen dat u geen gegevens ophaalt uit opgeslagen procedures of CTE's (Common Table Expressions).

  • Datum en tijd scheiden, als deze zijn gekoppeld. Als een van de tabellen kolommen bevat waarin de datum en de tijd worden gecombineerd, moet u ervoor zorgen dat u deze in afzonderlijke kolommen scheidt voordat u ze in Power BI importeert. Met deze methode worden de compressiemogelijkheden verbeterd.

Zie Richtlijnen voor Query Folding en Query Folding voor meer informatie.