Nachdem mein Kollege Frank Hecker im letzten Blogartikel über Data Version Control geschrieben hat, möchte ich in diesem Blogartikel das Ganze mit Microsoft Power BI verknüpfen. Dabei werde ich auf die Schwierigkeiten von Versionskontrolle und Kollaboration in der Power BI-Welt eingehen und wie man diese mit Hilfe von Datapipelines und Versionierung mit GitHub in Power BI am besten behebt.
Aktuelle Schwierigkeiten bei der Arbeit mit Power BI
Power BI hat sich als eines der führenden Tools für Datenanalyse und -visualisierung etabliert. Allerdings gibt es auch bei diesem Tool Stolpersteine bei der Entwicklung von Berichten, über die man sich Gedanken machen muss.
- Keine Versionierung: Ohne eine effektive Versionskontrolle ist es schwierig, Änderungen nachzuverfolgen und sicherzustellen, dass die neueste Version eines Berichts genutzt wird.
Wie bekomme ich eine alte Version eines Power BI Bericht aus dem Service zurück?
- Schwierige Zusammenarbeit: Mehrere Entwickler können nicht gleichzeitig an derselben Power BI-Datei arbeiten, ohne Konflikte zu riskieren.
Wie hat mein Kollege die Kennzahldefinition im Bericht verändert?
- Fehleranfällige Produktionsumgebung: Änderungen werden oft direkt in der Produktionsumgebung vorgenommen, was zu Fehlern und Datenverlust führen kann.
Die Änderung einer Kennzahldefinition hatte einen Effekt auf eine andere Kennzahl. Jetzt stimmen Werte in unseren Produktivbericht nicht mehr!
- Manuelle Deployment-Prozesse: Das Übertragen von Berichten von der Entwicklungs- zur Produktionsumgebung ist zeitaufwendig und anfällig für Fehler.
Wurde das Datenset im Hintergrund auf den Produktionsarbeitsbereich abgeändert?
Einführung von Power BI Deployment Pipelines
Um diesen Schwierigkeiten zu begegnen, hat Microsoft die Power BI Deployment Pipelines eingeführt. Diese Pipelines bieten eine strukturierte Möglichkeit, Berichte und Datensätze durch verschiedene Phasen der Entwicklung zu steuern. Dazu zählt die (Neu-)Entwicklung eines Berichts, das Testen des Berichts durch bestimmte Fachanwender und die Produktivnahme des Berichts zur Anwendung und Steuerung im Betrieb.
- Metadaten-Deployments: Anstatt vollständige Datensätze zu überschreiben, können jetzt nur die Metadaten geändert werden. Das bedeutet, dass man Daten nicht jedes Mal neu laden muss.
- Datenquellenparameter pro Phase: In der Entwicklungsphase können Testdatenquellen verwendet werden, während in der Produktionsphase automatisch auf Produktionsdatenquellen zugegriffen wird.
- Änderungsüberprüfung: Änderungen zwischen den verschiedenen Arbeitsbereichen werden sofort angezeigt, was die Qualität und Konsistenz der Berichte sicherstellt.
Erstellung von Data Pipelines in Power BI
Die Erstellung einer Data Pipeline in Power BI zur Automatisierung und Versionierung erfolgt in mehreren Schritten:
1. Einrichten der Entwicklungs-, Test- und Produktionsumgebungen:
- Öffnen Sie Power BI Service und navigieren Sie zu den Deployment Pipelines (auf einem deutschsprachigen Power BI Service unter Bereitstellungspipeline).
- Erstellen Sie eine neue Pipeline und benennen Sie sie entsprechend.
- Weisen Sie Ihre Power BI-Arbeitsbereiche den verschiedenen Phasen (Entwicklung, Test, Produktion) zu.
2. Durchführen von Metadaten-Deployments:
- Entwickeln und testen Sie Ihre Berichte und Datensätze in der Entwicklungsumgebung.
- Verschieben Sie die Änderungen über die Pipeline in die Testumgebung, um sicherzustellen, dass alles wie erwartet funktioniert.
- Sobald die Tests erfolgreich abgeschlossen sind, deployen Sie die Änderungen in die Produktionsumgebung.
3. Verwalten von Datenquellenparametern:
- Konfigurieren Sie Datenquellenparameter für jede Phase individuell, um sicherzustellen, dass in der Produktion auf die korrekten Datenquellen zugegriffen wird.
Power BI Projektdateien mit Tmdl
Für die weiterführende Integration von GitHub ist es wichtig zu verstehen, dass Microsoft Power BI Projektdateien (PBIP) mit dem neuen Tmdl-Format (Tabular Model Language) eingeführt hat.
- Power BI Projektdateien Struktur: Diese neuen Dateien ermöglichen es, Berichte und semantische Modelle in separaten Klartextdateien zu speichern. Dies schafft eine übersichtliche Verzeichnisstruktur und erleichtert die Verwaltung und Bearbeitung, sowie das Vergleichen von verschiedenen Versionen von Power BI Berichten.
- Tmdl: Dieses Format speichert jedes Element (z.B. Tabellen, Perspektiven, Rollen) als separate Datei, was die Handhabung und Versionierung noch weiter verbessert. Auch kann diese Datei angepasst werden, um den Power BI Bericht einfach in jeden Text Editor zu bearbeiten.
Nur durch diese neuen Formate lassen sich später in den versionierten Dateien die Unterschiede zwischen den Versionen des Berichtes erkennen. Wichtig: Die neuen Formate sind zurzeit (Power BI Juni 2024) ein Vorschaufeature und müssen erst in Power BI Desktop aktiviert werden!
GitHub Integration für Versionierung und Zusammenarbeit
GitHub hat sich längst in der Entwicklung von Softwareprojekten etabliert und wird sich in Zukunft auch bei der Berichtsentwicklung in Power BI als wichtig erweisen. Durch die Integration von Power BI mit GitHub ergeben sich daher mehrere Vorteile, die vielen aus der Softwareentwicklung bekannt vorkommen werden:
- Versionskontrolle: Entwickler können Branches erstellen, um Änderungen unabhängig von der Hauptversion zu entwickeln und zu testen. Dies ermöglicht eine kontrollierte und sichere Entwicklung von neuen Berichtsfeatures.
- Zusammenarbeit: Mehrere Entwickler können gleichzeitig an verschiedenen Teilen eines Berichts arbeiten, ohne Konflikte zu riskieren. Änderungen können zusammengeführt und überprüft werden, bevor sie in die Produktion übernommen werden.
- Historiennachverfolgung: GitHub bietet eine detaillierte Historie aller Änderungen, was die Nachverfolgung und Annulierung von Änderungen erleichtert.
- Automatisierte Deployments: Mit GitHub Actions oder anderen CI/CD-Tools können Änderungen automatisch getestet und bereitgestellt werden, was den Entwicklungszyklus erheblich beschleunigt und die Qualität erhöht.
Verknüpfung von Power BI mit GitHub
Die Integration von Power BI mit GitHub zur Versionierung und Zusammenarbeit ist ein weiterer wichtiger Schritt. Hier die nötige Vorgehensweise:
1. Erstellen eines GitHub-Repository:
- Erstellen Sie ein neues Repository auf GitHub, um Ihre Power BI-Projekte zu verwalten.
- Klonen Sie das Repository auf Ihren lokalen Rechner, um die Dateien zu bearbeiten.
2. Verwenden von Power BI Projektdateien:
- Speichern Sie Ihre Power BI Berichte und semantischen Modelle als Projektdateien im neuen Format.
- Legen Sie diese Dateien in Ihrem GitHub-Repository ab.
3. Branching und Zusammenarbeit:
- Erstellen Sie für jede neue Funktion oder Änderung einen neuen Branch in Ihrem GitHub-Repository.
- Arbeiten Sie in diesen Branches und führen Sie regelmäßige Commits durch, um den Fortschritt zu dokumentieren.
- Öffnen Sie Pull Requests, um Änderungen zusammenzuführen und überprüfen zu lassen, bevor sie in die Hauptversion integriert werden.
4. Automatisierte Tests und Deployments:
- Nutzen Sie GitHub Actions oder andere CI/CD-Tools, um automatische Tests durchzuführen ob ihre Berichte allen Anforderungen genügen, wie z.B. den Best Practice Analyser aus Tabular Editor oder das Measure Killer-Tool.
- Stellen Sie sicher, dass die Änderungen in einer Testumgebung geprüft werden, bevor sie in die Produktionsumgebung überführt werden.
Integration von CI/CD in Business Intelligence
Durch die Einführung von CI/CD-Praktiken in Business Intelligence können die oben genannten Technologien und Methoden nahtlos integriert werden. Power BI Deployment Pipelines ermöglichen eine strukturierte und automatisierte Verwaltung der Entwicklungs-, Test- und Produktionsumgebungen. GitHub bietet die notwendige Versionskontrolle und Zusammenarbeit, um sicherzustellen, dass Änderungen nachvollziehbar und sicher durchgeführt werden können. Power BI Projektdateien und das TMDL-Format erleichtern die Verwaltung und Versionierung von Berichten und Datenmodellen. Diese Kombination ermöglicht es, kontinuierliche Integration und Deployment in BI-Projekten zu realisieren, was die Qualität und Effizienz der BI-Lösungen erheblich steigert und Unternehmen in die Lage versetzt, schneller und zuverlässiger auf sich ändernde Geschäftsanforderungen zu reagieren.
Fazit
Die Kombination von Power BI mit GitHub und die Nutzung von Deployment Pipelines und neuen Dateiformaten stellt einen bedeutenden Fortschritt dar. Sie ermöglicht eine effizientere, sicherere und professionellere Verwaltung und Veröffentlichung von Power BI Berichten und Datenmodellen. Entwickler können Änderungen besser nachverfolgen, automatisierte Tests durchführen und so die Qualität und Zuverlässigkeit ihrer Berichte erheblich verbessern.
Diese neuen Tools und Methoden sind der nächste Schritt hin zu einer reiferen und professionelleren Nutzung von Power BI, insbesondere in größeren und komplexeren Umgebungen, wo die Fehleranfälligkeit und die Notwendigkeit eines strukturierten Vorgehens besonders hoch sind. Mit diesen Verbesserungen sind Unternehmen besser gerüstet, die Herausforderungen der modernen Datenanalyse zu meistern und gleichzeitig die Qualität und Effizienz ihrer Prozesse zu steigern.