Sie überlegen, Dataflows für Ihre Power BI Umgebung einzusetzen und sind auf der Suche nach einer möglichst umfassenden Übersicht mit Dos & Don'ts sowie konkreten Best-Practice-Tipps? Dann sind Sie hier goldrichtig!
Wer dagegen wissen will, wie ein Dataflow aufgesetzt wird, findet hier eine Schritt-für-Schritt-Anleitung.
Das sind Power BI Dataflows
Power BI Dataflows sind ein Self-Service-ETL-Werkzeug in Power BI Service – quasi Power Query in der Cloud. Sie umfassen vom Power BI Desktop entkoppelte Funktionen und bieten die Möglichkeit, Datenextraktions- und -Transformationsprozesse abzubilden, die in einem Microsoft Azure Data Lake auf csv-Basis einen Datamart für wiederverwendbare Tabellen (Daten) bilden, um in Power BI Service als Datenset für Reports zu dienen. Falls Sie sich für die Nutzung von Dataflows entscheiden und einen End-to-End-Datenfluss innerhalb Power BI aufbauen möchten, dann sähe dieser wie folgt aus:
Das Dataflow-Konzept
Der Startpunkt für die Dataflows ist immer ein Workspace im Power BI Service, d. h. ein Dataflow ist jeweils direkt mit einem Workspace verknüpft. Ein Dataflow enthält mindestens eine, meistens aber mehrere Entitäten. Entitäten sind bspw. Tabellen (inkl. Metadaten) oder das Resultat eines M-Codes aus Power Query. Dataflow nutzt den Azure Data Lake um die Daten im csv-Format zu verwalten. Ab hier stehen die durch den Dataflow generierten Daten als normale Datenquelle innerhalb Power BI bzw. Power Query für die weitere Verarbeitung zur Verfügung.
Der grösste Nutzen von Dataflows besteht darin, dass die Datenextraktions- sowie transformationsschritte von der Berichterstellung in Power BI entkoppelt werden. Statt wie in Power BI Desktop Daten mehrfach zu extrahieren und u. U. mehrfach zu transformieren, schaffen Sie mit Dataflows eine Single Source of Truth Datenbasis und tragen so zur Data Governance im Unternehmen bei.
Typische Anwendungsfälle von Power BI Dataflows:
- Aufbau eines Data Marts: Mit Dataflows erstellen Sie eine Data Warehouse ähnliche Datenplattform - einen Data Mart. Damit stellen Sie Ihren Power BI Report Ersteller*innen bereinigte Datenquellen zur Verfügung, ohne dass diese weiter transformiert werden müssen.
- Beschleunigung der Report-Erstellung: Dadurch, dass die Datenextraktions- und transformationsprozesse bereits erledigt sind, tragen die Dataflows signifikant zur Beschleunigung bei.
- Verwaltung kleiner bis mittlerer Datenmengen: Dataflows eignen sich insbesondere für die Verwaltung kleinerer bis mittlerer Datenmengen. Bei grossen Datenmengen ist Vorsicht geboten, siehe weiter unten.
- Erstellung wiederverwendbarer Daten: Angenommen, sie haben drei Reports – Umsatz, Personal und Produktion – und wollen die Umsatzdaten in allen drei Reports nutzen. Ohne Dataflows extrahieren Sie diese Daten 3x aus dem Quellsystem und transformieren diese 3x in Power BI Desktop. Das belastet die Quellsysteme, bremst die Report-Erstellung aus und birgt die Gefahr, dass die redundanten Transformationen irgendwann auseinander laufen und zu unterschiedlichen Resultaten führen. Mit Dataflows extrahieren Sie die Umsatz-Daten genau 1x und genau 1x finden auch die Transformationen statt. Alle drei Reports bedienen sich dann einer einzigen Datenquelle – des durch Dataflow erstellen Datamarts für Umsatzdaten.
- Bereitstellung zentraler (Daten) Ressourcen: In beinahe jedem Power BI Report wird nach Zeit (Tag, Monat, Jahr etc.) gefiltert, so dass jeweils ein Kalender benötigt wird. Nutzen Sie den Dataflow, um einen Basiskalender als Tabelle bereits zu erstellen, auf den alle Reports zugreifen. Sie vermeiden damit, dass jeder Power Query User seinen eigenen Kalender erstellt.
- Implementierung von Namenskonventionen: Implementieren Sie mit Dataflows zugleich auch Namenskonventionen für die Bezeichnung von Feldern und sorgen Sie für konsistente Datentypen. Sie erleichtern damit sowohl die Reporterstellung wie auch die Report-Nutzung durch die Endanwender.
Best-Practice-Tipps:
- Keine grossen Datenmengen mit Dataflows bearbeiten.
- Je Datenquelle einen Dataflow erstellen, dazu separate Dataflows für die Extrakte aus den Quellsystemen sowie für die Transformationen.
- Dataflows werden in Power Query Online erstellt, das im Vergleich zu Power Query in Power BI Desktop teilweise deutlich weniger Funktionen aufweist. Abhilfe schaffen Sie, indem Sie M-Code in Power BI Desktop generieren und diesen dann mit copy/paste nach Power Query Online übertragen – die meisten Transformationen wird Power Query Online im Backend ausführen.
Ein Dataflow ist keine Power BI Einbahnstrasse
Falls Sie Dataflows in Power BI Online erstellen, ist die Wahrscheinlichkeit gross, dass Sie deren Resultate auch wieder in Power BI nutzen werden. Neben Power BI gibt es aber auch weitere Microsoft-Komponenten, die vom Data Mart profitieren können:
Was Dataflows nicht sind
So verlockend Dataflows auch klingen, sie eignen sich nicht ausnahmslos für jeden Anwendungsfall. Während kleinere bis mittelgrosse Datenmengen problemlos verarbeitet werden können, stösst das Dataflow-Konzept bei grösseren Datenmengen an Grenzen (zumindest zum Entstehungszeitpunkt dieses Textes – April 2021). Dies liegt am Speicherformat (csv) der Daten im Azure Data Lake. csv-Dateien sind zwar sozusagen frei von Ballast (ohne Metadaten wie bspw. XML), aber sehr träge im Vergleich zu einem indexoptimierten materialisierten View in einer SQL-Datenbank.
Power BI managt Azure Data Lake Storage – oder auch nicht
Wie schon beschrieben speichern Dataflows die Daten im Azure Data Lake. Hier finden Sie die Schritt-für-Schritt-Anleitung zur entsprechenden Konfiguration.
Das funktioniert auch dann, wenn Sie den Data Lake noch nicht einsetzen bzw. kein Abo dafür besitzen: Der Data Lake wird im Standard zu 100% von Power BI gemanagt und stellt Ihnen ausreichend Platz zur Verfügung. Stellen Sie sich eine Ordnerstruktur auf Ihrem lokalen PC bzw. Notebook vor, mit Unterordnen, in denen sich Daten befinden – genauso verwaltet Power BI die durch Dataflows erstellen Daten im Azure Data Lake.
Falls Sie den Azure Data Lake bereits zu anderen Zwecken einsetzen, können Sie selbst die Kontrolle übernehmen: Indem Sie Power BI die Kontrolle entziehen, sind künftig Sie (bzw. Ihr Data-Engineering-Team) für das Management des Data Marts im Data Lake zuständig.
Die zwei Speicherorte von Dataflows: Dataverse oder Azure Date Lake Storage
Wozu Dataverse (bisher: Common Data Service) dienen kann, haben wir in einem separaten Post detaillierter beschrieben. Hier nur so viel: Die Dataflow-Resultate kennen zwei Speicherdestinationen – den Dataverse oder den Azure Data Lake Storage. Wer mehr dazu erfahren will, wird hier fündig.
- Standard-Dataflows speichern die Daten in Dataverse. Standard-Dataflows werden üblicherweise in der Power Plattform erstellt.
- Analytische Dataflows speichern die Daten in Azure Data Lake. Analytische Dataflows werden von Power BI erstellt.
Mit und ohne Dataflow
Im Schaubild unten greifen wir das obige Szenario noch einmal auf: Sie wollen drei verschiedene Reports erstellen und dabei jeweils die Umsatzdaten verarbeiten.
- Ohne Dataflow extrahieren und transformieren Sie die Umsatzdaten mehrfach.
- Mit Dataflow werden die Umsatzdaten nur 1x extrahiert, zentral transformiert und den verschiedenen Datasets als Data Mart zur Verfügung gestellt.
Auch wenn Microsoft in diesem Beitrag beschreibt, wie man mit Dataflows ein Data Warehouse aufbauen kann, so entstehen in der Praxis wohl eher Data Marts. Gemeinsam haben die beiden Begriffe, dass Daten zentral verwaltet und möglichst konsumfertig bereitgestellt werden. Ein Data Warehouse geht jedoch weit über einen Data Mart hinaus und deckt viele zusätzliche Themen ab, die ein durch Dataflows erstellter Data Mart nicht erreicht. Fall Sie ein Data Warehouse aufbauen wollen, dann ist Azure Synapse Analytics vermutlich ein besserer Anknüpfungspunkt als Dataflows in Power BI.
Falls Sie nach dem Lesen dieses Beitrags zur Überzeugung gelangt sind, dass Sie Dataflows einsetzen möchten, dann legen wir Ihnen dieses Microsoft-Whitepaper ans Herz: Obwohl es schon etwas älter ist (November 2018), finden Sie darin noch viele gültige Informationen.
Sollten Sie noch unschlüssig sein, dann kontaktieren Sie unverbindlich den Autor und schildern die Ausgangslage: Sie werden rasch eine erste Einschätzung erhalten, ob Dataflows auch Ihnen bzw. Ihrem Unternehmen helfen können.
>> Mehr über Power BI lesen