Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Innan du läser den här artikeln bör du läsa Översikt över frågeutvärdering och frågevikning i Power Query för att bättre förstå hur frågevikning fungerar i Power Query.
Frågedelegeringsindikatorer hjälper dig att förstå vilka steg som viks och vilka steg som inte gör det. Ett steg viks när Power Query översätter dess omvandlingar till en datakällfråga och kör dem vid datakällan.
När du använder indikatorer för frågedelegering blir det tydligt när en ändring du gör bryter frågedelegeringen. Den här funktionen hjälper dig att lösa problem, undvika prestandaproblem och få bättre inblick i dina frågor. I de flesta fall fälls steg antingen ihop eller inte. Men det finns många fall där resultatet inte är uppenbart. Avsnittet indikatorer för stegdiagnostik omfattar dessa fall (kan fällas ihop, ogenomskinlig och okänd).
Anmärkning
Funktionen frågedelegeringsindikatorer är endast tillgänglig för Power Query Online.
Tolka frågedelegeringsdiagnostik
I Power Query Online visar indikatorn för frågevikning bredvid ett steg huruvida frågan som helhet, fram till den punkten, kan fällas. Diagnostiktillståndet är inte sekventiellt. Om en indikator visar att frågan inte viks följt av en indikator som visar att den viks, viks frågan fram till den punkten.
Den här tolkningen fungerar även med en enkel fråga mot en SQL-källa. Du kan till exempel ansluta till tabellen Production.Product i adventureworks-exempeldatabasen och sedan läsa 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 indikatorer för frågesammanslagning noterar du att det första steget är inkonklusivt. Men det andra steget bryts ner, vilket innebär att frågan fram till den punkten bryts ner.
I det här exemplet går det inte att avgöra om de inledande stegen kan vikas, men det sista steget som genereras när du läser in data första gången går att vika. Hur de första stegen (källa och ibland andra navigeringssteg ) hanteras beror på anslutningsappen. Med SQL hanteras till exempel steget 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 din sökfråga konvergerar till en viss punkt och sedan slutar konvergera. En indikator för att inte vika betyder inte att inget 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.
Indikatorer för stegdiagnostik
Indikatorer för frågedelegering använder en underliggande frågeplan och kräver att den rapporterar information om frågan. 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 anses konstanta tabeller vara ogenomskinliga.
| Indikator | Ikon | Beskrivning |
|---|---|---|
| Vikning |
|
Vikningsindikatorn visar att datakällan utvärderar frågan fram till det här steget. |
| 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 |
|
Indikatorer som kan vikas är ovanliga. De menar att en förfrågan "kan" falla samman. 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 indikerar vanligtvis att det finns en äkta "konstant" tabell eller att indikatorerna och frågeplansverktyget inte stöder den transformeringen eller kopplingsverktyget. |
| 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). |
Analysera frågedelegeringsindikatorer
Om du vill analysera frågedelegeringsindikatorer ansluter du till tabellen Production.Product i AdventureWorks (SQL). Den inledande belastningen visar källsteget som ofullständigt och navigeringssteget som vikning, som visas i följande bild.
När du lägger till fler steg som viks utökar du den gröna linjen till höger. Det här tillägget beror på att det här steget också viks.
När 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 vid detta steg slutade att vika sig. Som nämnt tidigare gäller de föregående stegen fortfarande.
När du lägger till fler steg nedströms som är beroende av Versalera varje ord fortsätter de att inte vikas.
Men om du tar bort kolumnen som du använde versaler på kan den optimerade frågeplanen vikas igen. I det här ovanliga resultatet viks det sista steget även om ett tidigare steg inte viks, vilket visas i följande bild. Det här resultatet visar hur vikning beror på både stegens ordning och de omvandlingar som gäller.