Aufzeichnung von Abfragediagnosen in Power BI
Bei der Erstellung in Power Query besteht der grundlegende Arbeitsablauf darin, dass Sie eine Verbindung zu einer Datenquelle herstellen, einige Transformationen anwenden, Ihre Daten möglicherweise im Power Query-Editor aktualisieren und sie dann in das Power BI-Modell laden. Sobald es sich im Power BI-Modell befindet, können Sie es von Zeit zu Zeit in Power BI Desktop aktualisieren (wenn Sie Desktop zum Anzeigen von Analysen verwenden), abgesehen von allen Aktualisierungen, die Sie im Dienst vornehmen.
Während Sie am Ende eines Authoring-Workflows, beim Aktualisieren im Editor oder beim Aktualisieren in Power BI selbst möglicherweise ein ähnliches Ergebnis erhalten, werden von der Software sehr unterschiedliche Auswertungen für die verschiedenen Benutzererfahrungen durchgeführt. Es ist wichtig zu wissen, was Sie bei der Abfragediagnose in diesen verschiedenen Arbeitsabläufen zu erwarten haben, damit Sie nicht von den sehr unterschiedlichen Diagnosedaten überrascht werden.
Um die Abfragediagnose zu starten, gehen Sie im Menüband des Power Query Editors auf die Registerkarte Tools. Hier haben Sie mehrere Möglichkeiten.
Hier gibt es zwei Hauptoptionen: „Diagnoseschritt“ und „Diagnose starten“ (gepaart mit „Diagnose stoppen“). Ersteres gibt Ihnen Informationen über eine Abfrage bis zu einem ausgewählten Schritt und ist sehr nützlich, um zu verstehen, welche Operationen in einer Abfrage lokal oder remote durchgeführt werden. Letzteres gibt Ihnen mehr Einblick in eine Reihe anderer Fälle, die weiter unten behandelt werden.
Besonderheiten des Connectors
Es ist wichtig zu erwähnen, dass es keine Möglichkeit gibt, alle verschiedenen Permutationen dessen, was Sie in der Abfragediagnose sehen werden, abzudecken. Es gibt eine Menge Dinge, die die Ergebnisse verändern können:
- Connector
- Angewandte Transformationen
- System, auf dem Sie arbeiten
- Netzwerkkonfiguration
- Erweiterte Konfigurationsmöglichkeiten
- ODBC-Konfiguration
Für eine möglichst breite Abdeckung konzentriert sich diese Dokumentation auf die Abfragediagnose der Northwind-Kundentabelle, sowohl auf SQL als auch auf OData. Die OData-Hinweise verwenden den öffentlichen Endpunkt, der unter auf der Website zu finden ist, während Sie selbst einen SQL-Server bereitstellen müssen. Viele Datenquellen werden sich erheblich von diesen unterscheiden und im Laufe der Zeit mit einer Connector-spezifischen Dokumentation versehen werden.
Diagnose starten/stoppen
die Optionen „Diagnose starten“ und „Diagnose stoppen“ sind breiter anwendbar als die Option „Diagnoseschritt“, liefern aber auch viel mehr Informationen, die Sie erst einmal sortieren müssen. Wenn Sie beispielsweise die Diagnose starten, eine Vorschau aktualisieren und dann anhalten, erhalten Sie die gleichen Informationen wie bei der Ausführung des Diagnoseschrittes für jeden Schritt (aufgrund der Funktionsweise von Power Query im Editor zur unabhängigen Aktualisierung jedes Schrittes).
Um die Aufzeichnung zu starten, wählen Sie Start Diagnostics, führen Sie die gewünschten Auswertungen durch (Authoring, Preview Refresh, Full Refresh), und wählen Sie dann Stop Diagnostics.
Erstellen
Der Autoren-Workflow unterscheidet sich in erster Linie dadurch, dass er im Allgemeinen mehr Einzelbewertungen erzeugt als andere Workflows. Wie im Artikel über die primäre Abfragediagnose beschrieben, sind diese ein Ergebnis des Auffüllens verschiedener Benutzeroberflächen wie des Navigators oder der Filter-Dropdowns.
Wir werden jetzt ein Beispiel durchgehen. In diesem Beispiel verwenden wir den OData-Connector, aber bei der Überprüfung der Ausgabe werden wir uns auch die SQL-Version derselben Datenbank ansehen. Für beide Datenquellen stellen wir über „Neue Quelle“, „Letzte Quellen“ oder „Daten abrufen“ eine Verbindung zur Datenquelle her. Für die SQL-Verbindung müssen Sie die Anmeldeinformationen für Ihren Server eingeben, aber für den öffentlichen OData-Endpunkt können Sie den oben verlinkten Endpunkt eingeben.
Sobald Sie eine Verbindung hergestellt und die Authentifizierung gewählt haben, wählen Sie die Tabelle Customers aus dem OData-Dienst aus.
Daraufhin wird die Tabelle Kunden in der Power Query-Oberfläche angezeigt. Nehmen wir an, wir möchten wissen, wie viele Vertriebsmitarbeiter es in den verschiedenen Ländern/Regionen gibt. Klicken Sie zunächst mit der rechten Maustaste auf Sales Representative unter der Spalte Contact Title, fahren Sie mit der Maus über Text Filters und wählen Sie Equals.
Wählen Sie nun Group By aus dem Menüband und führen Sie eine Gruppierung nach Country durch, wobei Ihr Aggregat eine Anzahl ist.
Damit müssen Sie die gleichen Daten wie unten sehen.
Navigieren Sie schließlich zurück zur Registerkarte Tools der Multifunktionsleiste und wählen Sie Stop Diagnostics. Dadurch wird die Verfolgung gestoppt und die Diagnosedatei für Sie erstellt, und die Zusammenfassung und die detaillierten Tabellen werden auf der linken Seite angezeigt.
Wenn Sie eine gesamte Autorensitzung verfolgen, erwarten Sie in der Regel so etwas wie eine Auswertung der Quellabfrage, dann Auswertungen in Bezug auf den jeweiligen Navigator und dann mindestens eine Abfrage für jeden Schritt, den Sie anwenden (und möglicherweise mehr, je nach den genauen UX-Aktionen). In einigen Connectors werden aus Leistungsgründen parallele Auswertungen durchgeführt, die sehr ähnliche Datensätze ergeben.
Vorschau aktualisieren
Wenn Sie die Umwandlung Ihrer Daten abgeschlossen haben, verfügen Sie über eine Folge von Schritten in einer Abfrage. Wenn Sie im Power Query-Editor auf „Vorschau aktualisieren“ oder „Alles aktualisieren“ klicken, sehen Sie nicht nur einen Schritt in Ihrer Abfragediagnose. Der Grund dafür ist, dass die Aktualisierung im Power Query Editor explizit die Abfrage aktualisiert, die mit dem zuletzt angewendeten Schritt endet, und dann schrittweise durch die angewendeten Schritte zurückgeht und für die Abfrage bis zu diesem Punkt, zurück zur Quelle, aktualisiert wird.
Das heißt, wenn Sie fünf Schritte in Ihrer Abfrage haben, einschließlich Quelle und Navigator, werden Sie fünf verschiedene Auswertungen in Ihrer Diagnose sehen. Die erste, chronologisch gesehen, dauert oft (aber nicht immer) am längsten. Dafür gibt es zwei verschiedene Gründe:
- Sie kann möglicherweise Eingabedaten zwischenspeichern, sodass die nach ihr ausgeführten Abfragen (die frühere Schritte in der Benutzerabfrage darstellen) lokal schneller darauf zugreifen können.
- Es kann sein, dass darauf Transformationen angewandt werden, die die zurückzugebende Datenmenge erheblich einschränken.
Beachten Sie, dass bei der Option „Alle aktualisieren“ alle Abfragen aktualisiert werden und Sie die Abfragen herausfiltern müssen, die für Sie von Interesse sind, wie Sie vielleicht erwarten.
Vollständige Aktualisierung
Query Diagnostics kann verwendet werden, um die so genannte „endgültige Abfrage“ zu diagnostizieren, die während des Aktualisierungsvorgangs in Power BI ausgegeben wird, und nicht nur die Power Query-Editor-Erfahrung. Dazu müssen Sie zunächst die Daten einmalig in das Modell laden. Wenn Sie dies vorhaben, müssen Sie sich darüber im Klaren sein, dass bei der Auswahl von Schließen und Anwenden das Editor-Fenster geschlossen wird (was die Ablaufverfolgung unterbricht), sodass Sie dies entweder bei der zweiten Aktualisierung tun müssen, oder das Dropdown-Symbol unter Schließen und Anwenden auswählen und stattdessen Anwenden wählen.
Wählen Sie in jedem Fall Start Diagnostics im Abschnitt Diagnostics der Registerkarte Tools im Editor. Aktualisieren Sie anschließend Ihr Modell oder auch nur die Tabelle, die Sie interessiert.
Sobald das Laden der Daten in das Modell abgeschlossen ist, wählen Sie Stop Diagnostics.
Sie können mit einer Kombination aus Metadaten- und Datenabfragen rechnen. Metadatenaufrufe erfassen die Informationen, die sie über die Datenquelle haben. Bei der Datenabfrage geht es darum, auf die Datenquelle zuzugreifen, die endgültige Datenquellenabfrage mit heruntergeklappten Operationen auszugeben und dann lokal die noch fehlenden Auswertungen vorzunehmen.
Es ist wichtig zu wissen, dass die Anzeige einer Ressource (Datenbank, Web-Endpunkt usw.) oder einer Datenquellenabfrage in der Diagnose nicht unbedingt bedeutet, dass diese eine Netzwerkaktivität ausführt. Power Query kann diese Informationen aus seinem Cache abrufen. In zukünftigen Updates werden wir zur einfacheren Diagnose angeben, ob Informationen aus dem Cache abgerufen werden oder nicht.
Schritt Diagnose
diagnose Step" ist nützlicher, um einen Einblick in die Auswertungen zu erhalten, die bis zu einem einzelnen Schritt stattfinden. So können Sie feststellen, wie die Leistung bis zu diesem Schritt ist und welche Teile Ihrer Abfrage lokal oder remote ausgeführt werden.
Wenn Sie „Diagnose Step“ auf die oben erstellte Abfrage anwenden, werden Sie feststellen, dass sie nur etwa 10 Zeilen zurückgibt. Wenn wir uns die letzte Zeile mit einer Datenquellenabfrage ansehen, können wir eine ziemlich gute Vorstellung davon bekommen, wie unsere endgültige Abfrage an die Datenquelle aussehen wird. In diesem Fall können wir sehen, dass der Vertriebsmitarbeiter remote gefiltert wurde, aber die Gruppierung (durch Ausschlussverfahren) lokal erfolgte.
Wenn Sie die Diagnose starten und stoppen und dieselbe Abfrage aktualisieren, erhalten wir 40 Zeilen, da Power Query, wie oben erwähnt, Informationen über jeden Schritt erhält, nicht nur über den letzten Schritt. Das macht es schwieriger, wenn Sie nur versuchen, Einblick in einen bestimmten Teil Ihrer Anfrage zu bekommen.
Zusätzliche Lektüre
Eine Einführung in das Feature
Mehr über das Lesen und Visualisieren Ihrer aufgezeichneten Spuren
Wie man versteht, welche Abfrageoperationen mit Hilfe der Abfragediagnose gefaltet werden