Dela via


Indikatorer för frågedelegering

Kommentar

Innan du läser den här artikeln rekommenderar vi att du läser Översikt över frågeutvärdering och frågedelegering i Power Query för att bättre förstå hur vikning fungerar i Power Query.

Frågedelegeringsindikatorer hjälper dig att förstå de steg som viker eller inte viker.

Med frågedelegeringsindikatorer blir det uppenbart när du gör en ändring som bryter vikningen. Den här funktionen hjälper dig att enklare lösa problem snabbt, undvika prestandaproblem i första hand och få bättre inblick i dina frågor. I de flesta fall stöter du på steg som viks eller inte viks. Men det finns många fall där resultatet inte är lika uppenbart, och dessa fall diskuteras i Stegdiagnostikindikatorer (dynamisk, ogenomskinlig och okänd).

Kommentar

Funktionen frågedelegeringsindikatorer är endast tillgänglig för Power Query Online.

Tolka frågedelegeringsdiagnostik

När du undersöker frågedelegeringsindikatorn bredvid ett steg är det viktigaste att förstå att diagnostiktillståndet inte är sekventiellt. Med andra ord beskriver indikatorn för det steget om frågan som helhet, fram till den punkten, viks eller inte. Om du har en indikator som visar att frågan inte viks följt av en indikator som visar att den viks innebär det att frågan fram till den punkten viks.

Den här tolkningen fungerar även med en enkel fråga mot en SQL-källa. Om du till exempel använder AdventureWorks-exempeldatabasen ansluter du till tabellen Production.Product och läser in data. När du läser in det här exemplet via Power Query-navigatören får du följande fråga:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

Om du undersöker hur den här koden visas i frågedelegeringsindikatorer noterar du att det första steget är ofullständigt. Men det andra steget viks, vilket innebär att frågan fram till den punkten viks.

Skärmbild av käll- och navigeringsstegen i fönstret Vikningsindikator.

I det här exemplet kan de första stegen inte bekräftas att vika (är ofullständiga), men det sista steget som genereras när du läser in data från början viks. Hur de första stegen (källa och ibland andra navigeringssteg ) hanteras beror på anslutningsappen. Med SQL hanteras det till exempel som ett katalogtabellvärde som inte viks. Men så fort du väljer data för den anslutningsappen viks den.

Omvänt kan den här indikationen också innebära att frågan viks upp till en punkt och sedan slutar vika. Till skillnad från i de fall där du har en vikningsindikator för steget som visar att allt viks, när du har en icke-vikningsindikator betyder det inte att allt inte viks. Istället betyder det att "inte allt" viker sig. I allmänhet viker allt upp till den sista vikningsindikatorn, med fler åtgärder som händer efteråt.

Om du ändrar föregående exempel kan du ge en transformering som aldrig viks – Versalera varje ord.

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

I frågedelegeringsindikatorerna har du samma indikatorer som tidigare, förutom att det sista steget inte viks. Allt fram till det här sista steget utförs på datakällan, medan det sista steget utförs lokalt.

Skärmbild av stegen Källa, Navigering och Versaler för varje ord i fönstret Vikningsindikator.

Stegdiagnostikindikatorer

Frågedelegeringsindikatorer använder en underliggande frågeplan och kräver att den kan hämta information om frågan för att rapportera den. För närvarande stöder frågeplanen endast tabeller, så vissa fall (listor, poster, primitiver) rapporterar inte som vikning eller inte. På samma sätt rapporterar konstanta tabeller som ogenomskinliga.

Indikator Icon beskrivning
Fällbara Vikningsindikatorn visar att frågan fram till det här steget utvärderas av datakällan.
Inte vikning Indikatorn för att inte vika visar att en del av frågan fram till det här steget utvärderas utanför datakällan. Du kan jämföra den med den senaste vikningsindikatorn, om det finns en, för att se om du kan ordna om frågan så att den blir mer högpresterande.
Kan vika Kan vika indikatorer är ovanliga. De innebär att en fråga "kan" vika. De anger antingen att vikning eller inte vikning bestäms vid körning, när resultat hämtas från frågan och att frågeplanen är dynamisk. Dessa indikatorer visas troligen bara med ODBC- eller OData-anslutningar.
Ogenomskinlig Ogenomskinliga indikatorer visar att den resulterande frågeplanen av någon anledning är ofullständig. Det anger vanligtvis att det finns en sann "konstant" tabell, eller att transformering eller anslutningsprogram inte stöds av indikatorerna och frågeplansverktyget.
Okänd Okända indikatorer representerar en frånvaro av en frågeplan, antingen på grund av ett fel eller försök att köra frågeplanens utvärdering på något annat än en tabell (till exempel en post, lista eller primitiv).

Exempelanalys

För en exempelanalys börjar du med att ansluta till tabellen Production.Product i Adventure Works (SQL). Den inledande belastningen, som liknar det första exemplet, ser ut som i följande bild.

Skärmbild av de inledande stegindikatorerna för att läsa in tabellen Produkt.

Om du lägger till fler steg som viker utökas den gröna linjen till höger. Det här tillägget beror på att det här steget också viks.

Skärmbild som visar hur du lägger till ett borttagningskolumnsteg i föregående fråga utökar den gröna vikningsindikatorraden.

Om du lägger till ett steg som inte viks visas en annan indikator. Till exempel, Versalera varje ord viks aldrig. Indikatorn ändras och visar att den från och med det här steget slutade vika. Som tidigare nämnts viks de föregående stegen fortfarande.

Skärmbild som visar hur vikningen bryts när du lägger till ett steg med versaler för varje Word-steg.

Att lägga till fler steg nedströms som är beroende av Versaler för varje steg fortsätter att inte vikas.

Skärmbild som visar hur vikning inte sker när du har lagt till fler steg.

Men om du tar bort kolumnen som du använde versaler på så att den optimerade frågeplanen kan vikas igen får du ett resultat som liknar följande bild. Något som liknar detta är dock ovanligt. Den här bilden illustrerar hur det inte bara är stegens ordning, utan även de faktiska transformeringar som gäller.

Skärmbild som visar hur du tar bort den problematiska kolumnen gör att saker kan vikas utan att ta bort steget.