Kurs
Python zählt zu den beliebtesten und am schnellsten wachsenden Programmiersprachen für Data Science und Analytics. Mit Python lassen sich komplexe Aufgaben rund um Datentransformation, Visualisierung, Machine Learning, Künstliche Intelligenz und vieles mehr lösen.
Power BI kann direkt mit Python integriert werden und hebt damit die Möglichkeiten von Power BI auf ein neues Level. In diesem Tutorial konzentrieren wir uns darauf, wie du Python-Skripte in Power BI einrichtest und nutzt, um Daten zu importieren und ein vorhandenes Dataset zu erweitern.
Werde ein Power BI Datenanalyst
Beherrsche das beliebteste Business Intelligence Tool der Welt.
Warum Python in Power BI verwenden?
Die Kombination aus Python und Power BI eröffnet völlig neue Möglichkeiten im Umgang mit Daten. Python macht aus Power BI eine Plattform, die nahezu alles kann.
Hier ein paar Beispiele für Aufgaben, die du mit Python in Power BI erledigen kannst:
- Datenbereinigung – schreibe Python-Skripte, die wiederkehrende Bereinigungsaufgaben automatisieren, etwa fehlende Werte entfernen oder Datumsformate korrigieren.
- Datentransformation – Python eignet sich für Datasets, die vor dem Import umfangreiche Transformationen benötigen, die im Power Query-Editor mühsam oder langsam wären.
- Machine Learning – erweitere deine Daten um Predictive Analytics (z. B. Regression oder Natural Language Processing) oder führe unüberwachtes Lernen wie Clusteranalysen durch.
- Umgang mit fehlenden Daten – Python bietet mehr Optionen, etwa den Einsatz von Machine-Learning-Modellen, um fehlende Werte zu behandeln.
- Erweiterte Visualisierungen – bei Python-Visualisierungen gibt es keine Einschränkung der Visualtypen. Füge hochgradig komplexe oder individuelle Visuals hinzu, ohne in Power BI benutzerdefinierte Visuals herunterladen zu müssen.
- Konnektivität – Python kann nahezu jede Datenquelle anbinden, selbst wenn Power BI diese nicht als integrierte Verbindung unterstützt.
Welche Einschränkungen gibt es bei Python in Power BI?
Bei der Arbeit mit Python in Power BI solltest du folgende Einschränkungen beachten:
- Mit Python hinzugefügte Datenquellen müssen öffentlich sein.
- In Power BI können über Python nur Pandas DataFrames importiert werden.
- Skripte, die länger als 30 Minuten laufen, führen zu einem Timeout; Python-Visuals haben ein Zeitlimit von 5 Minuten.
- Der Power BI Service unterstützt nur eine begrenzte Anzahl an Python-Bibliotheken (mehr dazu im nächsten Abschnitt).
- Berichte mit Python lassen sich im Power BI Service nur über ein persönliches Gateway aktualisieren (Enterprise- bzw. Standard-Gateway wird nicht unterstützt).
- Python-Visuals unterstützen kein Cross-Filtering. Eine Auswahl in einem Python-Visual filtert andere Visuals also nicht mit, was die Interaktivität im Bericht einschränkt.
Wie erwähnt, unterstützt der Power BI Service nur eine begrenzte Zahl an Python-Bibliotheken. Diese Einschränkungen gelten nicht für die Berichtserstellung in Power BI Desktop. Achte daher auf die Bibliotheken, wenn du Berichte im Power BI Service veröffentlichen willst.
Beachte außerdem, dass der Power BI Service aktuell die Python-Laufzeitumgebung 3.7.7 unterstützt. Wenn du Skripte mit einer älteren Python-Version schreibst, kann es zu Fehlern kommen.
Der Power BI Service unterstützt folgende Bibliotheken:
- Matplotlib
- NumPy
- Pandas
- Scikit-learn
- Scipy
- Seaborn
- Statsmodels
- XGBoost
Wichtig: Für die Integration von Power BI und Python müssen mindestens zwei Bibliotheken installiert sein – Pandas und Matplotlib.
So richtest du Python in Power BI ein
Bevor du Skripte in Power BI schreiben kannst, installiere die aktuelle Python-Version von der Python-Website.
Die Power BI-Dokumentation empfiehlt, auf Environment-Manager wie Anaconda zu verzichten, da dadurch Probleme beim Ausführen der Skripte auftreten können. Ein möglicher Workaround bei Nutzung einer benutzerdefinierten Anaconda-Umgebung ist, diese in der Kommandozeile zu aktivieren und anschließend Power BI Desktop ebenfalls von dort zu starten.
Wenn du mit diesen Programmieraspekten weniger vertraut bist, halte dich besser an die Empfehlung von Power BI und lade Python direkt von der Website herunter, ohne eigene Umgebungen zu verwenden.
Nach der Installation musst du in Power BI Desktop den korrekten Python-Pfad angeben. Wähle im Ribbon „File“, dann „Options and settings“ und anschließend „Options“. Unter den globalen Optionen findest du „Python scripting“. Hier musst du das Verzeichnis auswählen, in dem deine Python-Distribution liegt.
In der Dropdown-Liste sollten alle auf deinem Rechner installierten Python-Distributionen erscheinen. Wenn du den Pfad manuell eingeben musst, beachte: Es werden nur absolute Pfade unterstützt; relative Pfade (z. B. relativ zum Speicherort der Power BI-Datei) sind hier nicht möglich.

Es gibt mehrere Möglichkeiten, Python-Skripte in Power BI zu verwenden:
- Als Datenquelle zum Import neuer Daten.
- Zur Anreicherung einer bestehenden Datenquelle im Power Query-Editor.
- Zur Visualisierung auf der Power BI-Berichtsfläche.
Im weiteren Verlauf dieses Tutorials zeigen wir, wie du Python als Datenquelle nutzt und eine bestehende Datenquelle anreicherst.
Python als Datenquelle in Power BI verwenden
Wähle im Ribbon auf dem Tab „Home“ die Option „Get data“, um die vollständige Liste der Datenverbindungen zu öffnen. Wähle die Kategorie „Other“ und dann „Python script“. So kannst du ein Python-Skript schreiben, um ein Dataset zu importieren. Das ist besonders hilfreich, wenn du dich mit einer Datenquelle verbindest, die Power BI nicht als Standardverbindung anbietet, oder wenn ein Dataset vor dem Import umfangreiche Transformationen benötigt (z. B. aus einer API).

Es öffnet sich ein Dialogfeld, in das du deinen Python-Code eintragen kannst. In diesem Beispiel nutzen wir die Bibliothek Scikit-learn, um das Iris-Dataset zu laden, das wir auch im nächsten Abschnitt verwenden. Denk daran: Power BI erlaubt nur den Import von Pandas DataFrames. Wir müssen das Dataset daher zuerst mit „pd.DataFrame“ umwandeln.

Wähle im nächsten Fenster die Tabelle „df“ aus, die die Daten enthält. Anschließend kannst du das Dataset wie jede andere Datenquelle in Power BI in das Datenmodell laden.

K-Means-Clustering in Power BI mit Python
K-Means-Clustering ist eine unüberwachte Machine-Learning-Methode, mit der du Gruppen ähnlicher Datenpunkte findest – die sogenannten Cluster. Diese Technik ist besonders in Marketing und Kundenservice hilfreich, um Kundengruppen besser zu verstehen.
Power BI kann Clusteranalysen auch ohne Python durchführen. Allerdings ist der Funktionsumfang eingeschränkt: Die Anzahl der Cluster wird festgelegt und lässt sich nicht anpassen. Genau hier spielt Python seine Stärke aus, denn du kannst ein Skript flexibel nach deinen Anforderungen schreiben.
Öffne den Power Query-Editor, wähle im Ribbon den Tab „Transform“ und klicke auf „Run Python Script“. Es erscheint fast derselbe Dialog wie beim Datenimport, nur dass hier ein Platzhalter für das aktuelle Dataset namens „dataset“ vorhanden ist.

Nach „OK“ wird eine eingeklappte Tabelle importiert. Klappe nun die Spalte „Value“ auf und wähle die Spalten aus, die du in die Abfrage übernehmen möchtest. Markiere alle Spalten, inklusive der neuen „Cluster“-Spalte aus dem obigen Skript, und entferne das Häkchen bei „Use original column name as prefix".

Am Ende erhältst du ein Dataset mit allen ursprünglichen Spalten sowie einer zusätzlichen Spalte, die angibt, zu welchem Cluster jede Zeile gehört. In diesem Beispiel haben wir die Daten in 4 Cluster aufgeteilt, entsprechend sollten die Cluster-Labels von 0 bis 3 reichen.

Fazit
Das ist nur ein Vorgeschmack darauf, was mit der Integration von Python und Power BI möglich ist. Wenn dich dieses Tutorial neugierig gemacht hat, wie du noch mehr aus Power BI herausholst, schau dir den Power BI Fundamentals-Lernpfad oder den Karrierepfad Data Analyst with Power BI von DataCamp an.
