Indicaties voor queryfolding

Opmerking

Lees voordat u dit artikel leest het overzicht van queryevaluatie en query folding in Power Query om beter te begrijpen hoe query folding werkt in Power Query.

Indicatoren voor het vouwen van query's helpen u te begrijpen welke stappen worden gevouwen en welke stappen niet.

Wanneer u indicatoren voor het vouwen van query's gebruikt, wordt het duidelijk wanneer u een wijziging aanbrengt die het vouwen onderbreekt. Met deze functie kunt u problemen snel oplossen, prestatieproblemen voorkomen en beter inzicht krijgen in uw query's. In de meeste gevallen worden stappen gevouwen of niet gevouwen. Maar er bestaan veel gevallen waarin het resultaat niet duidelijk is. Deze gevallen worden besproken in Indicatoren voor stapdiagnose (Dynamisch, Opaak en Onbekend).

Opmerking

De indicatoren voor het vouwen van query's zijn alleen beschikbaar in Power Query Online.

Het interpreteren van diagnostische gegevens over het samenvouwen van query's

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 laat zien dat de query niet wordt gevouwen, gevolgd door een indicator die aangeeft dat deze 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 eenduidig is. Maar de tweede stap vouwt op, wat betekent dat de query tot dat punt wel opvouwt.

Schermopname van de stappen Bron en Navigatie in het deelvenster Vouwindicator.

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 de stap bijvoorbeeld verwerkt als een catalogustabelwaarde, die niet wordt gevouwen. Zodra u echter gegevens voor die verbindingslijn selecteert, klapt deze samen.

Omgekeerd kan deze indicatie ook betekenen dat uw query wordt ingeklapt tot een bepaald punt en dan stopt met vouwen. Een indicator voor 'niet vouwen' betekent niet dat er niets opvouwt. In plaats daarvan betekent het dat niet alles opvouwbaar is. Over het algemeen vouwt alles tot aan de laatste vouwindicator, met meer bewerkingen daarna.

Als u het vorige voorbeeld 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 indicatoren voor het vouwen van query's hebt u dezelfde indicatoren als eerder, behalve dat de laatste stap niet wordt gevouwen. Alles tot aan deze laatste stap wordt uitgevoerd op de gegevensbron, terwijl de laatste stap lokaal wordt uitgevoerd.

Schermopname van de stappen Bron, Navigatie en Elk Woord met een Hoofdletter in het deelvenster Vouwindicator.

Indicatoren voor stapdiagnostiek

Indicatoren voor het vouwen van query's maken gebruik van een onderliggend queryplan en vereisen dat deze informatie over de query rapporteert. Op dit moment ondersteunt het queryplan alleen tabellen, dus in sommige gevallen (lijsten, records, primitieven) wordt niet gerapporteerd of ze worden gevouwen of niet. Op dezelfde manier is het rapport met constante tabellen ondoorzichtig.

Aanwijzer Icoon Beschrijving
Vouwen De vouwindicator geeft aan dat de gegevensbron de query tot deze stap evalueert.
Niet vouwen 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 zodat deze beter presteert.
Kan worden gevouwen Vouwindicatoren zijn ongebruikelijk. Ze bedoelen dat een query 'mogelijk' kan vervallen. Ze geven aan dat tijdens uitvoertijd wordt bepaald of er wel of niet gevouwen wordt 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 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 de indicatoren en het hulpprogramma voor het queryplan die transformatie of connector niet ondersteunen.
Onbekend 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 eerste voorbeeld, ziet eruit als de volgende afbeelding.

Schermopname van de eerste stapindicatoren voor het laden van de tabel Product.

Wanneer u meer stappen toevoegt die worden gevouwen, verlengt u de groene lijn aan de rechterkant. Deze extensie treedt op omdat deze stap ook wordt gevouwen.

Schermopname die laat zien hoe het toevoegen van een kolomstap verwijderen aan de vorige query de groene vouwindicatorlijn uitbreidt.

Wanneer u een stap toevoegt die niet wordt gevouwen, ziet u een andere indicator. U kunt bijvoorbeeld elk woord nooit in hoofdletters vouwen. De indicator verandert, wat laat zien dat deze vanaf deze stap stopte met vouwen. Zoals eerder vermeld, blijven de vorige stappen nog steeds van toepassing.

Schermopname die laat zien hoe het toevoegen van een Hoofdlettergebruik voor Elk Woord stap het vouwproces verstoort.

Wanneer u verderop meer stappen toevoegt die afhankelijk zijn van Elke stap met een hoofdletter schrijven, blijven deze niet samenvouwbaar.

Schermopname die laat zien hoe vouwen niet plaatsvindt nadat u meer stappen hebt toegevoegd.

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.

Schermopname die laat zien hoe het verwijderen van de problematische kolom toestaat dat dingen worden gevouwen zonder de stap te verwijderen.