Blog

Power BI - zusammengesetzte Modelle (composite models)

Nicolas
IT-Consultant
Power BI Modell-Ansicht

Was sind zusammengesetzte Modelle und wofür werden sie verwendet?

Seit jeher stellt man sich bei der Entwicklung von Power BI Berichten die Frage: Nutze ich meine Datenquelle im Import-Modus oder über DirectQuery? Lautete die Antwort DirectQuery, so waren für diesen Bericht keine anderen Datenverbindungen - egal ob Import-Modus oder DirectQuery - zulässig.
Bei zusammengesetzten Modellen (engl. composite models) ist diese Frage hinfällig. Die Berichte können problemlos mehrere Datenverbindungen im DirectQuery- oder Import-Modus enthalten.

Mit Hilfe zusammengesetzter Modelle können also Verbindungen zu verschiedenen Arten von Datenquellen hergestellt und damit die Vorteile der einzelnen Modi genutzt werden:

Import-Modus - die gängigste Art der Datenanbindung. Durch die Ausführung der Abfragen im Arbeitsspeicher bietet dieser Modus eine extrem hohe Performance. Darüber hinaus bietet er dem Entwickler Flexibilität und Unterstützung bei der Verwendung verschiedener Features (z.B. Q&A, Quick Insights, etc.). Bei der Aktualisierung von Datenquellen im Import-Modus werden die Daten zuerst komprimiert und optimiert, bevor sie von der VertiPaq-Speicher-Engine auf dem Datenträger gespeichert werden.

DirectQuery - die Alternative zum Import-Modus. Datenquellen, die über den DirectQuery Modus angebunden sind, werden nicht in den Arbeitsspeicher geladen. Stattdessen bestehen so entwickelte Modelle nur aus Metadaten, die eine Modellstruktur definieren. Wird eine Abfrage auf das Datenmodell ausgeführt, so wird diese Abfrage zur Laufzeit an die darunterliegende Datenquelle weitergereicht. Somit können Daten nahezu in Echtzeit aus Quellsystemen abgefragt, oder extrem große Datentöpfe als Datenquelle verwendet werden, ohne dass diese zusätzlich im Hauptspeicher persistieren müssen. Auch entfällt die Notwendigkeit von geplanten Datenaktualisierungen und die Größenbeschränkung für Importmodelle spielt keine Rolle.

Wie funktioniert das zusammengesetzte Modell?

Wir wollen das zusammengesetzte Modell anhand eines Beispiels verproben. Dazu verwenden wir als Datenquelle die von Microsoft bereitgestellte AdventureWorks2019 Datenbank.

Im ersten Schritt wählen wir eine Tabelle aus, die wir per DirectQuery als Datenquelle hinterlegen wollen.

Tabelle SalesOrderDetail wird als Datenquelle per DirectQuery ausgewählt

In Power BI Desktop sehen wir nach dem Laden der Tabelle am unteren rechten Bildschirmrand, dass wir den DirectQuery Modus für die Tabelle verwenden.

Storage Mode: DirectQuery

Im zweiten Schritt erweitern wir unser Datenmodell um eine zweite Datenquelle, welche im Import Modus an unseren Bericht angebunden wird. In unserem Fall wird die Datei “SpecialOffer.csv” hinzugefügt. Nach dem Laden der Datei lässt sich feststellen, dass der Storage Mode am unteren rechten Bildschirmrand von “DirectQuery” auf “Mixed” angepasst wurde.

Speichermodus: Mixed

Ein weiterer Unterschied lässt sich bei der Aktualisierung der Daten im Bericht mittels “Refresh” feststellen. Während für die Datenquellen im DirectQuery-Modus lediglich eine Verbindung zur dahinterliegenden Datenquelle hergestellt wird, werden beim Laden der CSV-Datei im Import-Modus die einzelnen Datensätze direkt im Bericht gespeichert.

Unterschiede bei der Datenaktualisierung im Bericht

Nachdem alle Datenquellen angebunden wurden, können für die einzelnen Tabellen Beziehungen definiert werden, unabhängig davon welcher Modus für die jeweiligen Objekte genutzt wird.

Speichermodus

Nachdem wir uns mit der Anbindung von Datenquellen im Import-Modus und per DirectQuery beschäftigt haben, wollen wir uns mit dem Konzept der Speichermodi auseinandersetzen.
Der Speichermodus kann auf Ebene der einzelnen Tabellen in der Modell-Ansicht in Power BI Desktop konfiguriert werden. Neben den bereits bekannten Alternativen Import & DirectQuery steht uns an dieser Stelle auch noch eine dritte Möglichkeit zur Verfügung: dual (gemischt)

Speichermodi in der Power BI Desktop Modell-Ansicht

Die Eigenschaften von Import-Modus und DirectQuery sollten mittlerweile bekannt sein, aber was hat es sich mit dem Dual-Modus auf sich?

Der Dual-Modus kann nur auf Tabellen angewendet werden, die per DirectQuery angebunden sind, für Tabellen im Import-Modus entfällt diese Möglichkeit.

Für Tabellen im Import-Modus ist der Speichermodus festgelegt

Erkennbar ist der für die einzelnen Tabellen gewählte Speichermodus an zwei weiteren Stellen direkt in der Power BI Desktop Modell-Ansicht:

  • Am Symbol in der oberen linken Ecke der Tabellen
  • An der Linie über der jeweiligen Kachel (gestrichelt, durchgezogen, nicht vorhanden)
Verschiedene Speichermodi in der Modell-Ansicht

Tabellen mit dem Speichermodus Dual können entweder zwischengespeichert (Import) oder nicht zwischengespeichert (DirectQuery) werden, abhängig vom Kontext der an die Tabelle angeschlossenen Abfragen. Verwendet man im Bericht beispielweise ein Visual, dass Daten sowohl aus einer DirectQuery-Tabelle als auch einer Dual-Tabelle beinhaltet, so verhält sich die Dual-Tabelle ebenfalls als wäre sie per DirectQuery angeschlossen. Verwendet man jedoch ein Visual, welches sowohl Daten aus einer Dual-Tabelle als auch aus einer Tabelle, die per Import-Modus angebunden ist, beinhaltet, so werden auch die Inhalte aus der Dual-Tabelle in den Hauptspeicher geladen.

Einschränkungen

Bei der Verwendung von zusammengesetzten Modellen gibt es diverse Einschränkungen, die entweder das gesamte Modell oder einzelne Features betreffen.

So können verschiedene (mehrdimensionale) Live Connect Datenquellen nicht in zusammengesetzten Modellen verwendet werden. Dazu zählen

  • SAP HANA
  • SAP Business Warehouse
  • SQL Server Analysis Services
  • Power BI Datasets
  • Azure Analysis Services

Zusammengesetzte Modelle sind darüber hinaus ein Feature, welches aktuell nur in der Cloud-Variante von Power BI verfügbar ist. Die On-Prem Variante, der Power BI Report Server, muss leider darauf verzichten.

Inkrementelle Aktualisierung wird nur für zusammengesetzte Modelle unterstützt, die mit SQL-, Oracle- und Teradata-Datenquellen verbunden sind.

Bereits bestehende Einschränkungen bei der Verwendung des DirectQuery-Modus gelten auch weiterhin für zusammengesetzte Modelle. Eine berechnete Spalte in einer importierten Tabelle kann beispielweise auf andere Tabellen verweisen, wohingegen eine berechnete Spalte in einer DirectQuery-Tabelle nach wie vor nur auf Spalten in derselben Tabelle verweisen kann. Weitere Einschränkungen gelten für das Modell als Ganzes, sobald eine der im Modell verwendeten Tabellen per DirectQuery angeschlossen ist. Das Feature QuickInsights ist nicht für Modelle verfügbar, wenn eine der Tabellen den Speichermodus „DirectQuery“ aufweist.

Zusammenfassung

Zusammengesetzte Modelle sind ein sehr mächtiges Feature, welches verschiedene neue Optionen bei der Report-Entwicklung ins Spiel bringt.

Sie machen insbesondere die Verwendung von DirectQuery attraktiver, da bisher bei der Nutzung dieses Modus die Anbindung weiterer Datenquellen entfiel. Insbesondere beim Arbeiten mit großen Datasets (Big Data) sollte das zusammengesetzte Modell für den eigenen Anwendungsfall evaluiert werden.

In diesem Artikel haben wir jedoch nicht über etwaige Sicherheitsprobleme gesprochen, die mit der Verwendung von zusammengesetzten Modellen auftreten können. Diesbezüglich sollte die offizielle Microsoft Dokumentation herangezogen werden.

Interesse geweckt?
Vielen Dank! Wir haben Ihre Anfrage erhalten!
Oops! Beim Senden ist etwas schiefgegangen, versuche es erneut.