So optimieren Sie Ihre Power BI-Lösung

Veröffentlicht am 23.10.2023
News
BI-Blog

Microsoft Power BI ist ein leistungsstarkes Datenvisualisierungstool, das im Handumdrehen komplexe Berechnungen über Millionen von Zeilen durchführen kann.

Power BI Blog

Allerdings kann die Größe eines Power BI-Datenmodells sowie die Größe der pbix-Datei sehr schnell wachsen, was den Speicherverbrauch belasten und somit dazu führen kann, dass die Leistung der VertiPaq-Engine beeinträchtigt und die Leistung erheblich verlangsamt wird.

Um die Vorteile von Power BI voll auszuschöpfen, müssen einige Überlegungen angestellt werden, die es Entwicklern und Administratoren ermöglichen, optimierte Power BI-Lösungen zu erstellen und zu warten. Sie können Ihre Lösung auf verschiedenen Architekturebenen optimieren. Ebenen umfassen:

  • Das Datenmodell, einschließlich der DAX-Formel für berechnete Kennzahlen
  • Visualisierungen, Dashboards, Power BI-Berichte
  • Die Umgebung, einschließlich Kapazitäten, Daten-Gateways und das Netzwerk

Optimierung des Datenmodells

Das Datenmodell unterstützt das gesamte Visualisierungserlebnis. Datenmodelle werden entweder im Power BI-Ökosystem oder extern (mithilfe von DirectQuery oder Live Connection) gehostet und in Power BI als Datensätze bezeichnet. Es ist wichtig, Ihre Optionen zu verstehen und den geeigneten Datensatztyp für Ihre Lösung auszuwählen. Es gibt drei Datensatzmodi: Import, DirectQuery und Composite. Weitere Informationen finden Sie unter Datensätze im Power BI-Dienst und Datensatzmodi im Power BI-Dienst.

Es gibt mehrere Möglichkeiten, die Effizienz eines Power BI-Datenmodells zu verbessern:

  1. Entfernen Sie unnötige Spalten und Zeilen:
    • Reduzieren Sie Ihren Datensatz so, dass er nur die erforderlichen Spalten und Zeilen enthält. Dadurch verringert sich die Datenmenge, die geladen und verarbeitet werden muss.
  2. Verwenden Sie den Importmodus für kleine bis mittelgroße Datensätze:
    • Für Datensätze, die bequem in den Speicher passen, verwenden Sie den Importmodus anstelle von DirectQuery, um die In-Memory-Verarbeitungsfunktionen zu nutzen.
  3. Nutzen Sie die Abfragefaltung:
    • Stellen Sie sicher, dass so viele Datentransformationen wie möglich im Quellsystem durchgeführt werden. Power Query sollte die Vorgänge an die Datenquelle übertragen, anstatt sie in Power BI auszuführen.
  4. Vermeiden Sie den Aufbau von Viele-zu-Viele-Beziehungen:
    • Viele-zu-viele-Beziehungen können zu komplexen DAX-Berechnungen und Leistungsproblemen führen. Versuchen Sie, Ihre Daten so zu modellieren, dass sie vermieden werden.
  5. Datentypen optimieren:
    • Verwenden Sie für jede Spalte den am besten geeigneten Datentyp. Verwenden Sie beispielsweise ganze Zahlen anstelle von Dezimalzahlen für ganze Zahlen.
  6. Partitionierung und Aggregation:
    • Erwägen Sie bei sehr großen Datensätzen die Partitionierung und Aggregation der Daten in der Datenquelle, bevor Sie sie in Power BI importieren.
  7. Hierarchien optimieren:
    • Vermeiden Sie die Erstellung übermäßig komplexer Hierarchien, da diese die Darstellung und Filterung von Berichten verlangsamen können.

Es gibt auch einige Möglichkeiten, die Effizienz der DAX-Formeln im Modell zu verbessern:

  1. Minimieren Sie unnötige Berechnungen:
    • Vermeiden Sie die Erstellung von Maßnahmen, die in Berichten nicht häufig verwendet oder benötigt werden.
    • Verwenden Sie Kennzahlen nur, wenn dynamische Berechnungen erforderlich sind.
  2. Gehen Sie mit SUMMARIZE und/oder ADDCOLUMNS sparsam um:
    • Diese Funktionen können ressourcenintensiv sein, insbesondere wenn sie auf große Tabellen angewendet werden. Seien Sie wählerisch bei der Verwendung.
  3. Vermeiden Sie die Verwendung großer, ungefilterter Tabellen in Berechnungen:
    • Die Anwendung von DAX-Berechnungen auf sehr große Tabellen kann die Leistung erheblich verlangsamen. Erwägen Sie, die Daten zu filtern, bevor Sie Berechnungen durchführen.
  4. Nutzen Sie den DirectQuery-Modus für große Datensätze:
    • Wenn Ihr Datensatz zu groß ist, um importiert zu werden, sollten Sie den DirectQuery-Modus verwenden, um die Datenquelle direkt abzufragen, anstatt sie in Power BI zu importieren.
  5. Verwenden Sie Beziehungen anstelle von LOOKUPVALUE oder RELATED:
    • Stellen Sie nach Möglichkeit Beziehungen im Datenmodell her, anstatt DAX-Funktionen wie LOOKUPVALUE oder RELATED zu verwenden, da diese leistungsintensiv sein können.
  6. Komplexe Berechnungen optimieren:
    • Unterteilen Sie komplexe Berechnungen in kleinere, besser überschaubare Schritte. Verwenden Sie Variablen, um Zwischenergebnisse zu speichern.

Visualisierungen optimieren

Power BI-Visualisierungen können Dashboards, Power BI-Berichte oder paginierte Power BI-Berichte sein. Jeder hat unterschiedliche Architekturen und daher hat jeder seine eigene Anleitung.

Dashboards

Es ist wichtig zu verstehen, dass Power BI einen Cache für Ihre Dashboard-Kacheln verwaltet – mit Ausnahme von Live-Berichtskacheln und Streaming-Kacheln.

Das Abrufen der Daten aus dem Cache bietet eine bessere und konsistentere Leistung als die Abhängigkeit von der Datenquelle. Eine Möglichkeit, diese Funktionalität zu nutzen, besteht darin, Dashboards als erste Zielseite für Ihre Benutzer einzurichten. Heften Sie häufig verwendete und stark nachgefragte Visuals an die Dashboards an. Auf diese Weise werden Dashboards zu einer wertvollen „ersten Verteidigungslinie“, die eine konstante Leistung bei geringerer Kapazitätsbelastung liefert. Benutzer können sich weiterhin zu einem Bericht durchklicken, um Details zu analysieren.

Bei DirectQuery- und Liveverbindungsdatensätzen wird der Cache regelmäßig durch Abfragen der Datenquelle aktualisiert. Bei jeder Cache-Aktualisierung werden Abfragen an die zugrunde liegende Datenquelle gesendet, um den Cache zu aktualisieren. Die Anzahl der generierten Abfragen hängt von der Anzahl der an Dashboards angehefteten Visuals ab, die auf der Datenquelle basieren.

Wenden Sie die restriktivsten Filter an

Je mehr Daten ein Visual anzeigen muss, desto langsamer wird das Visual geladen. Obwohl dieses Prinzip offensichtlich erscheint, vergisst man es leicht. Beispiel: Angenommen, Sie haben einen großen Datensatz. Auf diesem Datensatz erstellen Sie einen Bericht mit einer Tabelle. Endbenutzer verwenden Slicer auf der Seite, um zu den gewünschten Zeilen zu gelangen – normalerweise sind sie nur an ein paar Dutzend Zeilen interessiert.

Ein häufiger Fehler besteht darin, die Standardansicht der Tabelle ungefiltert zu lassen, also alle über 100 Millionen Zeilen. Die Daten für diese Zeilen werden in den Speicher geladen und bei jeder Aktualisierung dekomprimiert. Diese Verarbeitung stellt einen enormen Speicherbedarf dar. Die Lösung: Verwenden Sie den Filter „Top N“, um die maximale Anzahl der in der Tabelle angezeigten Elemente zu reduzieren. Sie können das maximale Element auf einen höheren Wert festlegen, als Benutzer benötigen würden, beispielsweise 10.000. Das Ergebnis ist, dass sich das Endbenutzererlebnis nicht ändert, die Speichernutzung jedoch stark sinkt. Und was am wichtigsten ist: Die Leistung verbessert sich.

Für jedes Bildmaterial in Ihrem Bericht wird ein ähnlicher Designansatz wie oben empfohlen. Fragen Sie sich: Werden alle Daten in diesem Bild benötigt? Gibt es Möglichkeiten, die im Bild angezeigte Datenmenge mit minimaler Auswirkung auf das Endbenutzererlebnis zu filtern? Denken Sie daran, dass insbesondere Tische teuer sein können.

Beschränken Sie die visuelle Darstellung auf Berichtsseiten

Das obige Prinzip gilt gleichermaßen für die Anzahl der einer Berichtsseite hinzugefügten visuellen Elemente. Es wird dringend empfohlen, die Anzahl der visuellen Elemente auf einer bestimmten Berichtsseite auf das Notwendige zu beschränken. Drillthrough-Seiten und Tooltips für Berichtsseiten sind großartige Möglichkeiten, zusätzliche Details bereitzustellen, ohne mehr visuelle Elemente auf der Seite zu blockieren.

Bewerten Sie die individuelle visuelle Leistung

Stellen Sie sicher, dass Sie jedes benutzerdefinierte Bild auf Herz und Nieren prüfen, um eine hohe Leistung sicherzustellen. Schlecht optimierte Power BI-Visualisierungen können sich negativ auf die Leistung des gesamten Berichts auswirken.

Optimierung der Umgebung (für Administratoren)

Sie können die Power BI-Umgebung im Power BI-Dienst optimieren, indem Sie Kapazitätseinstellungen konfigurieren, Datengateways dimensionieren und die Netzwerklatenz reduzieren.

Kapazitätseinstellungen

Bei der Nutzung von Kapazitäten – verfügbar mit Power BI Premium, Premium-Pro-Benutzer-Lizenzen oder Power BI Embedded – können Sie Kapazitätseinstellungen verwalten und so bestimmte Arbeitsbereiche bestimmten Kapazitäten mit unterschiedlichen Rechenleistungen zuweisen.

Gateway-Größe

Ein Gateway ist immer dann erforderlich, wenn Power BI auf Daten zugreifen muss, auf die nicht direkt über das Internet zugegriffen werden kann. Sie können das lokale Datengateway auf einem Server vor Ort oder auf einer VM-gehosteten Infrastructure-as-a-Service (IaaS) installieren. Ein Power BI-Administrator kann das Gateway je nach Datenquellenanforderungen entsprechend den Arbeitslasten verwalten und dimensionieren.

Netzwerk-Latenz

Die Netzwerklatenz kann sich auf die Berichtsleistung auswirken, indem sie die Zeit verlängert, die erforderlich ist, bis Anforderungen den Power BI-Dienst erreichen und Antworten übermittelt werden. Mandanten werden in Power BI einer bestimmten Region zugewiesen.

Wenn Benutzer von einem Mandanten auf den Power BI-Dienst zugreifen, werden ihre Anforderungen immer an diese Region weitergeleitet. Wenn Anforderungen den Power BI-Dienst erreichen, sendet der Dienst möglicherweise weitere Anforderungen – beispielsweise an die zugrunde liegende Datenquelle oder ein Datengateway –, die ebenfalls einer Netzwerklatenz unterliegen.

Tools wie Azure Speed Test liefern einen Hinweis auf die Netzwerklatenz zwischen dem Client und der Azure-Region. Um die Auswirkungen der Netzwerklatenz zu minimieren, sollten Sie im Allgemeinen versuchen, Datenquellen, Gateways und Ihre Power BI-Kapazität so nah wie möglich beieinander zu halten. Vorzugsweise wohnen sie in derselben Region. Wenn die Netzwerklatenz ein Problem darstellt, versuchen Sie, Gateways und Datenquellen näher an Ihrer Power BI-Kapazität zu platzieren, indem Sie sie in in der Cloud gehosteten virtuellen Maschinen platzieren.

Leistungsüberwachung

Sie können die Leistung überwachen, um Engpässe zu identifizieren. Langsame Abfragen – oder Berichtsvisualisierungen – sollten ein Schwerpunkt der kontinuierlichen Optimierung sein. Die Überwachung kann zur Entwurfszeit in Power BI Desktop oder für Produktionsworkloads in Power BI Premium-Kapazitäten erfolgen.

Kommentar hinterlassen

Tags