Freigeben über


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

  • 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.

  1. Installieren Sie SemPy über PyPI mithilfe der %pip-Inlineinstallationsfunktion innerhalb des Notizbuchs:

    %pip install semantic-link
    
  2. Führen Sie die erforderlichen Importvorgänge von Modulen durch, die Sie später benötigen:

    import sempy.fabric as fabric
    
  3. Sie können eine Verbindung mit dem Power BI-Arbeitsbereich herstellen. Auflisten der semantischen Modelle im Arbeitsbereich:

    fabric.list_datasets()
    
  4. 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 Probleme beim Ausführen von Abfragen mit diesem Client 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)

Sehen Sie sich weitere Tutorials zu Semantic Link und SemPy an: