Frågediagnostik

Med frågediagnostik kan du få en bättre förståelse för vad Power Query gör vid redigering och uppdatering i Power BI Desktop. Även om vi kommer att utöka den här funktionen i framtiden, inklusive att lägga till möjligheten att använda den under fullständiga uppdateringar, kan du för närvarande använda den för att förstå vilken typ av frågor du genererar, vilka avmattningar du kan stöta på under redigeringsuppdateringen och vilken typ av bakgrundshändelser som händer.

Om du vill använda Frågediagnostik går du till fliken Verktyg i menyfliksområdet i Power Query-redigeraren.

Frågediagnostik.

Som standard kan frågediagnostik kräva administrativa rättigheter för körning (beroende på IT-princip). Om du inte kan köra frågediagnostik öppnar du sidan Power BI-alternativ och på fliken Diagnostik väljer du Aktivera i Power Query-redigeraren (kräver inte körning som administratör). Det här valet begränsar dig från att kunna spåra diagnostik när du gör en fullständig uppdatering i Power BI i stället för Power Query-redigeraren, men gör att du fortfarande kan använda den när du förhandsgranskar, redigerar och så vidare.

Frågediagnostikalternativ.

När du startar diagnostik börjar Power Query spåra eventuella utvärderingar som du orsakar. Utvärderingen som de flesta användare tänker på är när du trycker på uppdatera, eller när du hämtar data för första gången, men det finns många åtgärder som kan orsaka utvärderingar, beroende på anslutningsappen. När du till exempel hämtar en lista med värden som ska filtreras med SQL-anslutningsappen startar det även en utvärdering , men den associeras inte med en användarfråga och den representeras i diagnostiken. Andra systemgenererade frågor kan vara navigatören eller hämta dataupplevelsen.

När du trycker på Diagnostisera steg kör Power Query en särskild utvärdering av just det steg du tittar på. Den visar sedan diagnostiken för det steget, utan att visa diagnostiken för andra steg i frågan. Detta kan göra det mycket enklare att få en smal vy i ett problem.

Det är viktigt att du trycker på Stoppa diagnostik om du registrerar alla spårningar från Startdiagnostik. Om diagnostiken stoppas kan motorn samla in de registrerade spårningarna och parsa dem i rätt utdata. Utan det här steget förlorar du dina spår.

Typer av diagnostik

Vi tillhandahåller för närvarande tre typer av diagnostik, varav en har två detaljnivåer.

Den första av dessa diagnostiker är den primära diagnostiken, som har en detaljerad vy och en sammanfattad vy. Den sammanfattade vyn syftar till att ge dig en omedelbar inblick i var tiden spenderas i din fråga. Den detaljerade vyn är mycket djupare, rad för rad, och behövs i allmänhet bara för allvarlig diagnosering av energianvändare.

För den här vyn är vissa funktioner, till exempel kolumnen Data Source Query, för närvarande endast tillgängliga för vissa anslutningsappar. Vi kommer att arbeta för att utöka bredden på den här täckningen i framtiden.

Med datasekretesspartitioner får du bättre förståelse för de logiska partitioner som används för datasekretess.

Kommentar

Power Query kan utföra utvärderingar som du kanske inte har utlöst direkt. Vissa av dessa utvärderingar utförs för att hämta metadata så att vi bäst kan optimera våra frågor eller ge en bättre användarupplevelse (till exempel att hämta listan med distinkta värden i en kolumn som visas i filterrader). Andra kan vara relaterade till hur en anslutningsapp hanterar parallella utvärderingar. Om du samtidigt ser upprepade frågor i frågediagnostiken som du inte tror är meningsfulla kan du kontakta vanliga supportkanaler – din feedback är hur vi förbättrar vår produkt.

Sammanfattad kontra detaljerad vy

Frågediagnostik innehåller två vyer: sammanfattade och detaljerade. Den sammanfattade vyn "komprimerar" flera relaterade åtgärder till en enda åtgärd. I den här processen kombineras information som samlas in av varje åtgärd och de exklusiva varaktigheterna summeras. Ingen information går förlorad som en del av den här processen.

Den sammanfattade vyn ger en översikt över vad som hände under en utvärdering för enkel granskning på hög nivå. Om ytterligare uppdelning önskas för en specifik åtgärd kan användaren titta på grupp-ID:t och visa motsvarande åtgärder som grupperats i detaljvyn.

Förklara flera utvärderingar

När du uppdaterar i Power Query-redigeraren görs mycket bakom kulisserna för att försöka ge dig en flytande användarupplevelse. När du till exempel uppdaterar förhandsversionen kör utvärderaren det sista steget i varje given fråga. Men i bakgrunden körs sedan sekventiellt n-1-steg, n-2, steg och så vidare, så att om du går tillbaka genom dina steg är det redan tillgängligt.

För att ge högre prestanda sker för närvarande viss cachelagring så att den inte behöver köra alla delar av den slutliga frågeplanen igen när den går tillbaka genom stegen. Även om den här cachelagringen är användbar för normal redigering innebär det att du inte alltid får rätt stegjämförelseinformation på grund av senare utvärderingar som hämtar cachelagrade data.

Diagnostikschema

Id

När du analyserar resultatet av en inspelning är det viktigt att filtrera inspelningssessionen efter ID, så att kolumner som Exklusiv varaktighet % är meningsfulla.

ID är en sammansatt identifierare. Den består av två tal – en före punkten och en efter. Det första talet är detsamma för alla utvärderingar som har resulterat i en enskild användaråtgärd. Med andra ord, om du trycker på uppdatera två gånger, kommer det att finnas två olika tal som leder punkten, en för varje användaraktivitet som tas. Den här numreringen är sekventiell för en viss diagnostikinspelning.

Det andra talet representerar en utvärdering av motorn. Det här talet är sekventiellt för hela processen där utvärderingen placeras i kö. Om du kör flera diagnostikinspelningssessioner ser du att det här antalet fortsätter att växa mellan de olika sessionerna.

Om du börjar spela in, trycker på utvärdering en gång och stoppar inspelningen har du ett antal ID:er i diagnostiken. Men eftersom du bara vidtog en åtgärd blir alla 1.1, 1.2, 1.3 och så vidare.

Kombinationen av activityId och evaluationId, avgränsat med punkten, ger en unik identifierare för en utvärdering av en enda inspelningssession.

Fråga

Namnet på frågan i den vänstra rutan i Power Query-redigeraren.

Steg

Namnet på Steget i den högra rutan i Power Query-redigeraren. Saker som filterlistrutor associeras vanligtvis med det steg du filtrerar på, även om du inte uppdaterar steget.

Kategori

Kategorin för åtgärden.

Typ av datakälla

Detta anger vilken typ av datakälla du kommer åt, till exempel SQL eller Oracle.

Åtgärd

Den faktiska åtgärden som utförs. Den här åtgärden kan omfatta utvärderararbete, att öppna anslutningar, skicka frågor till datakällan och många fler.

Starttid

Den tid då åtgärden startades.

Sluttid

Den tid då åtgärden avslutades.

Exklusiv varaktighet (%)

Kolumnen Exklusiv varaktighet för en händelse är hur lång tid händelsen var aktiv. Detta står i kontrast till värdet "varaktighet" som resulterar i att värdena subtraheras i en händelses kolumn Starttid och Sluttid. Det här värdet för "varaktighet" representerar den totala tid som förflutit mellan när en händelse började och när den avslutades, vilket kan inkludera tider då händelsen var i ett inaktiverat eller inaktivt tillstånd och en annan händelse förbrukade resurser.

Den exklusiva varaktigheten % uppgår till cirka 100 % inom en viss utvärdering, vilket representeras av kolumnen ID. Om du till exempel filtrerar på rader med ID 1.x, skulle procentandelarna Exklusiv varaktighet summeras till cirka 100 %. Så är inte fallet om du summerar värdena för exklusiv varaktighet % för alla rader i en viss diagnostiktabell.

Exklusiv varaktighet

Den absoluta tiden, snarare än %, av exklusiv varaktighet. Den totala varaktigheten (d.ex. exklusiv varaktighet + tid när händelsen var inaktiv) för en utvärdering kan beräknas på något av två sätt:

  • Hitta åtgärden "Utvärdering". Skillnaden mellan sluttid–starttid resulterar i den totala varaktigheten för en händelse.

  • Subtrahera den minsta starttiden för alla åtgärder i en händelse från den maximala sluttiden. Observera att i de fall då informationen som samlas in för en händelse inte tar hänsyn till den totala varaktigheten genereras en åtgärd som kallas "Spårningsluckor" för att ta hänsyn till den här tidsskillnaden.

Resurs

Den resurs som du använder för data. Det exakta formatet för den här resursen beror på datakällan.

Datakällans fråga

Power Query gör något som kallas vikning, vilket är att köra så många delar av frågan mot serverdelsdatakällan som möjligt. I Direct Query-läge (via Power Query), där det är aktiverat, körs endast transformeringar som viks. I importläge körs transformeringar som inte kan vika i stället lokalt.

Med kolumnen Datakällsfråga kan du se frågan eller HTTP-begäran/-svaret som skickas mot serverdelsdatakällan. När du redigerar frågan i redigeraren genereras många datakällafrågor. Några av dessa är den faktiska slutliga datakällans fråga för att återge förhandsversionen, men andra kan vara för dataprofilering, filterlistrutor, information om kopplingar, hämtning av metadata för scheman och valfritt antal andra små frågor.

I allmänhet bör du inte bry dig om antalet datakällafrågor som genereras om det inte finns specifika skäl att ta hänsyn till. I stället bör du fokusera på att se till att rätt innehåll hämtas. Den här kolumnen kan också hjälpa dig att avgöra om Power Query-utvärderingen har vikts helt.

Ytterligare info

Det finns mycket information som hämtas av våra anslutningsappar. Mycket av det är ojämnt och passar inte bra in i en standardkolumnhierarki. Den här informationen placeras i en post i den ytterligare informationskolumnen. Information som loggas från anpassade anslutningsappar visas också här.

Antal rader

Antalet rader som returneras av en datakällafråga. Inte aktiverat på alla anslutningsappar.

Innehållslängd

Innehållslängd som returneras av HTTP-begäranden, enligt vanliga definitioner. Detta är inte aktiverat i alla anslutningsappar och är inte korrekt för anslutningsappar som hämtar begäranden i segment.

Är användarfråga

Ett booleskt värde som anger om det är en fråga som skapats av användaren och finns i den vänstra rutan, eller om den genererades av någon annan användaråtgärd. Andra användaråtgärder kan inkludera saker som att filtrera val eller använda navigatören i hämta dataupplevelsen.

Sökväg

Sökvägen representerar åtgärdens relativa väg när den visas som en del av ett intervallträd för alla åtgärder inom en enda utvärdering. Längst upp (roten) i trädet finns en enda åtgärd som kallas Utvärdering med sökvägen "0". Starttiden för den här utvärderingen motsvarar början av den här utvärderingen som helhet. Sluttiden för den här utvärderingen visar när hela utvärderingen har slutförts. Den här åtgärden på den översta nivån har en exklusiv varaktighet på 0, eftersom dess enda syfte är att fungera som roten i trädet.

Ytterligare driftgren från roten. En åtgärd kan till exempel ha "0/1/5" som sökväg. Den här sökvägen tolkas som:

  • 0: trädrot
  • 1: den aktuella åtgärdens överordnade
  • 5: index för den aktuella åtgärden

Åtgärden "0/1/5" kan ha en underordnad nod, i vilket fall sökvägen har formuläret "0/1/5/8", med 8 som representerar indexet för det underordnade.

Grupp-ID

Det går inte att kombinera två (eller flera) åtgärder om det leder till detaljförlust. Gruppering är utformad för att approximera "kommandon" som körs under utvärderingen. I den detaljerade vyn delar flera åtgärder ett grupp-ID som motsvarar de grupper som aggregeras i vyn Sammanfattning.

Precis som med de flesta kolumner är grupp-ID:t endast relevant inom en specifik utvärdering, vilket filtreras efter kolumnen ID.

Schema för datasekretesspartitioner

Id

Samma som ID:t för de andra frågediagnostikresultaten. Heltalsdelen representerar ett enda aktivitets-ID, medan bråkdelen representerar en enda utvärdering.

Partitionsnyckel

Motsvarar frågan/steget som används som en brandväggspartition.

Brandväggsgrupp

Kategorisering som förklarar varför den här partitionen måste utvärderas separat, inklusive information om partitionens sekretessnivå.

Resurser som används

Lista över resurssökvägar för alla resurser som används av den här partitionen och identifierar i allmänhet en datakälla unikt.

Partitionsindata

Lista över partitionsnycklar som den aktuella partitionen är beroende av (den här listan kan användas för att skapa ett diagram).

Uttryck

Uttrycket som utvärderas ovanpå partitionens fråga/steg. I flera fall sammanfaller det med frågan/steget.

Starttid

Tid då utvärderingen startade för den här partitionen.

Sluttid

Tid då utvärderingen avslutades för den här partitionen.

Varaktighet

Ett värde som härleds från sluttid minus starttid.

Exklusiv varaktighet

Om partitioner antas köras i en enda tråd är exklusiv varaktighet den "verkliga" varaktighet som kan hänföras till den här partitionen.

Exklusiv varaktighet %

Exklusiv varaktighet i procent.

Diagnostik

Den här kolumnen visas bara när frågediagnostiken "Sammanställd" eller "Detaljerad" också avbildas, vilket gör att användaren kan motsvara de två diagnostikutdata.

Schema för prestandaräknare

När du kör prestandaräknare tar Power Query varje halv sekund en ögonblicksbild av resursanvändningen. Den här ögonblicksbilden är inte användbar för snabba frågor, men kan vara till hjälp för frågor som använder mycket mer resurser.

% processortid

Procent av den tid som processorer har lagt på frågan. Den här procentandelen kan nå över 100 % på grund av flera processorer.

Total processortid

Total varaktighet för processortiden som lagts på frågan.

I/O-databyte per sekund

Dataflödeshastighet för data som tas emot från datakällan, uttryckt i byte per sekund.

Incheckning (byte)

Mängden virtuellt minne som reserverats av utvärderingen.

Arbetsuppsättning (byte)

Mängden minne som reserverats av utvärderingen.

Mer att läsa

Registrera diagnostik i olika användningsfall

Mer om att läsa och visualisera inspelade spårningar

Så här förstår du vilka frågeåtgärder som viks med hjälp av frågediagnostik