Query Folding-indicatoren

Notitie

Voordat u dit artikel leest, raden we u aan overzicht van de query-evaluatie en het vouwen van query's in Power Query te lezen om beter te begrijpen hoe vouwen werkt in Power Query.

Indicatoren voor het vouwen van query's helpen u inzicht te hebben in de stappen die worden gevouwen of die niet worden gevouwen.

Met indicatoren voor het vouwen van query's wordt het duidelijk wanneer u een wijziging aanbrengt die het vouwen onderbreekt. Deze functie helpt u om problemen sneller op te lossen, prestatieproblemen in de eerste plaats te voorkomen en beter inzicht te hebben in uw query's. In de meeste gevallen worden stappen gevouwen of niet gevouwen. Maar er zijn veel gevallen waarin het resultaat niet zo duidelijk is en deze gevallen worden besproken in diagnostische indicatoren voor stap (dynamisch, ondoorzichtig en onbekend).

Notitie

De functie voor het vouwen van query's is alleen beschikbaar voor Power Query Online.

Diagnostische gegevens over het vouwen van query's interpreteren

Wanneer u de query folding-indicator naast een stap bekijkt, is het belangrijkste om te begrijpen dat de diagnostische status niet opeenvolgend is. Met andere woorden, de indicator voor die stap beschrijft of de query als geheel, tot dat punt, vouwt of niet. Als u een indicator hebt die aangeeft dat de query niet wordt gevouwen, gevolgd door een indicator die aangeeft dat deze wel wordt gevouwen, betekent dit dat uw query tot dat punt wel wordt gevouwen.

Deze interpretatie werkt zelfs met een eenvoudige query voor een SQL-bron. Als u bijvoorbeeld de voorbeelddatabase AdventureWorks gebruikt, maakt u verbinding met de tabel Production.Product en laadt u gegevens. Als u dit voorbeeld laadt via de Power Query-navigator, krijgt u de volgende query:

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

Als u onderzoekt hoe deze code wordt weergegeven in indicatoren voor het vouwen van query's, ziet u dat de eerste stap niet overtuigend is. Maar de tweede stap wordt gevouwen, wat betekent dat de query tot dat punt wel wordt gevouwen.

Source and Navigation steps in Folding Indicator pane.

In dit voorbeeld kunnen de eerste stappen niet worden bevestigd om te worden gevouwen (is niet overtuigend), maar de laatste stap die wordt gegenereerd wanneer u gegevens in eerste instantie laadt, wordt gevouwen. Hoe de eerste stappen (bron en soms andere navigatiestappen ) worden verwerkt, is afhankelijk van de connector. Met SQL wordt deze bijvoorbeeld verwerkt als een catalogustabelwaarde, die niet wordt gevouwen. Zodra u echter gegevens voor die verbindingslijn selecteert, wordt deze gevouwen.

Omgekeerd kan dit ook betekenen dat uw query omhoog wordt gevouwen tot een punt en vervolgens stopt met vouwen. In tegenstelling tot wanneer u een vouwindicator voor de stap hebt die laat zien dat alles wordt gevouwen, betekent dit niet dat alles niet wordt gevouwen. In plaats daarvan betekent het dat "niet alles" vouwt. Over het algemeen zal alles tot aan de laatste vouwindicator worden gevouwen, met meer bewerkingen na.

Als u het voorbeeld van bovenaf wijzigt, kunt u een transformatie geven die nooit wordt gevouwen. Gebruik elk woord hoofdletter.

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"

In de query folding-indicatoren hebt u dezelfde indicatoren als hierboven, behalve de laatste stap die niet wordt gevouwen. Alles tot aan deze laatste stap wordt uitgevoerd op de gegevensbron, terwijl de laatste stap lokaal wordt uitgevoerd.

Source, Navigation, and Capitalize Each Word steps in Folding Indicator pane.

Diagnostische indicatoren voor stap

Indicatoren voor het vouwen van query's maken gebruik van een onderliggend queryplan en vereisen dat deze informatie over de query kan ophalen om deze te rapporteren. Op dit moment ondersteunt het queryplan alleen tabellen, dus sommige gevallen (lijsten, records, primitieven) rapporteren niet als vouwen of niet. Op dezelfde manier is het rapport met constante tabellen ondoorzichtig.

Indicator Pictogram Beschrijving
Vouwen Folding indicator for 'will fold'. De vouwen-indicator geeft aan dat de query tot aan deze stap wordt geƫvalueerd door de gegevensbron.
Niet vouwen Folding indicator for 'not folding'. De indicator voor niet-vouwen geeft aan dat een deel van de query tot aan deze stap buiten de gegevensbron wordt geƫvalueerd. U kunt deze vergelijken met de laatste vouwindicator, als er een is, om te zien of u de query opnieuw kunt rangschikken om beter te presteren.
Kan worden gevouwen Folding indicator for 'might fold'. Het kan ongebruikelijk zijn dat vouwindicatoren ongebruikelijk zijn. Ze betekenen dat een query 'mogelijk' wordt gevouwen. Ze geven aan dat vouwen of niet vouwen tijdens runtime wordt bepaald bij het ophalen van resultaten van de query en dat het queryplan dynamisch is. Deze indicatoren worden waarschijnlijk alleen weergegeven met ODBC- of OData-verbindingen.
Ondoorzichtig Folding indicator for 'opaque, inconclusive folding'. Ondoorzichtige indicatoren geven aan dat het resulterende queryplan om een of andere reden niet overtuigend is. Over het algemeen wordt aangegeven dat er een echte 'constante' tabel is of dat die transformatie of connector niet wordt ondersteund door de indicatoren en het hulpprogramma voor het queryplan.
Onbekende Folding indicator for 'no query plan'. Onbekende indicatoren vertegenwoordigen een afwezigheid van een queryplan, ofwel vanwege een fout of een poging om de evaluatie van het queryplan uit te voeren op iets anders dan een tabel (zoals een record, lijst of primitieve).

Voorbeeldanalyse

Voor een voorbeeldanalyse maakt u eerst verbinding met de tabel Production.Product in Adventure Works (SQL). De eerste belasting, vergelijkbaar met het bovenstaande voorbeeld, ziet eruit als de volgende afbeelding.

Initial step indicators for loading the Product table.

Als u meer stappen toevoegt die vouwt, wordt deze groene lijn aan de rechterkant uitgebreid. Deze extensie treedt op omdat deze stap ook wordt gevouwen.

Adding a remove column step to the previous query, extending the green folding indicator line.

Als u een stap toevoegt die niet wordt gevouwen, wordt een andere indicator weergegeven. U kunt bijvoorbeeld elk woord nooit in hoofdletters vouwen. De indicator verandert, wat laat zien dat deze vanaf deze stap is gestopt met vouwen. Zoals eerder vermeld, worden de vorige stappen nog steeds gevouwen.

Adding a Capitalize Each Word step to break folding.

Als u meer stappen downstream toevoegt die afhankelijk zijn van hoofdlettergebruik, wordt elke stap niet gevouwen.

Adding more steps that don't fold.

Als u echter de kolom verwijdert waarop u het hoofdlettergebruik hebt toegepast, zodat het geoptimaliseerde queryplan opnieuw kan worden gevouwen, krijgt u een resultaat zoals in de volgende afbeelding. Iets als dit is echter ongebruikelijk. In deze afbeelding ziet u hoe dit niet alleen de volgorde van stappen is, maar ook de daadwerkelijke transformaties die van toepassing zijn.

Showing how removing the problematic column allows things to fold without removing the step.