Untersuchen und Überprüfen von Beziehungen in semantischen Power BI-Modellen
In diesem Artikel erfahren Sie, wie Sie Beziehungen in Ihren semantischen Power BI-Modellen und in Pandas DataFrames mithilfe von SemPy-Modulen ermitteln und überprüfen.
In Data Science und beim maschinellen Lernen ist es wichtig, die Struktur und Beziehungen innerhalb Ihrer Daten zu verstehen. Obwohl Power BI ein leistungsfähiges Tool ist, mit dem Sie Ihre Daten modellieren und visualisieren können, müssen Sie manchmal tiefer in die Struktur eines semantischen Modells eintauchen, um mehr Erkenntnisse zu gewinnen oder Machine Learning-Modelle zu erstellen. Wissenschaftliche Fachkräfte für Daten und Business Analysts können die Beziehungen innerhalb eines semantischen Power BI-Modells oder in Pandas DataFrame mithilfe verschiedener Funktionen in der SemPy-Bibliothek untersuchen.
Sie lernen Folgendes:
- Suchen, Visualisieren und Untersuchen von Beziehungen in einem semantischen Power BI-Modell
- Suchen und Überprüfen von Beziehungen in einem Pandas DataFrame
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.
- Navigieren Sie zur Data Science-Benutzeroberfläche in Microsoft Fabric.
- Erstellen Sie ein neues Notebook, um Code in Zellen zu kopieren und einzufügen.
- Um die Python-Bibliothek
SemPy
in Ihrem Notebookkernel zu installieren, führen Sie den folgenden Code in einer Notebookzelle aus:%pip install semantic-link
- Fügen Sie ein Lakehouse zum Notebook hinzu. Für Spark 3.4 und höher ist der semantische Link bei Verwendung von Fabric in der Standardlaufzeit verfügbar und muss nicht installiert werden. Wenn Sie Spark 3.3 oder darunter verwenden oder auf die neueste Version von Semantic Link aktualisieren möchten, können Sie den Befehl ausführen:
python %pip install -U semantic-link
Beziehungen in einem semantischen Modell finden
Mit der Funktion list_relationships
können Sie eine Liste aller Beziehungen abrufen, die in einem semantischen Power BI-Modell gefunden wurden, damit Sie die Struktur Ihrer Daten besser verstehen und wie verschiedene Tabellen und Spalten verbunden sind.
Die Funktion nutzt Semantic Link, welches kommentierte DataFrames bereitstellt, die die notwendigen Metadaten enthalten, um die Beziehungen innerhalb des semantischen Modells zu verstehen. Auf diese Weise können Sie die Struktur des semantischen Modells einfach analysieren und in Ihren Machine Learning-Modellen oder anderen Datenanalyseaufgaben verwenden.
Um die list_relationships
-Funktion zu verwenden, müssen Sie zuerst das sempy.fabric
-Modul importieren.
Anschließend können Sie die Funktion mit dem Namen oder der UUID Ihres semantischen Power BI-Modells aufrufen, wie im folgenden Code gezeigt:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Der vorherige Code zeigt, dass die list_relationships
Funktion mit einem semantischen Power BI-Modell mit dem Namen my_dataset aufgerufen wird.
Die Funktion gibt einen Pandas DataFrame mit einer Zeile pro Beziehung zurück, sodass Sie die Beziehungen innerhalb des semantischen Modells einfach untersuchen und analysieren können.
Tipp
Ihr Notebook, Ihr semantisches Modell (Power BI-Dataset) und Ihr Lakehouse können sich im selben Arbeitsbereich oder in verschiedenen Arbeitsbereichen befinden. SemPy versucht standardmäßig, an folgenden Stellen auf Ihr semantisches Modell zuzugreifen:
- Im Arbeitsbereich Ihres Lakehouse, wenn Sie ein Lakehouse an Ihr Notebook angefügt haben
- Im Arbeitsbereich Ihres Notebooks, wenn kein Lakehouse angefügt ist
Wenn sich Ihr semantisches Modell nicht im Standardarbeitsbereich befindet, auf den SemPy versucht zuzugreifen, müssen Sie beim Aufrufen einer SemPy-Methode den Arbeitsbereich Ihres semantischen Modells angeben.
Beziehungen in einem semantischen Modell visualisieren
Die plot_relationship_metadata
-Funktion hilft Ihnen beim Visualisieren von Beziehungen in einem semantischen Power BI-Modell, sodass Sie ein besseres Verständnis der Struktur des semantischen Modells erhalten können.
Mithilfe dieser Funktion können Sie ein Diagramm erstellen, in dem die Verbindungen zwischen Tabellen und Spalten angezeigt werden, wodurch die Struktur des semantischen Modells und die Art der Beziehung zwischen verschiedenen Elementen einfacher zu verstehen sind.
Im folgenden Code wird die Verwendung der plot_relationship_metadata
-Funktion veranschaulicht.
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
Im vorherigen Code ruft die list_relationships
-Funktion die Beziehungen im semantischen Power BI-Modell my_dataset ab, und die plot_relationship_metadata
-Funktion erstellt ein Diagramm, um diese Beziehungen zu visualisieren.
Sie können das Diagramm anpassen, indem Sie angeben, welche Spalten einbezogen werden sollen, wie fehlende Schlüssel behandelt werden sollen, und indem Sie weitere Graphviz-Attribute bereitstellen.
Untersuchen von Beziehungsverstößen in einem semantischen Modell
Nachdem Sie nun ein besseres Verständnis der Beziehungen innerhalb Ihres semantischen Power BI-Modells haben, ist es wichtig, diese Beziehungen zu überprüfen und potenzielle Probleme oder Inkonsistenzen zu identifizieren. Hier kommt die list_relationship_violations
-Funktion ins Spiel.
Mithilfe der list_relationship_violations
-Funktion können Sie den Inhalt Ihrer Tabellen überprüfen, um sicherzustellen, dass sie den Beziehungen entsprechen, die in Ihrem semantischen Power BI-Modell definiert sind.
Mithilfe dieser Funktion können Sie Inkonsistenzen mit der angegebenen Beziehungsmultiplizität identifizieren und alle Probleme beheben, bevor sie sich auf Ihre Datenanalyse oder Machine Learning-Modelle auswirken.
Um die list_relationship_violations
-Funktion zu verwenden, müssen Sie zuerst das sempy.fabric
-Modul importieren und die Tabellen aus Ihrem semantischen Power BI-Modell lesen.
Anschließend können Sie die Funktion mit einem Wörterbuch aufrufen, das Tabellennamen den DataFrames mit Tabelleninhalt zuordnet.
Der folgende Code zeigt, wie Beziehungsverstöße aufgelistet werden:
import sempy.fabric as fabric
tables = {
"Sales": fabric.read_table("my_dataset", "Sales"),
"Products": fabric.read_table("my_dataset", "Products"),
"Customers": fabric.read_table("my_dataset", "Customers"),
}
fabric.list_relationship_violations(tables)
Im vorherigen Code wird die list_relationship_violations
-Funktion mit einem Wörterbuch aufgerufen, das die Tabellen Sales, Productsund Customers aus dem semantischen Power BI-Modell my_dataset enthält.
Die Funktion gibt einen Pandas DataFrame mit einer Zeile pro Beziehungsverstoß zurück, sodass Sie Probleme innerhalb Ihres semantischen Modells einfach identifizieren und beheben können.
Sie können die Funktion anpassen, indem Sie angeben, wie fehlende Schlüssel behandelt werden sollen, indem Sie einen Abdeckungsschwellenwert festlegen und die Anzahl der zu meldenden fehlenden Schlüssel definieren.
Mithilfe der list_relationship_violations
-Funktion können Sie sicherstellen, dass Ihr semantisches Power BI-Modell konsistent und präzise ist, sodass Sie zuverlässigere Machine Learning-Modelle erstellen und tiefere Einblicke in Ihre Daten gewinnen können.
Suchen von Beziehungen in Pandas DataFrames
Während die Funktionen list_relationships
, plot_relationships_df
und list_relationship_violations
im Fabric-Modul leistungsstarke Tools zum Untersuchen von Beziehungen innerhalb von semantischen Modellen sind, müssen Sie möglicherweise auch Beziehungen aus anderen Datenquellen in Form von Pandas DataFrames erkunden.
Hier kommt die find_relationships
-Funktion im sempy.relationship
-Modul ins Spiel.
Die find_relationships
-Funktion hilft wissenschaftlichen Fachkräften für Daten und Business Analysts, potenzielle Beziehungen in einer Liste von Pandas DataFrames zu ermitteln.
Mithilfe dieser Funktion können Sie mögliche Verbindungen zwischen Tabellen und Spalten identifizieren, sodass Sie die Struktur Ihrer Daten besser verstehen und wie verschiedene Elemente miteinander verknüpft sind.
Der folgende Code zeigt, wie Beziehungen in einem Pandas DataFrame gefunden werden:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Im vorherigen Code wird die find_relationships
-Funktion mit einer Liste von drei Pandas DataFrames aufgerufen: df_sales
, df_products
und df_customers
.
Die Funktion gibt einen Pandas DataFrame mit einer Zeile pro potenzieller Beziehung zurück, sodass Sie die Beziehungen innerhalb Ihrer Daten einfach untersuchen und analysieren können.
Sie können die Funktion anpassen, indem Sie einen Abdeckungsschwellenwert, einen Schwellenwert für die Namensgleichheit, eine Liste der auszuschließenden Beziehungen angeben und festlegen, ob n:n-Beziehungen einbezogen werden sollen.
Überprüfen von Beziehungen in Pandas DataFrames
Nachdem Sie mithilfe der find_relationships
-Funktion potenzielle Beziehungen innerhalb Ihrer Pandas DataFrames entdeckt haben, ist es wichtig, diese Beziehungen zu validieren und mögliche Probleme oder Inkonsistenzen zu identifizieren.
Hier kommt die list_relationship_violations
-Funktion aus dem sempy.relationships
-Modul ins Spiel.
Die list_relationship_violations
-Funktion soll Ihnen dabei helfen, den Inhalt Ihrer Tabellen zu überprüfen und sicherzustellen, dass sie den ermittelten Beziehungen entsprechen.
Mithilfe dieser Funktion können Sie Inkonsistenzen mit der angegebenen Beziehungsmultiplizität identifizieren und alle Probleme beheben, bevor sie sich auf Ihre Datenanalyse oder Machine Learning-Modelle auswirken.
Der folgende Code zeigt, wie Beziehungen in einem Pandas DataFrame gefunden werden:
from sempy.relationships import find_relationships, list_relationship_violations
tables = [df_sales, df_products, df_customers]
relationships = find_relationships(tables)
list_relationship_violations(tables, relationships)
Im vorherigen Code wird die list_relationship_violations
-Funktion mit einer Liste von drei Pandas DataFrames (df_sales
, df_products
und df_customers
) und dem Beziehungs-DataFrame aufgerufen, der anhand der find_relationships
-Funktion ermittelt wurde.
Dielist_relationship_violations
-Funktion gibt einen Pandas DataFrame mit einer Zeile pro Beziehungsverstoß zurück, sodass Sie Probleme innerhalb Ihrer Daten einfach identifizieren und beheben können.
Sie können die Funktion anpassen, indem Sie angeben, wie fehlende Schlüssel behandelt werden sollen, indem Sie einen Abdeckungsschwellenwert festlegen und die Anzahl der zu meldenden fehlenden Schlüssel definieren.
Mithilfe der list_relationship_violations
-Funktion mit Pandas DataFrames können Sie sicherstellen, dass Ihre Daten konsistent und präzise ist, sodass Sie zuverlässigere Machine Learning-Modelle erstellen und tiefere Einblicke in Ihre Daten gewinnen können.
Zugehöriger Inhalt
- Vertiefen Sie Ihr Know-how von SemPy durch die SemPy Referenzdokumentation
- Tutorial: Beziehungen in einem semantischen Modell mithilfe von semantischen Links entdecken
- Tutorial: Entdecken von Beziehungen im Synthea-Dataset mithilfe von Semantic Link
- Erkennen, Untersuchen und Überprüfen funktionaler Abhängigkeiten in Ihren Daten
- Beschleunigen von Data Science mithilfe semantischer Funktionen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für