Abfragediagnose

Mit der Abfragediagnose können Sie besser verstehen, was Power Query bei der Erstellung und bei der Aktualisierung in Power BI Desktop tut. Wir werden diese Funktion in Zukunft weiter ausbauen, einschließlich der Möglichkeit, sie während vollständiger Aktualisierungen zu nutzen. Im Moment können Sie sie nutzen, um zu verstehen, welche Art von Abfragen Sie senden, welche Verlangsamungen während der Autorenaktualisierung auftreten können und welche Art von Hintergrundereignissen stattfinden.

Um die Abfragediagnose zu verwenden, gehen Sie im Menüband des Power Query-Editors auf die Registerkarte Tools.

Abfragediagnose.

Standardmäßig erfordert die Abfragediagnose möglicherweise Administratorrechte, um ausgeführt zu werden (je nach IT-Richtlinie). Wenn Sie die Abfragediagnose nicht ausführen können, öffnen Sie die Power BI-Optionen-Seite und wählen Sie auf der Registerkarte Diagnostics die Option Enable in Query Editor (muss nicht als Administrator ausgeführt werden). Diese Auswahl schränkt die Möglichkeit ein, Diagnosen zu verfolgen, wenn Sie eine vollständige Aktualisierung in Power BI anstelle des Power Query-Editors vornehmen, ermöglicht es Ihnen aber, sie bei der Vorschau, beim Verfassen usw. zu verwenden.

Abfragediagnoseoptionen.

Sobald Sie die Diagnose starten, beginnt Power Query mit der Verfolgung aller von Ihnen verursachten Auswertungen. Die Auswertung, an die die meisten Benutzer denken, ist, wenn Sie auf Aktualisieren drücken oder wenn Sie zum ersten Mal Daten abrufen, aber es gibt viele Aktionen, die je nach Connector Auswertungen verursachen können. Wenn Sie z. B. mit dem SQL-Connector eine Liste von Werten zum Filtern abrufen, würde dies ebenfalls eine Auswertung auslösen, die jedoch nicht mit einer Benutzerabfrage verknüpft ist, was in der Diagnose dargestellt wird. Andere vom System generierte Abfragen können den Navigator oder die Datenabfrage beinhalten.

Wenn Sie auf Diagnose Stepdrücken, führt Power Query eine spezielle Auswertung nur für den Schritt durch, den Sie gerade betrachten. Es zeigt Ihnen dann die Diagnose für diesen Schritt an, ohne die Diagnose für andere Schritte in der Abfrage anzuzeigen. Dies kann es viel einfacher machen, ein Problem aus einem engen Blickwinkel zu betrachten.

Es ist wichtig, dass Sie, wenn Sie alle Traces von Start Diagnostics aufzeichnen, Stop diagnosticsdrücken. Durch das Anhalten der Diagnose kann die Engine die aufgezeichneten Spuren sammeln und in die richtige Ausgabe umwandeln. Ohne diesen Schritt werden Sie Ihre Spuren verlieren.

Arten von Diagnostik

Wir bieten derzeit drei Arten von Diagnosen an, von denen eine zwei Detailebenen hat.

Die erste dieser Diagnosen ist die Primärdiagnose, die eine detaillierte Ansicht und eine zusammenfassende Ansicht enthält. Die zusammengefasste Ansicht soll Ihnen einen unmittelbaren Einblick in die Zeit geben, die in Ihrer Abfrage verbracht wird. Die detaillierte Ansicht ist sehr viel detaillierter, Zeile für Zeile, und wird im Allgemeinen nur für ernsthafte Diagnosen von Power-Usern benötigt.

Für diese Ansicht sind einige Funktionen, wie die Spalte Datenquellenabfrage, derzeit nur für bestimmte Connectors verfügbar. Wir werden uns bemühen, den Umfang der Berichterstattung in Zukunft zu erweitern.

Datenschutzpartitionen vermitteln Ihnen ein besseres Verständnis für die logischen Partitionen, die für den Datenschutz verwendet werden.

Hinweis

Power Query führt möglicherweise Auswertungen durch, die Sie nicht direkt angestoßen haben. Einige dieser Auswertungen werden durchgeführt, um Metadaten abzurufen, damit wir unsere Abfragen optimieren können, oder um die Benutzerfreundlichkeit zu verbessern (z. B. Abrufen der Liste eindeutiger Werte innerhalb einer Spalte, die in der Filterzeilenfunktion angezeigt werden). Andere könnten damit zusammenhängen, wie ein Connector parallele Auswertungen handhabt. Wenn Sie jedoch in Ihrer Abfragediagnose wiederholte Abfragen sehen, die Ihrer Meinung nach keinen Sinn ergeben, können Sie sich gerne über die normalen Supportkanäle an uns wenden - Ihr Feedback hilft uns, unser Produkt zu verbessern.

Zusammenfassende vs. detaillierte Ansicht

Die Abfragediagnose bietet zwei Ansichten: eine zusammenfassende und eine detaillierte. Die zusammengefasste Ansicht fasst mehrere zusammenhängende Vorgänge zu einem einzigen Vorgang zusammen. Bei diesem Verfahren werden die von den einzelnen Vorgängen erfassten Daten kombiniert und die exklusiven Dauern summiert. Bei diesem Vorgang gehen keine Informationen verloren.

Die zusammengefasste Ansicht bietet einen Überblick über das Geschehen während einer Evaluation und ermöglicht eine einfache Überprüfung auf höchster Ebene. Wenn eine weitere Aufschlüsselung für einen bestimmten Vorgang gewünscht wird, kann der Benutzer die Gruppen-ID einsehen und die entsprechenden Vorgänge, die in der Detailansicht gruppiert wurden, anzeigen.

Erklären von mehreren Bewertungen

Beim Aktualisieren im Power Query-Editor wird hinter den Kulissen viel getan, um Ihnen eine flüssige Bedienung zu ermöglichen. Wenn Sie z.B. Refresh Previewaufrufen, führt der Evaluator den letzten Schritt jeder Abfrage aus. Im Hintergrund werden dann aber nacheinander n-1 Schritte, n-2 Schritte usw. ausgeführt, sodass, wenn Sie Ihre Schritte zurückgehen, diese bereits verfügbar sind.

Um eine höhere Leistung zu erzielen, erfolgt derzeit eine gewisse Zwischenspeicherung, damit nicht jeder Teil des endgültigen Abfrageplans erneut ausgeführt werden muss, wenn er die einzelnen Schritte durchläuft. Diese Zwischenspeicherung ist zwar für die normale Erstellung von Dokumenten nützlich, bedeutet aber auch, dass Sie nicht immer korrekte Schrittvergleichsinformationen erhalten, da spätere Auswertungen auf zwischengespeicherte Daten zurückgreifen.

Diagnoseschema

ID

Bei der Analyse der Ergebnisse einer Aufzeichnung ist es wichtig, die Aufzeichnungssitzung nach der Kennung zu filtern, damit Spalten wie Exklusivdauer % sinnvoll sind.

Id ist ein zusammengesetzter Bezeichner. Er besteht aus zwei Zahlen - einer vor und einer nach dem Punkt. Die erste Zahl ist die gleiche für alle Bewertungen, die aus einer einzigen Benutzeraktion resultieren. Mit anderen Worten: Wenn Sie zweimal auf Aktualisieren drücken, werden zwei verschiedene Zahlen vor dem Punkt angezeigt, eine für jede durchgeführte Benutzeraktivität. Diese Nummerierung ist für eine bestimmte Diagnoseaufzeichnung fortlaufend.

Die zweite Zahl steht für eine Bewertung durch die Maschine. Diese Nummer ist fortlaufend für die Lebensdauer des Prozesses, in dessen Warteschlange sich die Auswertung befindet. Wenn Sie mehrere Diagnoseaufzeichnungssitzungen durchführen, werden Sie feststellen, dass diese Zahl über die verschiedenen Sitzungen hinweg weiter ansteigt.

Zusammenfassend lässt sich sagen, dass Sie, wenn Sie die Aufzeichnung starten, einmal die Auswertung drücken und die Aufzeichnung beenden, eine gewisse Anzahl von Ids in Ihrer Diagnose haben. Da du aber nur eine Aktion durchgeführt hast, sind sie alle 1.1, 1.2, 1.3 und so weiter.

Die Kombination aus activityId und evaluationId, getrennt durch einen Punkt, liefert eine eindeutige Kennung für die Auswertung einer einzelnen Aufzeichnungssitzung.

Abfrage

Der Name der Abfrage im linken Fensterbereich des Power Query Editors.

Schritt

Der Name des Schritts im rechten Fenster des Power Query Editors. Dinge wie Filter-Dropdowns werden im Allgemeinen mit dem Schritt verknüpft, nach dem Sie filtern, auch wenn Sie den Schritt nicht aktualisieren.

Kategorie

Die Kategorie des Vorgangs.

Datenquellenart

Hier erfahren Sie, auf welche Art von Datenquelle Sie zugreifen, z. B. SQL oder Oracle.

Vorgang

Der tatsächlich durchgeführte Vorgang. Dieser Vorgang kann die Arbeit des Evaluators, das Öffnen von Verbindungen, das Senden von Abfragen an die Datenquelle und vieles mehr umfassen.

Startzeit

Der Zeitpunkt des Beginns der Operation.

Endzeit

Der Zeitpunkt, zu dem der Einsatz beendet wurde.

Exklusive Dauer (%)

Die Spalte Exklusive Dauer eines Ereignisses gibt die Zeit an, die das Ereignis aktiv war. Dies steht im Gegensatz zu dem Wert „Dauer“, der sich aus der Subtraktion der Werte in der Spalte Startzeit und der Spalte Endzeit eines Ereignisses ergibt. Dieser „Dauer“-Wert stellt die Gesamtzeit dar, die zwischen dem Beginn und dem Ende eines Ereignisses verstrichen ist, was auch Zeiten einschließen kann, in denen sich das Ereignis in einem angehaltenen oder inaktiven Zustand befand und ein anderes Ereignis Ressourcen verbrauchte.

Der Prozentsatz der exklusiven Dauer summiert sich innerhalb einer bestimmten Bewertung auf ungefähr 100 %, wie in der Spalte Id angegeben. Wenn Sie z. B. nach Zeilen mit der Id 1.x filtern, würden sich die Prozentsätze für die exklusive Dauer auf etwa 100 % summieren. Dies ist nicht der Fall, wenn Sie die %-Werte der Exklusivdauer aller Zeilen in einer bestimmten Diagnosetabelle addieren.

Exklusive Dauer

Die absolute Zeit (und nicht der Prozentsatz) der exklusiven Dauer. Die Gesamtdauer (d.h. exklusive Dauer + Zeit, in der das Ereignis inaktiv war) einer Bewertung kann auf zwei Arten berechnet werden:

  • Suchen Sie den Vorgang „Auswertung“. Die Differenz zwischen Endzeit und Startzeit ergibt die Gesamtdauer eines Ereignisses.

  • Subtrahieren Sie die minimale Startzeit aller Vorgänge eines Ereignisses von der maximalen Endzeit. Beachten Sie, dass in Fällen, in denen die für ein Ereignis gesammelten Informationen nicht die gesamte Dauer abdecken, eine Operation namens „Trace Gaps“ erzeugt wird, um diese Zeitlücke zu berücksichtigen.

Resource

Die Ressource, auf die Sie für Daten zugreifen. Das genaue Format dieser Ressource hängt von der Datenquelle ab.

Abfrage der Datenquelle

Power Query das sogenannte Folding aus. Dabei werden so viele Teile der Abfrage wie möglich gegen die Back-End-Datenquelle ausgeführt. Im Modus Direktabfrage (über Power Query) werden, sofern aktiviert, nur Transformationen ausgeführt, die gefaltet werden. Im Importmodus werden Transformationen, die nicht gefaltet werden können, stattdessen lokal ausgeführt.

In der Spalte Datenquellenabfrage können Sie die Abfrage oder HTTP-Anfrage/Antwort sehen, die an die Backend-Datenquelle gesendet wurde. Wenn Sie Ihre Abfrage im Editor erstellen, werden viele Datenquellenabfragen ausgegeben. Einige dieser Abfragen sind die eigentliche endgültige Datenquellenabfrage zum Rendern der Vorschau, aber andere können für die Datenprofilerstellung, Filter-Dropdowns, Informationen über Joins, das Abrufen von Metadaten für Schemas und eine beliebige Anzahl anderer kleiner Abfragen sein.

Im Allgemeinen müssen Sie sich keine Gedanken über die Anzahl der ausgegebenen Datenquellenabfragen machen, es sei denn, es gibt besondere Gründe dafür. Stattdessen müssen Sie darauf achten, dass die richtigen Inhalte abgerufen werden. Mit Hilfe dieser Spalte kann auch festgestellt werden, ob die Power Query-Auswertung vollständig gefaltet wurde.

Zusätzliche Informationen

Unsere Connectors rufen eine Vielzahl von Informationen ab. Vieles davon ist zerklüftet und passt nicht gut in eine Standardspaltenhierarchie. Diese Informationen werden in einen Datensatz in der Spalte Zusatzinformationen aufgenommen. Informationen, die von benutzerdefinierten Connectors protokolliert werden, erscheinen ebenfalls hier.

Zeilenanzahl

Die Anzahl der Zeilen, die von einer Datenquellenabfrage zurückgegeben werden. Nicht bei allen Anschlüssen aktiviert.

Inhaltslänge

Länge des von HTTP-Anfragen zurückgegebenen Inhalts, wie allgemein definiert. Diese Funktion ist nicht in allen Connectors aktiviert und ist bei Connectors, die Anfragen in Paketen abrufen, nicht korrekt.

Ist Benutzerabfrage

Ein boolescher Wert, der angibt, ob es sich um eine vom Benutzer erstellte Abfrage handelt, die im linken Fensterbereich angezeigt wird, oder ob sie durch eine andere Benutzeraktion erzeugt wurde. Andere Benutzeraktionen können z. B. die Filterauswahl oder die Verwendung des Navigators in der Datenabfrage sein.

Pfad

Pfad stellt den relativen Weg des Vorgangs dar, wenn er als Teil eines Intervallbaums für alle Vorgänge innerhalb einer einzigen Auswertung betrachtet wird. An der Spitze (Wurzel) des Baums gibt es eine einzige Operation namens Auswertung mit dem Pfad „0“. Der Startzeitpunkt dieser Bewertung entspricht dem Start der gesamten Bewertung. Die Endzeit dieser Auswertung zeigt an, wann die gesamte Auswertung beendet wurde. Dieser oberste Vorgang hat eine ausschließliche Dauer von 0, da sein einziger Zweck darin besteht, als Wurzel des Baums zu dienen.

Weitere Operationen gehen von der Wurzel ab. Ein Vorgang könnte zum Beispiel „0/1/5“ als Pfad haben. Dieser Weg würde so verstanden werden:

  • 0: Baumwurzel
  • 1: übergeordneter Vorgang des aktuellen Vorgangs
  • 5: Index des aktuellen Vorgangs

Die Operation „0/1/5“ könnte einen untergeordneten Knoten haben. In diesem Fall hat der Pfad die Form „0/1/5/8“, wobei 8 den Index des untergeordneten Knotens darstellt.

Gruppen-ID

Die Kombination von zwei (oder mehr) Vorgängen wird nicht durchgeführt, wenn sie zu einem Detailverlust führt. Die Gruppierung dient der Annäherung an die während der Bewertung ausgeführten „Befehle“. In der Detailansicht teilen sich mehrere Vorgänge eine Gruppenkennung, die den Gruppen entspricht, die in der Zusammenfassungsansicht zusammengefasst sind.

Wie bei den meisten Spalten ist die Gruppen-ID nur innerhalb einer bestimmten Auswertung relevant, die durch die Id-Spalte gefiltert wird.

Datenschutz-Partitionsschema

ID

Dieselbe ID wie bei den anderen Abfragediagnoseergebnissen. Der ganzzahlige Teil steht für eine einzelne Aktivitäts-ID, während der gebrochene Teil für eine einzelne Bewertung steht.

Partitionsschlüssel

Entspricht der Query/Step, die als Firewall-Partition verwendet wird.

Firewall-Gruppe

Kategorisierung, die erklärt, warum diese Partition gesondert bewertet werden muss, einschließlich Angaben zum Datenschutzniveau der Partition.

Zugängliche Ressourcen

Liste der Ressourcenpfade für alle Ressourcen, auf die diese Partition zugreift, und dient im Allgemeinen der eindeutigen Identifizierung einer Datenquelle.

Partitionsinputs

Liste der Partitionsschlüssel, von denen die aktuelle Partition abhängt (diese Liste kann zur Erstellung eines Graphen verwendet werden).

Ausdruck

Der Ausdruck, der am Anfang der Abfrage/des Schritts der Partition ausgewertet wird. In mehreren Fällen stimmt sie mit der Abfrage/dem Schritt überein.

Startzeit

Zeitpunkt des Beginns der Auswertung für diese Partition.

Endzeit

Zeitpunkt, an dem die Auswertung für diese Partition beendet wurde.

Dauer

Ein Wert, der sich aus Endzeit minus Startzeit ergibt.

Exklusive Dauer

Wenn davon ausgegangen wird, dass die Partitionen in einem einzigen Thread ausgeführt werden, ist die exklusive Dauer die „tatsächliche“ Dauer, die dieser Partition zugerechnet werden kann.

Exklusive Dauer %

Exklusive Dauer in Prozent.

Diagnostik

Diese Spalte wird nur angezeigt, wenn auch die Abfragediagnose „Aggregiert“ oder „Detailliert“ erfasst wird, sodass der Benutzer zwischen den beiden Diagnoseausgaben vergleichen kann.

Schema der Leistungsindikatoren

Wenn Sie Leistungsindikatoren ausführen, erstellt Power Query jede halbe Sekunde einen Schnappschuss der Ressourcenauslastung. Dieser Snapshot ist für sehr schnelle Abfragen nicht nützlich, kann aber für Abfragen, die viel mehr Ressourcen verbrauchen, hilfreich sein.

% Prozessorzeit

Prozentualer Anteil der von den Prozessoren für die Abfrage aufgewendeten Zeit. Dieser Prozentsatz kann aufgrund mehrerer Prozessoren über 100 % liegen.

Gesamte Prozessorzeit

Gesamtdauer der für die Abfrage aufgewendeten Prozessorzeit.

IO-Datenbytes pro Sekunde

Durchsatzgeschwindigkeit der von der Datenquelle empfangenen Daten, ausgedrückt in Bytes pro Sekunde.

Commit (Bytes)

Menge des von der Auswertung reservierten virtuellen Speichers.

Arbeitssatz (Bytes)

Menge des von der Auswertung reservierten Speichers.

Zusätzliches Lesen

Wie man Diagnosen in verschiedenen Anwendungsfällen aufzeichnet

Mehr über das Lesen und Visualisieren Ihrer aufgezeichneten Spuren

Wie man versteht, welche Abfrageoperationen mit Hilfe der Abfragediagnose gefaltet werden