Indikatoren für Query Folding

Hinweis

Lesen Sie vor dem Lesen dieses Artikels die Übersicht über die Abfrageauswertung und Abfragefaltung in Power Query, um besser zu verstehen, wie die Faltung in Power Query funktioniert.

Abfragefaltungsindikatoren helfen Ihnen zu verstehen, welche Schritte gefaltet werden und welche Schritte nicht. Ein Schritt wird gefaltet, wenn Power Query seine Transformationen in eine Datenquellenabfrage übersetzt und an der Datenquelle ausführt.

Wenn Sie Abfragefaltungsindikatoren verwenden, wird es deutlich, wenn Sie eine Änderung vornehmen, die die Faltung umbricht. Dieses Feature hilft Ihnen, Probleme zu beheben, Leistungsprobleme zu vermeiden und bessere Einblicke in Ihre Abfragen zu erhalten. In den meisten Fällen sind Schritte entweder einklappbar oder nicht. Es gibt jedoch viele Fälle, in denen das Ergebnis nicht offensichtlich ist. Im Abschnitt "Indikatoren der Schrittdiagnose" werden diese Fälle behandelt (Möglicherweise faltbar, Opak und Unbekannt).

Hinweis

Die Funktion "Abfragefaltungsindikatoren" ist nur für Power Query Online verfügbar.

Abfragefaltungsdiagnose interpretieren

In Power Query Online zeigt die Abfragefaltungsanzeige neben einem Schritt an, ob die Abfrage als Ganzes bis zu diesem Punkt gefaltet wird. Der Diagnosezustand ist nicht sequenziell. Wenn auf einen Indikator, der anzeigt, dass die Abfrage nicht gefaltet wird, ein Indikator folgt, der anzeigt, dass sie doch gefaltet wird, wird die Abfrage bis zu diesem Punkt gefaltet.

Diese Interpretation funktioniert auch bei einer einfachen Abfrage für eine SQL-Quelle. Stellen Sie beispielsweise in der AdventureWorks-Beispieldatenbank eine Verbindung mit der Tabelle "Production.Product" her, und laden Sie dann die Daten. Wenn Sie dieses Beispiel über den Power Query-Navigator laden, erhalten Sie die folgende Abfrage:

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

Wenn Sie untersuchen, wie dieser Code in Abfragefaltungsindikatoren angezeigt wird, beachten Sie, dass der erste Schritt nicht eindeutig ist. Der zweite Schritt führt jedoch eine Faltung durch, was bedeutet, dass die Abfrage bis zu diesem Punkt gefaltet wird.

Screenshot der Schritte

In diesem Beispiel lässt sich bei den ersten Schritten nicht bestätigen, ob sie Folding ausführen (sie sind nicht eindeutig), aber der letzte Schritt, der beim ersten Laden der Daten generiert wird, führt Folding aus. Wie die ersten Schritte (Quelle und manchmal andere Navigationsschritte ) behandelt werden, hängt vom Connector ab. Bei SQL wird der Schritt beispielsweise als Katalogtabellenwert behandelt, der nicht gefaltet wird. Sobald Sie jedoch Daten für diesen Verbinder auswählen, wird sie gefaltet.

Umgekehrt kann diese Angabe auch bedeuten, dass Ihre Abfrage bis zu einem Punkt gefaltet wird und das Falten dann stoppt. Eine Nichtfaltungsanzeige bedeutet nicht, dass nichts gefaltet wird. Stattdessen bedeutet dies, dass nicht alles gefaltet wird. Im Allgemeinen wird alles bis zur letzten Faltanzeige gefaltet, wobei mehr Vorgänge danach stattfinden.

Wenn Sie das vorherige Beispiel ändern, können Sie eine Transformation geben, die nie gefaltet wird – jedes Word großgeschrieben.

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 den Abfragefaltungsindikatoren verfügen Sie über dieselben Indikatoren wie zuvor, mit der Ausnahme, dass der letzte Schritt nicht gefaltet wird. Alles bis zu diesem letzten Schritt wird für die Datenquelle ausgeführt, während der letzte Schritt lokal ausgeführt wird.

Screenshot der Schritte

Schrittdiagnoseindikatoren

Abfragefaltungsindikatoren verwenden einen zugrundeliegenden Abfrageplan und setzen voraus, dass dieser Informationen über die Abfrage bereitstellt. Derzeit unterstützt der Abfrageplan nur Tabellen, sodass einige Fälle (Listen, Datensätze, Grundtypen) nicht darüber berichten, ob sie gefaltet werden. Ebenso werden Konstantentabellen als undurchsichtig bezeichnet.

Indikator Ikone BESCHREIBUNG
Klapp Die Faltanzeige teilt Ihnen mit, dass die Datenquelle die Abfrage bis zu diesem Schritt auswertet.
Nicht gefaltet Die Nichtfaltungsanzeige teilt Ihnen mit, dass ein Teil der Abfrage bis zu diesem Schritt außerhalb der Datenquelle ausgewertet wird. Sie können sie mit dem letzten Faltindikator vergleichen, falls es einen gibt, um festzustellen, ob Sie Ihre Abfrage neu anordnen können, damit sie effizienter wird.
Kann gefaltet werden Indikatoren, die möglicherweise zusammenklappbar sind, sind ungewöhnlich. Sie bedeuten, dass eine Abfrage "möglicherweise" gefaltet wird. Sie geben entweder an, ob zur Laufzeit gefaltet wird oder nicht, wenn Ergebnisse aus der Abfrage abgerufen werden, und dass der Abfrageplan dynamisch ist. Diese Indikatoren werden wahrscheinlich nur mit ODBC- oder OData-Verbindungen angezeigt.
Opaque- Undurchsichtige Indikatoren weisen Sie darauf hin, dass der resultierende Abfrageplan aus irgendeinem Grund nicht eindeutig ist. Es weist in der Regel darauf hin, dass es eine echte "Konstante"-Tabelle gibt oder dass das Tool für Indikatoren und Abfragepläne diese Transformation oder diesen Connector nicht unterstützt.
Unbekannt Unbekannte Indikatoren stellen ein Fehlen eines Abfrageplans dar, entweder aufgrund eines Fehlers oder beim Versuch, die Abfrageplanauswertung auf etwas anderes als eine Tabelle auszuführen (z. B. einen Datensatz, eine Liste oder eine Primitivität).

Indikatoren für die Abfragefaltung analysieren

Zum Analysieren von Abfragefaltungsindikatoren stellen Sie eine Verbindung mit der Tabelle "Production.Product " in AdventureWorks (SQL) her. Die erste Last zeigt den Quellschritt als nicht eindeutig und den Navigationsschritt als Faltung an, wie in der folgenden Abbildung dargestellt.

Screenshot der Indikatoren für den ersten Schritt zum Laden der Produkttabelle.

Wenn Sie weitere Schritte hinzufügen, die gefaltet werden, erweitern Sie die grüne Linie auf der rechten Seite. Diese Erweiterung tritt auf, weil dieser Schritt ebenfalls zusammenfällt.

Screenshot, der zeigt, wie das Hinzufügen eines Schritts zum Entfernen einer Spalte zur vorherigen Abfrage die grüne Faltindikatorlinie erweitert.

Wenn Sie einen Schritt hinzufügen, der nicht gefaltet wird, wird ein anderer Indikator angezeigt. Beispielsweise wird jedes Wort großgeschrieben und niemals verändert. Der Indikator ändert sich und zeigt, dass ab diesem Schritt das Falten aufgehört hat. Wie bereits erwähnt, gelten die vorherigen Schritte weiterhin.

Screenshot, der zeigt, wie das Hinzufügen einer Großschreibung jedes Word-Schritts die Faltung umbricht.

Wenn Sie weitere nachgelagerte Schritte hinzufügen, die von Capitalize each word abhängen, lassen sie sich weiterhin nicht einklappen.

Screenshot, der zeigt, wie die Faltung nach dem Hinzufügen weiterer Schritte nicht auftritt.

Wenn Sie jedoch die Spalte entfernen, auf die Sie die Großschreibung angewendet haben, kann der optimierte Abfrageplan erneut gefaltet werden. In diesem ungewöhnlichen Fall lässt sich der letzte Schritt falten, obwohl sich ein früherer Schritt nicht falten lässt, wie in der folgenden Abbildung dargestellt. Dieses Ergebnis veranschaulicht, wie die Faltung sowohl von der Reihenfolge der Schritte als auch von den angewendeten Transformationen abhängt.

Screenshot, der zeigt, wie das Entfernen der problematischen Spalte das Falten ermöglicht, ohne den Schritt zu entfernen.