Diagnostische gegevens opvragen
Met querydiagnose kunt u een beter inzicht krijgen in wat Power Query doet bij het ontwerpen en vernieuwen in Power BI Desktop. Hoewel deze functie in de toekomst wordt uitgebreid, inclusief 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 verzendt, welke vertragingen u kunt tegenkomen tijdens het vernieuwen van het ontwerpen en wat voor achtergrondgebeurtenissen er gebeuren.
Als u Querydiagnose wilt gebruiken, gaat u naar het tabblad Extra op het lint van de Power Query-editor.
Querydiagnose vereist standaard mogelijk dat beheerdersrechten worden uitgevoerd (afhankelijk van IT-beleid). Als u merkt dat u querydiagnose niet kunt uitvoeren, opent u de pagina met opties voor Power BI Desktop en selecteert u Inschakelen in Power Query-editor (hoeft niet als beheerder te worden uitgevoerd). Met deze selectie kunt u geen diagnostische gegevens traceren wanneer u een volledige vernieuwing uitvoert in Power BI in plaats van de Power Query-editor. Maar u kunt het nog steeds gebruiken bij het bekijken, ontwerpen, enzovoort.
Wanneer u diagnostische gegevens start, begint Power Query met het traceren van eventuele evaluaties die u veroorzaakt. De evaluatie waarvan de meeste gebruikers denken, is wanneer u op vernieuwen drukt of wanneer u gegevens voor het eerst ophaalt. Er zijn echter veel acties die evaluaties kunnen veroorzaken, afhankelijk van de connector. Als u bijvoorbeeld met de SQL-connector een lijst met waarden ophaalt om te filteren, wordt er ook een evaluatie gestart, maar wordt deze niet gekoppeld aan 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 ophalen van gegevens bevatten.
Wanneer u op Diagnosestap drukt, voert Power Query een speciale evaluatie uit van alleen de stap die u bekijkt. Vervolgens ziet u de diagnostische gegevens voor die stap, zonder dat u de diagnostische gegevens voor andere stappen in de query hoeft weer te geven. Deze evaluatie kan het veel gemakkelijker maken om een beperkt beeld te krijgen van een probleem.
Het is belangrijk dat als u alle traceringen van startdiagnose opneemt en u op Diagnostische gegevens stoppen drukt. Door de diagnostische gegevens te stoppen, kan de engine de vastgelegde traceringen verzamelen en deze parseren in de juiste uitvoer. Zonder deze stap gaan traceringen verloren.
Typen diagnostische gegevens
We bieden momenteel drie typen diagnostische gegevens, waarvan er twee detailniveaus zijn.
De eerste van deze diagnostische gegevens zijn de primaire diagnostische gegevens, die een gedetailleerde weergave en een samengevatte weergave hebben. De samengevatte weergave is bedoeld om u direct inzicht te geven in de tijd die in uw query wordt besteed. De gedetailleerde weergave is veel dieper, lijn per 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 voor bepaalde connectors. We werken eraan om de breedte van deze dekking in de toekomst uit te breiden.
Gegevensprivacypartities bieden u een beter inzicht in de logische partities die worden gebruikt voor gegevensprivacy.
Notitie
Power Query kan 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 Filterrijen). Andere zijn mogelijk gerelateerd aan de manier waarop een connector parallelle evaluaties verwerkt. Tegelijkertijd kunt u, als u in uw querydiagnose herhaalde query's ziet die u niet logisch vindt, contact opnemen via normale ondersteuningskanalen. Uw feedback is hoe we ons product verbeteren.
Samengevatte versus gedetailleerde weergave
Querydiagnose biedt twee weergaven: samengevat en gedetailleerd. In de samengevatte weergave worden meerdere gerelateerde bewerkingen samengevouwen tot één bewerking. In dit proces worden de gegevens die door elke bewerking worden verzameld, gecombineerd en worden 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 evaluatie op hoog niveau. Als u een verdere uitsplitsing wilt uitvoeren voor een specifieke bewerking, kunt u de groeps-id bekijken en de bijbehorende bewerkingen bekijken die zijn gegroepeerd in de detailweergave.
Meerdere evaluaties uitleggen
Wanneer er een vernieuwing plaatsvindt in de Power Query-editor, is er achter de schermen veel gedaan om u een vloeiende gebruikerservaring te bieden. Wanneer u voorbeeldvoorbeeld vernieuwt, voert de evaluator de laatste stap van elke opgegeven query uit. Maar vervolgens worden op de achtergrond n-1 stappen, n-2, stappen enzovoort uitgevoerd. Dus als u teruggaat met uw stappen, is deze al beschikbaar.
Om betere prestaties te bieden, gebeurt er momenteel wat caching, zodat het niet elk deel van het uiteindelijke queryplan opnieuw hoeft uit te voeren terwijl deze door de stappen gaat. Hoewel deze caching handig is voor normale creatie, betekent dit dat u niet altijd de juiste informatie over stapvergelijking 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 dat u de opnamesessie filtert op id, zodat kolommen zoals Exclusief duurpercentage zinvol zijn.
Id is een samengestelde id. Het bestaat uit twee getallen: één voor de stip en één na. Het eerste getal is hetzelfde voor alle evaluaties die het gevolg zijn van één gebruikersactie. Met andere woorden, als u tweemaal op vernieuwen drukt, zijn er twee verschillende getallen voor de punt, één voor elke gebruikersactiviteit. Deze nummering is opeenvolgend voor een bepaalde diagnostische opname.
Het tweede getal vertegenwoordigt een evaluatie door de engine. Dit getal is sequentieel gedurende de levensduur van het proces waarin de evaluatie in de wachtrij wordt geplaatst. Als u meerdere diagnostische opnamesessies uitvoert, blijft dit aantal toenemen in de verschillende sessies.
Samenvattend: als u begint met opnemen, drukt u eenmaal op evaluatie en stopt u de opname, wordt een aantal id's weergegeven in uw diagnostische gegevens. Maar omdat je maar één actie hebt ondernomen, zijn ze allemaal 1.1, 1.2, 1.3, enzovoort.
De combinatie van de activityId en de evaluationId, gescheiden door de stip, biedt een unieke id voor een evaluatie van één opnamesessie.
Query
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. Dingen zoals filtervervolgkeuzelijsten koppelen meestal aan de stap waarop u filtert, zelfs als u de stap niet vernieuwt.
Categorie
De categorie van de bewerking.
Soort gegevensbron
Met deze gegevens wordt aangegeven welk type gegevensbron u gebruikt, zoals SQL of Oracle.
Operation
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 waarop de bewerking is gestart.
Eindtijd
Het tijdstip waarop de bewerking is beëindigd.
Exclusieve duur (%)
De kolom Exclusieve duur van een gebeurtenis is de tijdsduur waarop de gebeurtenis actief was. Dit contrasteert met de waarde 'duur' die het resultaat is van het aftrekken van de waarden in de kolom Begintijd van een gebeurtenis en de kolom Eindtijd. Deze 'duur'-waarde vertegenwoordigt de totale tijd die is verstreken tussen het moment waarop een gebeurtenis is begonnen en wanneer deze is beëindigd. Dit kan bijvoorbeeld de tijden omvatten waarop de gebeurtenis zich in een onderbroken of inactieve status bevond en een andere gebeurtenis resources verbruikt.
Het exclusieve duurpercentage telt maximaal 100% op 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 exclusief duurpercentage van alle rijen in een bepaalde diagnostische tabel optelt.
Exclusieve duur
De absolute tijd, in plaats van %, van exclusieve duur. De totale duur (dus exclusieve duur + tijd waarop de gebeurtenis inactief was) van een evaluatie kan op twee manieren worden berekend:
Zoek de bewerking met de naam 'Evaluatie'. Het verschil tussen eindtijd en begintijd resulteert in de totale duur van een gebeurtenis.
Trek de minimale begintijd van alle bewerkingen in een gebeurtenis af van de maximale eindtijd. In gevallen waarin de verzamelde gegevens voor een gebeurtenis niet rekening houden met de totale duur, wordt er een bewerking met de naam 'Hiaten traceren' gegenereerd om rekening te houden met deze tijdsverschil.
Bron
De resource die u voor gegevens opent. 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 DirectQuery-modus (via Power Query), waar ingeschakeld, worden alleen de uitvoeringen van de vouw getransformeerd. In de importmodus worden transformaties die niet kunnen worden gevouwen, lokaal uitgevoerd.
Met de kolom Gegevensbronquery kunt u de query of de HTTP-aanvraag/-reactie zien die is verzonden op basis van de back-endgegevensbron. Terwijl u uw query in de editor maakt, worden veel query's voor gegevensbronnen verzonden. Sommige van deze query's zijn de werkelijke uiteindelijke gegevensbronquery om het voorbeeld weer te geven. Maar andere zijn mogelijk voor gegevensprofilering, filtervervolgkeuzelijsten, informatie over joins, het ophalen van metagegevens voor schema's en een willekeurig aantal andere kleine query's.
Over het algemeen hoeft u zich geen zorgen te maken over het aantal gegevensbronquery's dat wordt verzonden, tenzij er specifieke redenen zijn om u zorgen te maken. In plaats daarvan moet u zich richten op het controleren of de juiste inhoud wordt opgehaald. Deze kolom kan ook helpen bepalen of de Power Query-evaluatie volledig is gevouwen.
Aanvullende informatie
Er is veel informatie opgehaald door onze connectors. Veel van het is onregelmatig en past niet goed in een standaardkolomhiërarchie. Deze informatie wordt in een record in de kolom aanvullende informatie geplaatst. Informatie die is vastgelegd vanuit aangepaste connectors, wordt hier ook weergegeven.
Aantal rijen
Het aantal rijen dat wordt geretourneerd door een gegevensbronquery. Niet ingeschakeld voor alle connectors.
Lengte van inhoud
Inhoudslengte die wordt geretourneerd door HTTP-aanvragen, zoals vaak gedefinieerd. Dit schema 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 gemaakt door de gebruiker en aanwezig is in het linkerdeelvenster, of als deze is gegenereerd door een andere gebruikersactie. Andere gebruikersacties kunnen zaken bevatten zoals filterselectie of het gebruik van de navigator in de ervaring voor het ophalen van gegevens.
Pad
Het pad vertegenwoordigt de relatieve route van de bewerking wanneer deze wordt weergegeven als onderdeel van een intervalstructuur voor alle bewerkingen binnen één evaluatie. Bovenaan (hoofdmap) van de structuur bevindt zich éé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 geeft aan wanneer de hele evaluatie is voltooid. Deze bewerking op het hoogste niveau heeft een exclusieve duur van 0, omdat het enige doel is om te dienen als de wortel van de boom.
Verdere bewerkingsvertakking vanuit de hoofdmap. Een bewerking kan bijvoorbeeld '0/1/5' hebben als pad. Dit pad wordt begrepen als:
- 0: boomwortel
- 1: bovenliggende bewerking 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 vorm '0/1/5/8', met 8 die de index van het onderliggende item vertegenwoordigt.
Groeps-id
Het combineren van twee (of meer) bewerkingen vindt niet plaats als dit leidt tot detailverlies. De groepering is ontworpen om 'opdrachten' bij benadering uit te voeren tijdens de evaluatie. In de gedetailleerde weergave delen meerdere bewerkingen een groeps-id, die overeenkomt met de groepen die zijn samengevoegd in de overzichtsweergave.
Net als bij de meeste kolommen is de groeps-id alleen relevant binnen een specifieke evaluatie, zoals gefilterd op de kolom Id.
Schema voor gegevensprivacypartities
ID
Hetzelfde als de id voor de andere querydiagnoseresultaten. Het gehele getal vertegenwoordigt één activiteits-id, terwijl het breukdeel één evaluatie vertegenwoordigt.
Partitiesleutel
Komt overeen met de query/stap die wordt gebruikt als een 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 geopend en is in het algemeen uniek om een gegevensbron te identificeren.
Partitie-invoer
Lijst met partitiesleutels waarop de huidige partitie afhankelijk is (deze lijst kan worden gebruikt om een grafiek te maken).
Expression
De expressie die wordt geëvalueerd boven op de query/stap van de partitie. In verschillende gevallen valt dit samen met de query/stap.
Begintijd
Tijd waarop de evaluatie voor deze partitie is gestart.
Eindtijd
Tijd waarop de evaluatie voor deze partitie is beëindigd.
Duur
Een waarde die is afgeleid van de eindtijd min de begintijd.
Exclusieve duur
Als partities worden verondersteld uit te voeren in één thread, is exclusieve duur de werkelijke duur die kan worden toegeschreven aan deze partitie.
Exclusief duurpercentage
Exclusieve duur als 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.
Schema voor prestatiemeteritems
Wanneer u prestatiemeteritems uitvoert, maakt Power Query elke helft van de seconde een momentopname van het resourcegebruik. Deze momentopname is niet handig voor zeer snelle query's, maar kan handig zijn voor query's die veel meer resources gebruiken.
% processortijd
Het percentage tijd dat is besteed door processors voor de query. Dit percentage kan hoger zijn dan 100% vanwege meerdere processors.
Totale processortijd
Totale duur van de processortijd die is besteed aan de query.
IO-gegevensbytes per seconde
Doorvoersnelheid van gegevens die zijn ontvangen van de gegevensbron, uitgedrukt in bytes per seconde.
Doorvoeren (bytes)
Hoeveelheid virtueel geheugen gereserveerd door de evaluatie.
Werkset (bytes)
Hoeveelheid geheugen gereserveerd door de evaluatie.