Zum Hauptinhalt springen
Power BI

Jupyter als externes Tool für Power BI Desktop (Python Teil 4)

Zeit zu lesen: 4 Protokoll

Viele Leute verwenden Python mit Notizbüchern. Schauen wir uns also einen möglichen Weg an, um a zu aktivieren Jupyter externes Tool für Power BI Desktop. Der nächste abgestufte Ansatz beginnt mit dem einfachen Öffnen von Jupyter. Erstellen und öffnen Sie anschließend ein Notebook mit Power BI Server y Datenbank Argumente. Schließlich arbeiten Sie daran, eine in einer GitHub-Essenz enthaltene Notebook-Definition herunterzuladen und in das tabellarische Power BI-Modell einzufügen, um diesen Ansatz nützlicher zu machen.

Dieser Beitrag setzt eine Reihe von Beiträgen fort, die sich auf Python und Power BI beziehen. In den ersten drei Teilen dieser Blog-Reihe wurden einige Verwendungsmöglichkeiten von Python vorgestellt, die mit einem Power BI-Modell verbunden sind, wie ein grundlegendes externes Python-Tool konfiguriert wird und wie es in einer virtuellen Umgebung verwendet und eine Verbindung zum tabellarischen Objektmodell hergestellt wird.

Open Jupyter: wichtig, aber nicht nützlich

Ich verwende das Anakonda Verteilung in diesen Beispielen, und lassen Sie uns überlegen, wie Sie einfach ein Notizbuch starten und öffnen (Vanille Jupyter und nichts mit JupyterLab). Zu diesem Zeitpunkt benötigen wir nur eine pbitool.json-Datei, da das Ziel darin besteht, Jupyter zu starten, nicht einmal eine Binder-Datei. Es ist kein nützliches Beispiel, aber es bietet eine Grundlage, auf der wir aufbauen werden.

Wie in Teil 2 erläutert, definieren die Dateien pbitool.json die externen Tools für Power BI Desktop. Wenn Sie sich die Jupyter-Verknüpfung ansehen, finden Sie Anregungen zum Definieren des externen Power BI-Tools.

image-9396482

Der JSON sollte in dieser Essenz als [tool] .pbitool.json gespeichert und in C: Programme (x86) Allgemeine Dateien Microsoft Shared Power BI Desktop Externe Tools abgelegt werden.

Beachten Sie, dass der Pfad für Python.exe ist und die Argumente die Standard-Python-Umgebung laden und die ausführen jupyter-notebook-script.py Skript zum Starten von Jupyter.

image-1-5659520

Das einfache Öffnen von Jupyter hat jedoch keinen Wert. In dieser Phase ist es nichts weiter als ein Ersatz für eine Verknüpfung. Der wahre Wert besteht darin, Power BI Desktop enger in den Laptop zu integrieren.

Erstellen und öffnen Sie ein Notizbuch (codiert)

Wenn Sie noch einen Schritt weiter gehen, erstellen Sie ein leeres Notizbuch und schreiben die aktuell geöffneten Power BI Desktop-Verbindungsinformationen in die Notizbuchzellen. In diesem Fall benötigen wir ein Python-Skript zusammen mit einer neuen [tool] .pbitool.json-Datei.

Die Datei [tool] .pbitool.json weist einige Unterschiede zur vorherigen Version auf. Insbesondere wird ein Python-Skript ausgeführt, das ich benannt habe powerbinotebook.py und in meine gelegt C: Temp Verzeichnis. Sie werden auch die sehen Server y Datenbank Argumente, die Power BI Desktop verwendet, um die aktuelle lokale Verbindung zu übergeben (Server: Datenbank-GUID und Port).

C: /Temp/powerbinotebook.py ”% server%” ”% database%”

Die restlichen Argumente starten die Standard-Python-Umgebung und führen Jupyter aus. Es ist jedoch wichtig, dass die powerbinotebook.py Das Skript wird ausgeführt, bevor Jupyter gestartet wird. Warum ist das so?

Das Python-Skript definiert ein fast leeres Notizbuch für Jupyter und startet es dann in Jupyter. Achten Sie genau darauf notebook_core, das die JSON-Definition für den Ordner enthält und sys.argv [1] und sys.argv [2] in den Ordner für den Power BI-Server bzw. die Datenbank schreibt. Jede Zelle in der Zellen Die Matrix wird als separate Zelle im Beispielnotizbuch angezeigt. Gemäß der obigen Definition von pbitool.json befindet sich das Python-Skript unter C: Temp powerbinotebook.pyund natürlich können Sie Ihre an einem Ort Ihrer Wahl benennen und speichern.

Vielleicht interessieren Sie sich >>>  Power BI-Wasserfalldiagrammformat
image-2-8664612

Das folgende Video zeigt die grundlegende Ausführung des Skripts, bei der das Python-Skript das Notizbuch erstellt, Jupyter startet und Jupyter das Notizbuch startet.

Erstellen und öffnen Sie ein in einem GitHub Gist definiertes Notizbuch

Gehen wir noch einen Schritt weiter und ändern die Notebook-Definition in eine GitHub-Essenz, anstatt sie im Python-Skript zu codieren. Essence enthält JSON und auch Platzhalter für <y <, die das Python-Skript durch die tatsächlichen Werte für sys.argv [1] und sys.argv [2] ersetzt.

Essenzbeispiel (nicht in Post eingebettet): https://gist.github.com/deldersveld/fdada06b82621233d6e40fac13cceb55

Ich habe dasselbe [tool] .pbitool.json verwendet, da es nur den Inhalt des Skripts powerbinotebook.py ändert. Beachten Sie, dass das Skript jetzt viel kürzer ist, da es nicht mehr die Definition des Notizbuchs enthält. Dies nutzt die Anfragen Bibliothek, um die JSON-Notizbuchvorlage von der in definierten URL abzurufen gist_url. Beachten Sie auch, wie ersetzen tauscht aktuelle Power BI-Datenbank- und Servereinstellungen aus.

Erweiterung der Definition des Notebooks

Lassen Sie uns abschließend ein etwas komplexeres Notizbuch mit einem Update erstellen powerbinotebook.py Drehbuch. Nach wie vor sind für [tool] .pbitool.json keine Änderungen erforderlich. Nur das Python-Skript wird aktualisiert.

Hier ist das aktualisierte Notizbuch Gist als Referenz (nicht in den Beitrag eingebettet):
https://gist.github.com/deldersveld/70e05dbc97086181641592f03d314800

Wie im letzten Beispiel lädt das Python-Skript die neue Notebook-Definition herunter, die in einer anderen GitHub-Essenz enthalten ist. Ersetzen Sie auch nach wie vor die Platzhalter <

Neu ist hier, dass dieses Skript das herunterlädt ssas_api.py Das im Beitrag zu Teil 3 erwähnte Modul ist eine von vielen Möglichkeiten, Python mit AMO / TOM und anderen .NET-Bibliotheken zu verbinden. Das aktualisierte Beispielnotizbuch lädt das Modul und demonstriert die Konnektivität des Basismodells.

BITTE BEACHTEN SIE, dass das Skript ein Notebook nicht absichtlich überschreibt, wenn es für eine bestimmte Portnummer erstellt wurde. Um eine neue leere Vorlage zu erhalten, wenn Sie dies testen, müssen Sie lediglich Power BI Desktop schließen und erneut öffnen. Die Verbindung zu TOM in diesem Beispiel erfordert auch eine Power BI Desktop-Verbindung zu mindestens einer vorhandenen Tabelle.

Hier ist ein Blick auf das Beispielnotizbuch in Aktion. Es werden zwei Dinge veranschaulicht: eine grundlegende Verbindung zu TOM und das Auswerten einer DAX-Abfrage bei geöffnetem Modell in Power BI Desktop.

Mehr freischalten

Mit einer Live-Verbindung zum Python Power BI Desktop-Modell können Sie viele Möglichkeiten freischalten. Wie in Teil 1 beschrieben, gibt es viele Beispiele, die von der Datenvisualisierung bis zur Modellaktualisierung reichen. Ich bin gespannt auf Ihre Gedanken darüber, wie Sie Python in Power BI verwenden möchten.

Lassen Sie es mich in den Kommentaren wissen und vergessen Sie nicht, den DataVeld-Blog zu abonnieren.

Zahlungslinks

Als Amazon-Mitarbeiter verdiene ich mit qualifizierten Einkäufen.

Error: Beachtung: Geschützter Inhalt.