Beheben von Leistungsproblemen

Abgeschlossen

Gelegentlich ist es erforderlich, dass Organisationen Leistungsprobleme bei der Ausführung von Berichten beheben. In Power BI steht das Tool „Leistungsanalyse“ zur Verfügung, das das Beheben von Problemen und das Optimieren des Prozesses unterstützt.

Stellen Sie sich hier als Szenario die Situation vor, dass Sie Berichte für das Vertriebsteam Ihrer Organisation erstellen. Sie haben die Daten importiert, die sich in mehreren Tabellen der SQL-Datenbank des Vertriebsteams befinden, indem Sie eine Datenverbindung zu der Datenbank über DirectQuery hergestellt haben. Bei der Erstellung vorläufiger Visuals und Filter stellen Sie fest, dass einige Tabellen schneller als andere abgefragt werden, und dass die Verarbeitung mancher Filter im Vergleich zu anderen länger dauert.

Leistungsoptimierung in Power Query

Die Leistung in Power Query hängt von der Leistung auf Ebene der Datenquelle ab. Von Power Query wird eine Vielzahl an Datenquellen angeboten, und die Möglichkeiten zur Leistungsoptimierung für die einzelnen Quellen sind genauso vielfältig. Wenn Sie beispielsweise Daten aus einer Microsoft SQL Server-Instanz extrahieren, sollten Sie den Leistungsoptimierungsleitfaden für das entsprechende Produkt verwenden. Zu geeigneten Leistungsoptimierungsmethoden für SQL Server gehören die Indexerstellung, Hardwareupgrades, Optimierungen des Ausführungsplans und die Datenkomprimierung. Diese Themen werden hier nicht näher erläutert, sondern nur als Beispiel genannt, damit Sie ein besseres Verständnis für Ihre Datenquelle erlangen und die Vorteile der Verwendung von Power BI und Power Query erkennen können.

Mithilfe einer Methode namens Query Folding kann Power Query von guter Leistung auf Datenquellenebene profitieren.

Query Folding

Mithilfe von Query Folding im Power Query-Editor können Sie die Leistung Ihrer Power BI-Berichte verbessern. Query Folding ist der Prozess, mit dem die Transformationen und Bearbeitungen, die Sie im Power Query-Editor vornehmen, gleichzeitig als native Abfragen oder als einfache SELECT-SQL-Anweisungen nachverfolgt werden, während Sie aktiv Transformationen vornehmen. Dieser Prozess wird implementiert, um sicherzustellen, dass diese Transformationen im ursprünglichen Datenquellenserver erfolgen können, ohne die Power BI-Computingressourcen zu überlasten.

Sie können Power Query verwenden, um Daten in Power BI zu laden. Mithilfe des Power Query-Editors können Sie anschließend weitere Datentransformationen vornehmen. z. B. Spalten umbenennen oder Löschen oder Ihre Daten anfügen, analysieren, filtern oder gruppieren.

Angenommen, Sie haben einige Spalten in der Tabelle mit den Verkaufsdaten umbenannt und die Spalten „City“ (Stadt) und „State“ (Bundesland) in das Format „city state“ (Stadt, Bundesland) zusammengeführt. In der Zwischenzeit werden diese Änderungen in nativen Abfragen vom Query Folding-Feature nachverfolgt. Wenn Sie anschließend die Daten laden, erfolgen die Transformationen unabhängig in der ursprünglichen Quelle. Dadurch wird die Leistung in Power BI optimiert.

Query Folding bietet die folgenden Vorteile:

  • Höhere Effizienz bei Datenaktualisierungen und inkrementellen Aktualisierungen: Wenn Sie Datentabellen mithilfe von Query Folding importieren, kann Power BI besser Ressourcen zuordnen und die Daten schneller aktualisieren, da Power BI nicht jede Transformation lokal ausführen muss.

  • Automatische Kompatibilität mit den Speichermodi „DirectQuery“ und „Dual“: Alle Datenquellen in den Speichermodi „DirectQuery“ und „Dual“ müssen über Funktionen zur Back-End-Serververarbeitung verfügen, um eine direkte Verbindung herstellen zu können. Das bedeutet, dass Query Folding eine automatische Funktion ist, die Sie verwenden können. Wenn alle Transformationen auf eine einzelne SELECT-Anweisung reduziert werden können, eignet sich Query Folding.

Das folgende Beispiel zeigt die Anwendung von Query Folding in der Praxis. Hierbei werden verschiedene Abfragen auf mehrere Tabellen angewendet. Nachdem Sie mit Power Query eine neue Datenquelle hinzugefügt und zum Power Query-Editor weitergeleitet wurden, wechseln Sie zum Bereich Abfrageeinstellungen, und klicken Sie, wie in der folgenden Abbildung gezeigt, mit der rechten Maustaste auf den zuletzt angewendeten Schritt.

Screenshot des zuletzt angewendeten Schritts,mit geöffnetem Kontextmenü (Rechtsklick).

Wenn die Option Native Abfrage anzeigen nicht verfügbar ist (in der Anzeige nicht fett formatiert), ist in diesem Schritt kein Query Folding möglich, und Sie müssen im Bereich Angewendete Schritte so weit zurückgehen, bis Sie den Schritt erreichen, für den die Option Native Abfrage anzeigen verfügbar ist (in der Anzeige fett formatiert). Wenn Sie so vorgehen, finden Sie die native Abfrage, die zum Transformieren des Datasets verwendet wird.

Für die folgenden Transformationen eignen sich native Abfragen nicht:

  • Hinzufügen einer Indexspalte
  • Zusammenführen und Anhängen von Spalten aus unterschiedlichen Tabellen mit zwei verschiedenen Quellen
  • Ändern des Datentyps einer Spalte

Merken Sie sich die folgende Richtlinie: Wenn Sie eine Transformation in eine SELECT-SQL-Anweisung übersetzen können, die Operatoren und Klauseln wie GROUP BY, SORT BY, WHERE, UNION ALL und JOIN beinhalten, können Sie Query Folding einsetzen.

Query Folding bietet sich zur Optimierung der Leistung an, wenn Daten abgerufen, importiert und vorbereitet werden. Sie können allerdings auch die Abfragediagnose einsetzen.

Abfragediagnose  

Ein weiteres Tool, das Sie zum Untersuchen der Abfrageleistung verwenden können, ist die Abfragediagnose. Mit diesem Feature können Sie ermitteln, welche Engpässe (sofern vorhanden) z. B. beim Laden und Transformieren von Daten, beim Aktualisieren der Daten in Power Query oder beim Ausführen von SQL-Anweisungen im Power Query-Editor entstehen.

Rufen Sie auf dem Menüband „Start“ die Option Extras auf, um die Abfragediagnose im Power Query-Editor zu öffnen. Wenn Sie bereit sind, mit dem Transformieren der Daten zu beginnen oder andere Änderungen im Power Query-Editor vorzunehmen, klicken Sie auf der Registerkarte Sitzungsdiagnose auf Diagnose starten. Wenn Sie fertig sind, denken Sie daran, auf Diagnose beenden zu klicken.

Screenshot der Registerkarte „Tools“ mit Sitzungsdiagnoseoptionen im Power Query-Editor.

Wenn Sie auf Schrittdiagnose klicken, wird Ihnen wie in der folgenden Abbildung angezeigt, wie lange es dauert, den jeweiligen Schritt auszuführen. Dadurch finden Sie heraus, ob ein Schritt länger dauert als andere, und erhalten somit eine Basis für weitere Untersuchungen.

Screenshot: Abfragediagnose.

Dieses Tool ist nützlich, wenn Sie die Leistung auf Power Query-Seite für Aufgaben wie das Laden von Datasets oder das Ausführen von Datenaktualisierungen oder anderer transformativer Tasks analysieren möchten.

Weitere Verfahren zur Leistungsoptimierung  

Weitere Möglichkeiten zur Optimierung der Abfrageleistung in Power BI:

  • Verarbeiten Sie so viele Daten wie möglich in der ursprünglichen Datenquelle. Mit Power Query und dem Power Query-Editor können Sie die Daten verarbeiten. Die Verarbeitungsleistung, die zum Ausführen dieses Tasks erforderlich ist, kann jedoch negative Auswirkungen auf die Leistung in anderen Bereichen Ihrer Berichte haben. Im Allgemeinen empfiehlt es sich, so viele Daten wie möglich in der nativen Datenquelle zu verarbeiten.

  • Verwenden Sie native SQL-Abfragen. Wenn Sie wie in diesem Beispiel DirectQuery für SQL-Datenbanken verwenden, achten Sie darauf, dass Sie keine Daten aus gespeicherten Prozeduren oder allgemeinen Tabellenausdrücken (Common Table Expression, CTE) pullen.

  • Trennen Sie verknüpfte Datums- und Uhrzeitangaben voneinander. Wenn eine der Tabellen über Spalten verfügt, in denen Datums- und Uhrzeitangaben verknüpft werden, achten Sie darauf, dass Sie diese vor dem Import in Power BI in unterschiedliche Spalten aufteilen. Dadurch bieten sich mehr Möglichkeiten zur Komprimierung.

Weitere Informationen finden Sie unter Query Folding-Anleitung und Query Folding.