Wie optimiert man ein Power BI Datenmodell?

Durch das Beachten einiger Punkte bei der Erstellung eines Power BI Datenmodells, kann verhindert werden, dass es mit der Zeit unnötig träge wird. Das spart Zeit und Nerven.

Welcher Power BI Desktop Benutzer kennt es nicht: Man erstellt ein Datenmodell anfänglich für einen bestimmten Zweck, z.B. für Absatzanalysen.  Später erweitert man das Modell  für weitere Zwecke, da darin die benötigten Daten bereits vorhanden sind und belädt es mit zusätzlichen Daten. Durch die monatlichen Imports vergrössert sich das Datenvolumen im Modell und entsprechend verlängert sich die Start- und Aktualisierungszeit des Datenmodells. Im Extremfall lässt es sich nicht mehr aktualisieren, da man die maximale Datengrösse der Datei erreicht hat (bei der Desktop-Version sind es 1GB, bei der Premium Version 13GB).  Spätestens dann macht man sich Gedanken darüber, wie man das Modell wieder verkleinern oder performanter gestalten kann. Von Vorteil ist, wenn man folgende Punkte bereits bei der Erstellung eines Modells beachtet. Denn Korrekturen an einem Datenmodell vorzunehmen sind oft aufwändiger, als von vornehinein einige Punkte zu beachten:

Nur die benötigte Menge an Daten importieren
Dies klingt selbstverständlich, doch oft entscheidet man sich für den Import von zusätzlichen Spalten und Zeilen in ein Datenmodell, da man davon ausgeht, dass man sie womöglich in der Zukunft gebrauchen könnte. Es ist aber ratsam, zu Beginn nicht benötigte Daten wegzulassen. Denn diese können zu einem späteren Zeitpunkt immer noch einfach importiert werden, wenn man sie braucht.

Erstellung eines Sternschemas
Power BI ist am performantesten, wenn das Datenmodell als Sternschema aufgebaut ist. In einem Sternschema-Datenmodell bildet eine Faktentabelle mit einer grossen Anzahl von Zeilen und Dimensionsschlüsselspalten das Zentrum des Modells. In einer Faktentabelle sind grundlegende Geschäftsvorgänge wie „Aufträge“ gespeichert. Die Dimensionsspalten sind dann über die Dimensionsschlüssel mit der Faktentabelle verbunden.

Screenshot „Sternschema“ aus dem Power BI Desktop (Bildquelle: Fatih Elele)

Zusammenfassen von Daten
Durch das Zusammenfassen von Daten vor dem Import, kann die Datenmenge in einem Modell erheblich reduziert werden. Dies kann etwa durch die Summierung von Tages-Absatzzahlen zu Wochen-Absatzzahlen erfolgen. Dadurch reduziert sich die Datenmenge der entsprechenden Tabelle um rund 85%. Eine Auswertung auf den Ebenen, die eliminiert wurden, ist danach aber nicht mehr möglich.

Verwenden von benutzerdefinierten Spalten
Berechnete Modellspalten sind weniger effizient als berechnete Power Query Spalten, da sie in einer anderen Form abgespeichert werden. Deren Datenstrukturen werden auch erst erstellt, nachdem alle Power Query Daten geladen wurden. Dies kann zu längeren Aktualisierungszeiten führen. Power Query Spalten sind daher berechneten Spalten vorzuziehen.

Benutzung der Leistungsanalyse
Power BI Desktop hat unter dem Reiter „Anzeigen“ eine integrierte Funktion zur Leistungsanalyse.  Mit dieser Funktion kann man Aktionen im Modell aufzeichnen und auswerten. In der Auswertung wird die Dauer der Aktionen in Millisekunden (ms) angezeigt. Dies hilft ressourcenintensive Schritte zu identifizieren, welche man anschliessend zu optimieren kann.

Screenshot „Leistungsanalyse“ aus dem Power BI Desktop (Bildquelle: Fatih Elele)

Vermeidung von Datenschnitten („Slicern“) und Reduzierung der Anzahl visueller Elemente
Datenschnitte sind weniger effizient als Filter. Wenn sie benutzt werden, dann von Vorteil als Drop-Down und nicht als Liste. Zudem ist es ratsam, die Anzahl visueller Elemente auf ein Minimum zu reduzieren, da diese viel Rechenleistung benötigen.

Weiterführende Links:
Verfahren zur Datenreduktion für die Importmodellierung – Power BI | Microsoft Docs
Understand star schema and the importance for Power BI
Optimizing Power BI Reports
A comprehensive guide to Power BI performance tuning

Beitrag teilen

Fatih Elele

Fatih Elele ist Leiter Projekte & Controlling im Category Management bei der Saviva AG und bloggt aus dem Unterricht des CAS Business Intelligence & Analytics.

Alle Beiträge ansehen von Fatih Elele →

Schreibe einen Kommentar