Querydiagnose opnemen in Power BI

Bij het ontwerpen in Power Query is de basiswerkstroom dat u verbinding maakt met een gegevensbron, enkele transformaties toepast, uw gegevens mogelijk vernieuwt in de Power Query-editor en laadt u deze vervolgens in het Power BI-model. Zodra het in het Power BI-model staat, kunt u het van tijd tot tijd vernieuwen in Power BI Desktop (als u Desktop gebruikt om analyses weer te geven), afgezien van eventuele vernieuwingen die u in de service uitvoert.

Hoewel u mogelijk een vergelijkbaar resultaat krijgt aan het einde van een ontwerpwerkstroom, vernieuwen in de editor of vernieuwen in Power BI, worden er zeer verschillende evaluaties uitgevoerd door de software voor de verschillende gebruikerservaringen. Het is belangrijk om te weten wat u kunt verwachten bij het uitvoeren van querydiagnose in deze verschillende werkstromen, zodat u niet verrast bent door de zeer verschillende diagnostische gegevens.

Als u Querydiagnose wilt starten, gaat u naar het tabblad Extra op het lint van de Power Query-editor. U krijgt hier een aantal verschillende opties te zien.

Besturingselement voor querydiagnose.

Er zijn hier twee primaire opties: 'Diagnosestap' en 'Diagnostische gegevens starten' (gekoppeld aan 'Diagnostische gegevens stoppen'). De eerste geeft u informatie over een query tot aan een geselecteerde stap en is het handigst om te begrijpen welke bewerkingen lokaal of extern in een query worden uitgevoerd. Deze laatste geeft u meer inzicht in een verscheidenheid aan andere zaken, die hieronder worden besproken.

Verbinding maken or-specifieke gegevens

Het is belangrijk te vermelden dat er geen manier is om alle verschillende permutaties te behandelen van wat u ziet in Query Diagnostics. Er zijn veel dingen die precies kunnen veranderen wat u in de resultaten ziet:

  • Connector
  • Toegepaste transformaties
  • Systeem waarop u werkt
  • Netwerkconfiguratie
  • Geavanceerde configuratieopties
  • ODBC-configuratie

Voor de meest brede dekking is deze documentatie gericht op querydiagnose van de tabel Northwind Customers, zowel op SQL als OData. De OData-notities gebruiken het openbare eindpunt op de OData.org website, terwijl u zelf een SQL-server moet opgeven. Veel gegevensbronnen verschillen aanzienlijk van deze gegevensbronnen en er worden na verloop van tijd connectorspecifieke documentatie toegevoegd.

Diagnostische gegevens starten/stoppen

'Diagnostische gegevens starten' en 'Diagnostische gegevens stoppen' zijn breder van toepassing dan 'Diagnosestap', maar geven u ook veel meer informatie die u moet sorteren. Als u bijvoorbeeld diagnostische gegevens start, een voorbeeld vernieuwt en vervolgens stopt, krijgt u equivalente informatie over het uitvoeren van diagnosestap bij elke stap (vanwege de werking van Power Query in de editor om elke stap afzonderlijk te vernieuwen).

Als u de opname wilt starten, selecteert u Diagnostische gegevens starten, voert u de gewenste evaluaties uit (ontwerpen, vernieuwen van een voorbeeld, volledig vernieuwen) en selecteert u Diagnostische gegevens stoppen.

Ontwerpen

Het belangrijkste verschil van de creatiewerkstroom is dat er doorgaans meer afzonderlijke evaluaties worden gegenereerd dan in andere werkstromen. Zoals besproken in het primaire artikel querydiagnose, zijn dit het gevolg van het invullen van verschillende gebruikersinterfaces, zoals de navigator of filtervervolgkeuzelijsten.

We gaan een voorbeeld doorlopen. We gebruiken de OData-connector in dit voorbeeld, maar bij het controleren van de uitvoer kijken we ook naar de SQL-versie van dezelfde database. Voor beide gegevensbronnen gaan we verbinding maken met de gegevensbron via 'Nieuwe bron', 'Recente bronnen' of 'Gegevens ophalen'. Voor de SQL-verbinding moet u referenties voor uw server invoeren, maar voor het openbare OData-eindpunt kunt u het hierboven gekoppelde eindpunt invoeren.

OData-verbinding.

Nadat u verbinding hebt gemaakt en verificatie hebt gekozen, selecteert u de tabel Klanten in de OData-service.

Noordwindnavigatie.

U krijgt dan de tabel Klanten in de Power Query-interface te zien. Stel dat we willen weten hoeveel vertegenwoordigers er zijn in verschillende landen/regio's. Klik eerst met de rechtermuisknop op Verkoopvertegenwoordiger onder de kolom Titel van contactpersoon, beweeg de muis over tekstfilters en selecteer Is gelijk aan.

Tekstfilter toepassen op de titel van de contactpersoon.

Selecteer nu Groeperen op het lint en voer een groepering per land uit, waarbij uw aggregaat een aantal is.

Groeperen op toepassen.

U ziet nu dezelfde gegevens die u hieronder ziet.

Resultaten.

Ga ten slotte terug naar het tabblad Extra van het lint en selecteer Diagnostische gegevens stoppen. Hierdoor wordt de tracering gestopt en wordt het diagnostische bestand voor u gemaakt en worden de samenvattings- en gedetailleerde tabellen aan de linkerkant weergegeven.

Als u een volledige ontwerpsessie traceren, verwacht u over het algemeen iets te zien als een bronquery-evaluatie, vervolgens evaluaties met betrekking tot de relevante navigator, en ten minste één query die wordt verzonden voor elke stap die u toepast (met mogelijk meer afhankelijk van de exacte UX-acties die zijn uitgevoerd). In sommige connectors worden parallelle evaluaties uitgevoerd om prestatieredenen die zeer vergelijkbare gegevenssets opleveren.

Voorbeeld vernieuwen

Wanneer u klaar bent met het transformeren van uw gegevens, hebt u een reeks stappen in een query. Wanneer u op 'Voorbeeld vernieuwen' of 'Alles vernieuwen' drukt in de Power Query-editor, ziet u niet slechts één stap in uw querydiagnose. De reden hiervoor is dat het vernieuwen in de Power Query-editor de query die eindigt op de laatste stap die is toegepast, expliciet wordt vernieuwd en vervolgens de toegepaste stappen en vernieuwingen voor de query tot dat moment weer naar de bron gaat.

Dit betekent dat als u vijf stappen in uw query hebt, inclusief Bron en Navigator, vijf verschillende evaluaties in uw diagnostische gegevens zult zien. De eerste, chronologisch, zal vaak (maar niet altijd) het langst duren. Dit heeft twee verschillende oorzaken:

  • Het kan mogelijk zijn dat invoergegevens die door de query's worden uitgevoerd, in de cache worden opgeslagen (eerdere stappen in de gebruikersquery) sneller lokaal toegankelijk zijn.
  • Er kunnen transformaties op worden toegepast die aanzienlijk afkappen hoeveel gegevens er moeten worden geretourneerd.

Houd er rekening mee dat wanneer u het hebt over Alles vernieuwen, alle query's worden vernieuwd en u moet filteren op de query's die u belangrijk vindt, zoals u zou verwachten.

Volledig vernieuwen

Querydiagnose kan worden gebruikt om de zogenaamde 'uiteindelijke query' te diagnosticeren die wordt verzonden tijdens het vernieuwen in Power BI, in plaats van alleen de Power Query-editor. Hiervoor moet u eerst de gegevens eenmaal in het model laden. Als u van plan bent dit te doen, moet u er rekening mee houden dat als u Sluiten en Toepassen selecteert dat het editorvenster wordt gesloten (tracering onderbreken), zodat u dit moet doen bij de tweede vernieuwing, of selecteert u het vervolgkeuzepictogram onder Sluiten en Toepassen en selecteer in plaats daarvan Toepassen.

Pas querywijzigingen toe.

Zorg er in beide gevallen voor dat u Diagnostische gegevens starten selecteert in de sectie Diagnostische gegevens van het tabblad Extra in de editor. Zodra u dit hebt gedaan, vernieuwt u het model of zelfs de tabel die u interesseert.

Tabel vernieuwen.

Zodra het laden van de gegevens naar model is voltooid, selecteert u Diagnostische gegevens stoppen.

U kunt verwachten dat er een combinatie van metagegevens en gegevensquery's wordt weergegeven. Metagegevens aanroepen halen de informatie die het kan over de gegevensbron. Het ophalen van gegevens gaat over het openen van de gegevensbron, het verzenden van de uiteindelijke opgebouwde gegevensbronquery met gevouwen bewerkingen en het uitvoeren van alle evaluaties bovenaan, lokaal.

Het is belangrijk om te weten dat alleen omdat u een resource (database, webeindpunt, enzovoort) of een gegevensbronquery in uw diagnostische gegevens ziet, dit niet betekent dat het noodzakelijkerwijs netwerkactiviteit uitvoert. Power Query kan deze informatie ophalen uit de cache. In toekomstige updates geven we aan of er al dan niet informatie wordt opgehaald uit de cache voor een eenvoudigere diagnose.

Stap diagnosticeren

'Diagnosestap' is handiger om inzicht te krijgen in welke evaluaties tot één stap plaatsvinden, waarmee u kunt identificeren, tot die stap, hoe de prestaties eruit zien en welke onderdelen van uw query lokaal of op afstand worden uitgevoerd.

Als u 'Diagnosestap' hebt gebruikt voor de query die we hierboven hebben gemaakt, zult u merken dat deze slechts 10 of zo veel rijen retourneert. Als we kijken naar de laatste rij met een gegevensbronquery, kunnen we een goed idee krijgen van wat onze uiteindelijke verzonden query naar de gegevensbron zal zijn. In dit geval kunnen we zien dat verkoopvertegenwoordiger extern is gefilterd, maar dat de groepering (door het proces van verwijdering) lokaal is uitgevoerd.

Diagnose van de gefilterde en gegroepeerde tabel Klanten.

Als u diagnostische gegevens start en stopt en dezelfde query vernieuwt, krijgen we 40 rijen als gevolg van het feit dat Power Query, zoals hierboven vermeld, informatie over elke stap krijgt, niet alleen de laatste stap. Dit maakt het moeilijker wanneer u alleen maar probeert inzicht te krijgen in een bepaald deel van uw query.

Meer artikelen

Een inleiding tot de functie

Meer informatie over het lezen en visualiseren van uw opgenomen traceringen

Begrijpen welke querybewerkingen worden gevouwen met querydiagnose