Untersuchen und Überprüfen von Beziehungen in semantischen Modellen und DataFrames
In diesem Artikel lernen Sie, wie Sie die semantischen Link-Funktionen von SemPy verwenden, um Beziehungen in Ihren semantischen Power BI-Modellen und Pandas DataFrames zu entdecken und zu validieren.
In Data Science und beim maschinellen Lernen ist es wichtig, die Struktur und Beziehungen innerhalb Ihrer Daten zu verstehen. Power BI ist ein leistungsstarkes Tool, mit dem Sie diese Strukturen und Beziehungen modellieren und visualisieren können. Um mehr Einblicke zu gewinnen oder Machine Learning-Modelle zu erstellen, können Sie tiefer eintauchen, indem Sie die semantischen Verknüpfungsfunktionen in den SemPy-Bibliotheksmodulen verwenden.
Datenwissenschaftler und Geschäftsanalysten können SemPy-Funktionen verwenden, um Beziehungen in semantischen Power BI-Modellen aufzulisten, zu visualisieren und zu validieren oder um Beziehungen in Pandas DataFrames zu finden und zu validieren.
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.
Erstellen Sie ein neues Notebook, um Code in Zellen zu kopieren und einzufügen.
Für Spark 3.4 und höher ist Semantic Link bei Verwendung von Fabric in der Standardlaufzeit verfügbar und muss nicht installiert werden. Führe für Spark 3.3 oder niedriger oder zum Aktualisieren auf die neueste Version von Semantic Link den folgenden Befehl aus:
%pip install -U semantic-link
Listenbeziehungen in semantischen Modellen
Die list_relationships
-Funktion im sempy.fabric
-Modul gibt eine Liste aller Beziehungen zurück, die in einem Power BI-Semantikmodell enthalten sind. Die Liste hilft Ihnen, die Struktur Ihrer Daten und die Verbindung zwischen verschiedenen Tabellen und Spalten zu verstehen.
Diese Funktion funktioniert mithilfe der semantischen Verknüpfung, um kommentierte DataFrames bereitzustellen. Die DataFrames enthalten die notwendigen Metadaten, um die Beziehungen innerhalb des semantischen Modells zu verstehen. Die annotierten DataFrames machen es einfach, die Struktur des semantischen Modells zu analysieren und es in Modellen für maschinelles Lernen oder anderen Datenanalyseaufgaben zu verwenden.
Um die list_relationships
-Funktion zu verwenden, müssen Sie zuerst das sempy.fabric
-Modul importieren. Dann rufen Sie die Funktion unter Verwendung des Namens oder der UUID Ihres semantischen Power BI-Modells auf, wie im folgenden Beispiel gezeigt:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Der vorangehende Code ruft die list_relationships
-Funktion mit einem semantischen Power BI-Modell namens my_dataset auf. 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.
Hinweis
Ihr Notebook, Ihr semantisches Power BI-Dataset-Modell 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 in einem dieser Arbeitsbereiche befindet, müssen Sie den Arbeitsbereich Ihres semantischen Modells angeben, wenn Sie eine SemPy-Methode aufrufen.
Beziehungen in semantischen Modellen visualisieren
Die plot_relationship_metadata
-Funktion hilft Ihnen beim Visualisieren von Beziehungen in einem semantischen, sodass Sie ein besseres Verständnis für die Struktur des Modells gewinnen können. Diese Funktion erstellt ein Diagramm, das die Verbindungen zwischen Tabellen und Spalten anzeigt. Das Diagramm erleichtert das Verständnis der Struktur des semantischen Modells und der Zusammenhänge zwischen den verschiedenen Elementen.
Das folgende Beispiel zeigt die Verwendung der Funktion plot_relationship_metadata
:
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 festlegen, welche Spalten einbezogen werden sollen, wie fehlende Schlüssel behandelt werden sollen, und indem Sie weitere graphviz-Attribute bereitstellen.
Beziehungen in semantischen Modellen validieren
Da Sie nun ein besseres Verständnis der Beziehungen in Ihrem semantischen Modell haben, können Sie die list_relationship_violations
-Funktion verwenden, um diese Beziehungen zu validieren und mögliche Probleme oder Inkonsistenzen zu identifizieren. 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 Beispielcode 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)
Der vorangehende Code ruft die list_relationship_violations
-Funktion mit einem Wörterbuch auf, das die Tabellen Sales, Productsund Customers aus dem semantischen Power BI-Modell my_dataset enthält. Sie können die Funktion anpassen, indem Sie einen Erfassungsschwellenwert festlegen, angeben, wie fehlende Schlüssel behandelt werden sollen, und die Anzahl der zu meldenden fehlenden Schlüssel definieren.
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.
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 innerhalb anderer Datenquellen entdecken, die als Pandas DataFrames importiert wurden.
Hier kommt die find_relationships
-Funktion im sempy.relationship
-Modul ins Spiel.
Die find_relationships
-Funktion im sempy.relationships
-Modul 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 Pandas DataFrames 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 in Ihren Pandas DataFrames entdeckt haben, können Sie die list_relationship_violations
-Funktion verwenden, um diese Beziehungen zu validieren und mögliche Probleme oder Inkonsistenzen zu identifizieren.
Die list_relationship_violations
-Funktion validiert den Inhalt Ihrer Tabellen, um sicherzustellen, dass sie mit den ermittelten Beziehungen übereinstimmen. 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 Beispielcode zeigt, wie Beziehungen in Pandas DataFrames 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)
Der vorangehende Code ruft die list_relationship_violations
-Funktion mit einer Liste von drei Pandas DataFrames, df_sales
, df_products
und df_customers
, sowie den Beziehungen DataFrame aus der find_relationships
-Funktion auf.
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 einen Erfassungsschwellenwert festlegen, angeben, wie fehlende Schlüssel behandelt werden sollen, 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
- Informationen zu semantischen Funktionen
- Erste Schritte mit der 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