Querydiagnose
Met querydiagnose kunt u een beter inzicht krijgen in wat Power Query tijdens het schrijven en tijdens het vernieuwen in de Power BI Desktop. Hoewel we deze functie in de toekomst gaan uitbreiden, met inbegrip van het toevoegen van de mogelijkheid om deze te gebruiken tijdens volledige vernieuwingen, kunt u deze op dit moment gebruiken om te begrijpen wat voor soort query's u uit geeft, welke vertragingen u kunt tegen komen tijdens het vernieuwen van het ontwerp en wat voor soort achtergrondgebeurtenissen er plaatsvinden.
Als u querydiagnose wilt gebruiken, gaat u naar het tabblad Extra op het lint Power Query Editor.

Standaard is het mogelijk dat querydiagnose beheerdersrechten moeten worden uitgevoerd (afhankelijk van het IT-beleid). Als u geen querydiagnose kunt uitvoeren, opent u de pagina Power BI-opties en selecteert u op het tabblad Diagnostische gegevens de optie Inschakelen in Query-editor (hoeft niet als beheerder te worden uitgevoerd). Met deze selectie kunt u geen diagnostische gegevens traceren bij het uitvoeren van een volledige vernieuwing in Power BI in plaats van de Power Query-editor, maar kunt u deze wel gebruiken bij het bekijken, schrijven, en meer.

Wanneer u diagnostische gegevens start, begint Power Query met het traceren van evaluaties die u veroorzaakt. De evaluatie die de meeste gebruikers denken, is wanneer u op Vernieuwen drukt of wanneer u voor de eerste keer gegevens op haalt, maar er zijn veel acties die evaluaties kunnen veroorzaken, afhankelijk van de connector. Als u bijvoorbeeld met de SQL-connector een lijst met te filteren waarden opvraagt, wordt hiermee ook een evaluatie uitgevoerd, maar wordt er geen koppeling gemaakt met een gebruikersquery en die wordt weergegeven in de diagnostische — gegevens. Andere door het systeem gegenereerde query's kunnen de navigator of de ervaring voor het opvragen van gegevens bevatten.
Wanneer u op Diagnosestap drukt, Power Query een speciale evaluatie van alleen de stap die u ziet. Vervolgens worden de diagnostische gegevens voor die stap weergegeven, zonder de diagnostische gegevens voor andere stappen in de query weer te geven. Dit kan het veel eenvoudiger maken om een beperkt overzicht van een probleem te krijgen.
Het is belangrijk dat als u alle traceringen van Diagnostische gegevens starten opneemt, u op Diagnostische gegevens stoppen drukt. Door de diagnostische gegevens te stoppen, kan de engine de vastgelegde traceringen verzamelen en parseren in de juiste uitvoer. Zonder deze stap verliest u uw traceringen.
Typen diagnostische gegevens
We bieden momenteel drie soorten diagnostische gegevens, waarvan één twee detailniveaus heeft.
De eerste van deze diagnostische gegevens zijn de primaire diagnostische gegevens, die een gedetailleerde weergave en een samengevatte weergave hebben. De samengevatte weergave is erop gericht om u direct inzicht te geven in de tijd die in uw query wordt besteed. De gedetailleerde weergave is veel gedetailleerder, regel voor regel en is in het algemeen alleen nodig voor ernstige diagnose door hoofdgebruikers.
Voor deze weergave zijn sommige mogelijkheden, zoals de kolom Gegevensbronquery, momenteel alleen beschikbaar op bepaalde connectors. We werken aan een uitbreiding van deze dekking in de toekomst.
Gegevens privacy partities bieden u een beter inzicht in de logische partities die worden gebruikt voor gegevens privacy.
Notitie
Power Query kunt evaluaties uitvoeren die u mogelijk niet rechtstreeks hebt geactiveerd. Sommige van deze evaluaties worden uitgevoerd om metagegevens op te halen, zodat we onze query's het beste kunnen optimaliseren of om een betere gebruikerservaring te bieden (zoals het ophalen van de lijst met afzonderlijke waarden in een kolom die wordt weergegeven in de ervaring Rijen filteren). Andere hebben mogelijk betrekking op de manier waarop een connector parallelle evaluaties verwerkt. Als u in uw querydiagnose herhaalde query's ziet die u niet logisch vindt, kunt u contact met ons op nemen via normale ondersteuningskanalen. Uw feedback is de manier waarop we ons — product verbeteren.
Samengevat versus gedetailleerde weergave
Diagnostische gegevens over query's bieden twee weergaven: samengevat en gedetailleerd. De samengevatte weergave 'samengevouwen' meerdere gerelateerde bewerkingen in één bewerking. In dit proces worden de gegevens die door elke bewerking worden verzameld, gecombineerd en wordt de exclusieve duur opgeteld. Er gaan geen gegevens verloren als onderdeel van dit proces.
De samengevatte weergave biedt een overzicht van wat er is gebeurd tijdens een evaluatie, voor eenvoudige beoordeling op hoog niveau. Als verdere uitsplitsing voor een specifieke bewerking wordt gezocht, kan de gebruiker de groeps-id bekijken en de bijbehorende bewerkingen bekijken die in de detailweergave zijn gegroepeerd.
Uitleg over meerdere evaluaties
Bij het vernieuwen in Power Query editor wordt er achter de schermen veel gedaan om u een vloeiende gebruikerservaring te bieden. Als u voorbeeld vernieuwt, voert de evaluator bijvoorbeeld de laatste stap van elke opgegeven query uit. Maar vervolgens worden op de achtergrond n-1-stappen, n-2, stappen, en meer op de achtergrond uitgevoerd, zodat deze al beschikbaar zijn als u uw stappen stap voor stap hebt doorlopen.
Om betere prestaties te bieden, vindt er momenteel enige caching plaats, zodat niet elk deel van het uiteindelijke queryplan opnieuw hoeft te worden uitgevoerd wanneer de stappen worden doorlopen. Hoewel deze caching nuttig is voor normaal schrijven, betekent dit dat u niet altijd de juiste vergelijkingsgegevens voor stappen krijgt vanwege latere evaluaties die gegevens in de cache ophalen.
Diagnostisch schema
Id
Bij het analyseren van de resultaten van een opname is het belangrijk om de opnamesessie te filteren op Id, zodat kolommen zoals Exclusieve duur % zinvol zijn.
Id is een samengestelde id. Deze bestaat uit twee getallen één — vóór de punt en één daarna. Het eerste getal is hetzelfde voor alle evaluaties die het resultaat zijn van een actie voor één gebruiker. Met andere woorden, als u twee keer op Vernieuwen drukt, staan er twee verschillende getallen voor de stip, één voor elke gebruikersactiviteit die wordt genomen. Deze nummering is sequentieel voor een bepaalde diagnostische opname.
Het tweede getal vertegenwoordigt een evaluatie door de engine. Dit getal is sequentieel voor de levensduur van het proces waarin de evaluatie in de wachtrij wordt geplaatst. Als u meerdere diagnostische opnamesessies hebt uitgevoerd, ziet u dat dit aantal in de verschillende sessies blijft groeien.
Samengevat: als u begint met opnemen, één keer op evaluatie drukt en de opname stopt, hebt u een aantal id's in uw diagnostische gegevens. Maar omdat u slechts één actie hebt ondernomen, zijn ze allemaal 1.1, 1.2, 1.3, en meer.
De combinatie van de activityId en de evaluationId, gescheiden door de punt, biedt een unieke id voor een evaluatie van één opnamesessie.
Query’s uitvoeren
De naam van de Query in het linkerdeelvenster van de Power Query editor.
Stap
De naam van de stap in het rechterdeelvenster van de Power Query editor. Zaken zoals filter vervolgkeuzeopties zijn in het algemeen te koppelen aan de stap waar u op filtert, zelfs als u de stap niet ververst.
Categorie
De categorie van de bewerking.
Soort gegevensbron
Dit vertelt u tot welk soort gegevensbron u toegang hebt, zoals SQL of Oracle.
Bewerking
De werkelijke bewerking die wordt uitgevoerd. Deze bewerking kan bestaan uit evaluatorwerk, het openen van verbindingen, het verzenden van query's naar de gegevensbron en nog veel meer.
Begintijd
Het tijdstip dat de bewerking is gestart.
Eindtijd
De tijd dat de bewerking is beëindigd.
Exclusieve duur (%)
De kolom Exclusieve duur van een gebeurtenis is de hoeveelheid tijd dat de gebeurtenis actief was. Dit is een contrast met de waarde 'duration' die het resultaat is van het aftrekken van de waarden in de kolom Begintijd en Eindtijd van een gebeurtenis. Deze waarde voor 'duration' vertegenwoordigt de totale tijd die is verstreken tussen het begin en het einde van een gebeurtenis, wat kan bestaan uit tijden waarop de gebeurtenis is opgeschort of niet actief was en een andere gebeurtenis resources verbruikt.
Exclusief duur % komt bij elkaar op ongeveer 100% binnen een bepaalde evaluatie, zoals vertegenwoordigd door de kolom Id. Als u bijvoorbeeld filtert op rijen met id 1.x, worden de percentages exclusieve duur opgeteld tot ongeveer 100%. Dit is niet het geval als u de waarden voor Exclusive Duration % van alle rijen in een bepaalde diagnostische tabel optelt.
Exclusieve duur
De absolute tijd, in plaats van %, van exclusieve duur. De totale duur (dat wil zeggen, exclusieve duur + tijd wanneer de gebeurtenis inactief was) van een evaluatie kan op een van de volgende twee manieren worden berekend:
Zoek de bewerking met de naam 'Evaluatie'. Het verschil tussen begintijd – eindtijd resulteert in de totale duur van een gebeurtenis.
De minimale begintijd van alle bewerkingen in een gebeurtenis aftrekken van de maximale eindtijd. Houd er rekening mee dat in gevallen waarin de verzamelde gegevens voor een gebeurtenis geen rekening houden met de totale duur, een bewerking met de naam 'Hiaten traceren' wordt gegenereerd om rekening te houden met deze tijdshiaat.
Resource
De resource die u gebruikt voor gegevens. De exacte indeling van deze resource is afhankelijk van de gegevensbron.
Gegevensbronquery
Power Query doet iets met de naam Folding. Dit is het uitvoeren van zoveel mogelijk onderdelen van de query op de back-endgegevensbron. In de directquerymodus (over Power Query), indien ingeschakeld, worden alleen transformaties uitgevoerd die vouwen. In de importmodus worden transformaties die niet kunnen worden gevouwen, lokaal uitgevoerd.
In de kolom Gegevensbronquery kunt u zien welke query of HTTP-aanvraag/antwoord is verzonden op basis van de back-endgegevensbron. Wanneer u uw query in de editor maakt, worden er veel gegevensbronquery's uitgezonden. Sommige van deze zijn de uiteindelijke gegevensbronquery om de preview weer te geven, maar andere kunnen zijn voor gegevensprofilering, filter vervolgkeuzevensters, informatie over joins, het ophalen van metagegevens voor schema's en een aantal andere kleine query's.
Over het algemeen hoeft u zich geen zorgen te maken over het aantal gegevensbronquery's dat wordt ingediend, tenzij er specifieke redenen zijn om zich zorgen te maken. In plaats daarvan moet u zich richten op het ophalen van de juiste inhoud. Deze kolom kan ook helpen bepalen of de Power Query volledig is gevouwen.
Aanvullende informatie
Er wordt veel informatie opgehaald door onze connectors. Veel van deze kolom is niet goed in een standaardkolomhiërarchie passen. Deze informatie wordt in een record in de aanvullende infokolom gezet. Informatie die is vastgelegd vanuit aangepaste connectors, wordt hier ook weergegeven.
Aantal rijen
Het aantal rijen dat wordt geretourneerd door een gegevensbronquery. Niet ingeschakeld op alle connectors.
Inhoudslengte
Inhoudslengte geretourneerd door HTTP-aanvragen, zoals vaak gedefinieerd. Dit is niet ingeschakeld in alle connectors en is niet nauwkeurig voor connectors die aanvragen in segmenten ophalen.
Is gebruikersquery
Een Booleaanse waarde die aangeeft of het een query is die is geschreven door de gebruiker en aanwezig is in het linkerdeelvenster of dat deze is gegenereerd door een andere gebruikersactie. Andere gebruikersacties kunnen bijvoorbeeld filterselectie bevatten of het gebruik van de navigator in de ervaring Gegevens opdoen.
Pad
Pad vertegenwoordigt de relatieve route van de bewerking wanneer deze wordt bekeken als onderdeel van een intervalstructuur voor alle bewerkingen binnen één evaluatie. Bovenaan (root) van de structuur is er één bewerking met de naam Evaluatie met pad 0. De begintijd van deze evaluatie komt overeen met het begin van deze evaluatie als geheel. De eindtijd van deze evaluatie laat zien wanneer de hele evaluatie is voltooid. Deze bewerking op het hoogste niveau heeft een exclusieve duur van 0, omdat het enige doel ervan is om te fungeren als de hoofdmap van de structuur.
Verdere bewerkingen vertakking van de hoofdmap. Een bewerking kan bijvoorbeeld '0/1/5' als pad hebben. Dit pad wordt begrepen als:
- 0: hoofdstructuur
- 1: het bovenliggende van de huidige bewerking
- 5: index van de huidige bewerking
Bewerking '0/1/5' kan een onderliggend knooppunt hebben. In dat geval heeft het pad de notatie '0/1/5/8', waarbij 8 de index van het onderliggende knooppunt vertegenwoordigt.
Groeps-id
Het combineren van twee (of meer) bewerkingen gebeurt niet als dit leidt tot detailverlies. De groepering is ontworpen om 'opdrachten' te benaderen die tijdens de evaluatie worden uitgevoerd. In de gedetailleerde weergave delen meerdere bewerkingen een groeps-id, die overeenkomt met de groepen die worden geaggregeerd in de weergave Samenvatting.
Net als bij de meeste kolommen is de groeps-id alleen relevant binnen een specifieke evaluatie, zoals gefilterd op de kolom Id.
Schema voor gegevens privacypartities
Id
Hetzelfde als de id voor de andere diagnostische resultaten van de query. Het gehele getal vertegenwoordigt één activiteits-id, terwijl het breukdeel één evaluatie vertegenwoordigt.
Partitiesleutel
Komt overeen met de query/stap die wordt gebruikt als firewallpartitie.
Firewallgroep
Categorisatie die verklaart waarom deze partitie afzonderlijk moet worden geëvalueerd, inclusief details over het privacyniveau van de partitie.
Toegang tot resources
Lijst met resourcepaden voor alle resources die door deze partitie worden gebruikt en is in het algemeen een unieke identificatie van een gegevensbron.
Partitie-invoer
Lijst met partitiesleutels waarvan de huidige partitie afhankelijk is (deze lijst kan worden gebruikt om een grafiek te bouwen).
Expression
De expressie die wordt geëvalueerd boven op de query/stap van de partitie. In verschillende gevallen valt deze samen met de query/stap.
Begintijd
Het tijdstip waarop de evaluatie voor deze partitie is gestart.
Eindtijd
Het tijdstip waarop de evaluatie voor deze partitie is beëindigd.
Duur
Een waarde die is afgeleid van De eindtijd min Begintijd.
Exclusieve duur
Als wordt aangenomen dat partities in één thread worden uitgevoerd, is de exclusieve duur de 'echte' duur die aan deze partitie kan worden toegewezen.
Exclusief duur %
Exclusieve duur als een percentage.
Diagnostiek
Deze kolom wordt alleen weergegeven wanneer de querydiagnose 'Geaggregeerd' of 'Gedetailleerd' ook wordt vastgelegd, zodat de gebruiker kan corresponderen tussen de twee diagnostische uitvoer.
Prestatiemetersschema
Wanneer u prestatiemeters gebruikt, maakt elke halve seconde Power Query momentopname van het resourcegebruik. Deze momentopname is niet nuttig voor zeer snelle query's, maar kan handig zijn voor query's die veel meer resources gebruiken.
Percentage processortijd
Percentage tijd dat processors aan de query hebben besteed. Dit percentage kan hoger zijn dan 100% vanwege meerdere processors.
Totale processortijd
Totale duur van de processortijd die aan de query is besteed.
IO-gegevens bytes per seconde
Doorvoersnelheid van gegevens die zijn ontvangen van de gegevensbron, uitgedrukt in bytes per seconde.
Commit (bytes)
De hoeveelheid virtueel geheugen die door de evaluatie is gereserveerd.
Werkset (bytes)
De hoeveelheid geheugen die door de evaluatie is gereserveerd.
Meer artikelen
Diagnostische gegevens in verschillende gebruiksgevallen registreren
Meer informatie over het lezen en visualiseren van uw vastgelegde traceringen
Begrijpen welke querybewerkingen worden gevouwen met querydiagnose