Tutorial: Extrahieren und Berechnen von Power BI-Measures aus einem Jupyter-Notizbuch
In diesem Tutorial wird die Verwendung von SemPy (Vorschau) zum Berechnen von Measures in semantischen Modellen (Power BI-Datasets) veranschaulicht.
In diesem Tutorial lernen Sie Folgendes:
- Bewerten Sie programmgesteuert Power BI-Measures über eine Python-Schnittstelle der Python-Bibliothek von Semantic Link (SemPy).
- Machen Sie sich mit Komponenten von SemPy vertraut, die helfen, die Lücke zwischen KI und BI zu überbrücken. Zu diesen Komponenten gehören:
- FabricDataFrame: eine Pandas-ähnliche Struktur, die um zusätzliche semantische Informationen erweitert wurde.
- Nützliche Funktionen, mit denen Sie semantische Modelle abrufen können, unter anderem Rohdaten, Konfigurationen und Measures.
Voraussetzungen
Erwerben Sie ein Microsoft Fabric-Abonnement. Registrieren Sie sich alternativ für eine kostenlose Microsoft Fabric-Testversion.
Melden Sie sich bei Microsoft Fabric an.
Wechseln Sie zur Synapse-Data Science-Benutzeroberfläche, indem Sie den Umschalter für die Benutzeroberfläche auf der linken Seite Ihrer Homepage verwenden.
Wählen Sie im linken Navigationsbereich Arbeitsbereiche aus, um Ihren Arbeitsbereich zu suchen und auszuwählen. Dieser Arbeitsbereich wird zu Ihrem aktuellen Arbeitsbereich.
Laden Sie das semantische Modell Retail Analysis Sample PBIX.pbix herunter, und laden Sie es in Ihren Arbeitsbereich hoch.
Das Notebook für das Tutorial
Das Notizbuch powerbi_dependencies_tutorial.ipynb wird in diesem Tutorial verwendet.
Um das zugehörige Notebook für dieses Tutorial zu öffnen, befolgen Sie die Anweisungen unter Vorbereiten Ihres Systems für Data-Science-Tutorials zum Importieren des Notebooks in Ihren Arbeitsbereich.
Wenn Sie den Code lieber von dieser Seite kopieren und einfügen möchten, können Sie auch ein neues Notebook erstellen.
Fügen Sie unbedingt ein Lakehouse an das Notebook an, bevor Sie mit der Ausführung von Code beginnen.
Einrichten des Notebooks
In diesem Abschnitt richten Sie eine Notizbuchumgebung mit den erforderlichen Modulen und Daten ein.
Installieren Sie
SemPy
über PyPI mithilfe der%pip
-Inlineinstallationsfunktion innerhalb des Notizbuchs:%pip install semantic-link
Führen Sie die erforderlichen Importvorgänge von Modulen durch, die Sie später benötigen:
import sempy.fabric as fabric
Sie können eine Verbindung mit dem Power BI-Arbeitsbereich herstellen. Auflisten der semantischen Modelle im Arbeitsbereich:
fabric.list_datasets()
Laden des semantischen Modells. In diesem Lernprogramm verwenden Sie das semantische Modell Retail Analysis Sample PBIX:
dataset = "Retail Analysis Sample PBIX"
Listenarbeitsbereichs-Measures
Auflisten von Measures im semantischen Modell unter Verwendung der list_measures
-Funktion von SemPy, wie folgt:
fabric.list_measures(dataset)
Bewerten von Measures
In diesem Abschnitt bewerten Sie Measures auf verschiedene Weise mithilfe der evaluate_measure
-Funktion von SemPy.
Auswerten von rohen Measures
Verwenden Sie im folgenden Code die evaluate_measure
-Funktion von SemPy, um ein vorkonfiguriertes Measure zu berechnen, das als "Durchschnittliche Verkaufsflächengröße" bezeichnet wird. Die zugrunde liegende Formel für dieses Measure wird in der Ausgabe der vorherigen Zelle angezeigt.
fabric.evaluate_measure(dataset, measure="Average Selling Area Size")
Auswerten eines Measures mit groupby_columns
Sie können die Measureausgabe nach bestimmten Spalten gruppieren, indem Sie den zusätzlichen Parameter groupby_columns
angeben:
fabric.evaluate_measure(dataset, measure="Average Selling Area Size", groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Im vorherigen Code haben Sie nach den Spalten Chain
und DistrictName
der Store
-Tabelle im semantischen Modell gruppiert.
Auswerten eines Measures mit Filtern
Sie können den filters
-Parameter auch verwenden, um bestimmte Werte festzulegen, die das Ergebnis für bestimmte Spalten enthalten kann:
fabric.evaluate_measure(dataset, \
measure="Total Units Last Year", \
groupby_columns=["Store[Territory]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]})
Im vorherigen Code ist Store
der Name der Tabelle, Territory
der Name der Spalte und PA
einer der Werte, die der Filter zulässt.
Auswerten eines Measures in mehreren Tabellen
Sie können das Measure nach Spalten gruppieren, die sich über mehrere Tabellen im semantischen Modell erstrecken.
fabric.evaluate_measure(dataset, measure="Total Units Last Year", groupby_columns=["Store[Territory]", "Sales[ItemID]"])
Auswerten mehrerer Measures
Mit der Funktion evaluate_measure
können Sie Bezeichner mehrerer Measures bereitstellen und die berechneten Werte im gleichen DataFrame ausgeben:
fabric.evaluate_measure(dataset, measure=["Average Selling Area Size", "Total Stores"], groupby_columns=["Store[Chain]", "Store[DistrictName]"])
Verwenden des Power BI XMLA-Connectors
Der Standard-Client des semantischen Modells wird von den REST-APIs von Power BI unterstützt. Wenn beim Ausführen von Abfragen mit diesem Client Probleme auftreten, ist es möglich, mithilfe von use_xmla=True
das Back-End zur XMLA-Schnittstelle von Power BI zu wechseln. Die SemPy-Parameter bleiben für die Measure-Berechnung mit XMLA identisch.
fabric.evaluate_measure(dataset, \
measure=["Average Selling Area Size", "Total Stores"], \
groupby_columns=["Store[Chain]", "Store[DistrictName]"], \
filters={"Store[Territory]": ["PA", "TN", "VA"], "Store[Chain]": ["Lindseys"]}, \
use_xmla=True)
Zugehöriger Inhalt
Sehen Sie sich weitere Tutorials zu Semantic Link und SemPy an:
- Tutorial: Bereinigung von Daten mit funktionalen Abhängigkeiten
- Tutorial: Analysieren von funktionalen Abhängigkeiten in einem semantischen Beispielmodell
- Tutorial: Beziehungen in einem semantischen Modell mithilfe von semantischen Links entdecken
- Tutorial: Entdecken von Beziehungen im Synthea-Dataset mithilfe von semantischer Links (Verbindung)
- Tutorial: Überprüfen von Daten mithilfe von SemPy und Great Expectations (GX) (Vorschau)