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:
Best-Practice-Tipps:
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.
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.