Udforsk og valider relationer i semantiske modeller og datarammer
I denne artikel lærer du at bruge semantiske SemPy-linkfunktioner til at finde og validere relationer i dine semantiske Power BI-modeller og pandas DataFrames.
I datavidenskab og maskinel indlæring er det vigtigt at forstå strukturen og relationerne i dine data. Power BI er et effektivt værktøj, der giver dig mulighed for at modellere og visualisere disse strukturer og relationer. Hvis du vil have mere indsigt eller bygge modeller til maskinel indlæring, kan du dykke dybere ned ved hjælp af semantiske linkfunktioner i SemPy-biblioteksmodulerne.
Datateknikere og forretningsanalytikere kan bruge SemPy-funktioner til at vise, visualisere og validere relationer i semantiske Power BI-modeller eller finde og validere relationer i pandas DataFrames.
Forudsætninger
Få et Microsoft Fabric-abonnement. Du kan også tilmelde dig en gratis Prøveversion af Microsoft Fabric.
Brug oplevelsesskifteren nederst til venstre på startsiden til at skifte til Fabric.
Opret en ny notesbog for at kopiere/indsætte kode i celler.
For Spark 3.4 og nyere er semantisk link tilgængeligt i standardkørslen, når du bruger Fabric, og det er ikke nødvendigt at installere det. Kør følgende kommando for Spark 3.3 eller nedenfor eller for at opdatere til den nyeste version af semantisk link:
%pip install -U semantic-link
Vis relationer i semantiske modeller
Funktionen list_relationships
i sempy.fabric
modulet returnerer en liste over alle relationer, der findes i en semantisk Power BI-model. Listen hjælper dig med at forstå strukturen af dine data, og hvordan forskellige tabeller og kolonner er forbundet.
Denne funktion fungerer ved hjælp af et semantisk link til at angive anmærkede DataFrames. DataFrames indeholder de nødvendige metadata for at forstå relationerne i den semantiske model. De kommenterede DataFrames gør det nemt at analysere den semantiske models struktur og bruge den i modeller til maskinel indlæring eller andre dataanalyseopgaver.
Hvis du vil bruge funktionen list_relationships
, skal du først importere modulet sempy.fabric
. Derefter kalder du funktionen ved hjælp af navnet eller UUID for din semantiske Power BI-model, som vist i følgende eksempel:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Den foregående kode kalder funktionen list_relationships
med en semantisk Power BI-model kaldet my_dataset. Funktionen returnerer en pandas DataFrame med én række pr. relation, så du nemt kan udforske og analysere relationerne i den semantiske model.
Bemærk
Din notesbog, semantiske power BI-datasætmodel og lakehouse kan være placeret i det samme arbejdsområde eller i forskellige arbejdsområder. Som standard forsøger SemPy at få adgang til din semantiske model fra:
- Arbejdsområdet i dit lakehouse, hvis du har knyttet et lakehouse til din notesbog.
- Arbejdsområdet i din notesbog, hvis der ikke er knyttet noget lakehouse.
Hvis din semantiske model ikke er placeret i et af disse arbejdsområder, skal du angive arbejdsområdet for din semantiske model, når du kalder en SemPy-metode.
Visualiser relationer i semantiske modeller
Funktionen plot_relationship_metadata
hjælper dig med at visualisere relationer i en semantisk model, så du kan få en bedre forståelse af modellens struktur. Denne funktion opretter en graf, der viser forbindelserne mellem tabeller og kolonner. Grafen gør det nemmere at forstå den semantiske models struktur, og hvordan forskellige elementer er relateret.
I følgende eksempel kan du se, hvordan du bruger funktionen 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)
I den foregående kode henter funktionen list_relationships
relationerne i den my_dataset semantiske model, og funktionen plot_relationship_metadata
opretter en graf for at visualisere relationerne.
Du kan tilpasse grafen ved at definere, hvilke kolonner der skal medtages, angive, hvordan manglende nøgler skal håndteres, og angive flere graphviz-attributter .
Valider relationer i semantiske modeller
Nu, hvor du har en bedre forståelse af relationerne i din semantiske model, kan du bruge funktionen list_relationship_violations
til at validere disse relationer og identificere eventuelle problemer eller uoverensstemmelser. Funktionen list_relationship_violations
hjælper dig med at validere indholdet af tabellerne for at sikre, at de stemmer overens med de relationer, der er defineret i din semantiske model.
Ved hjælp af denne funktion kan du identificere uoverensstemmelser med den angivne relations multiplicitet og løse eventuelle problemer, før de påvirker dine dataanalyse- eller modeller til maskinel indlæring.
Hvis du vil bruge funktionen list_relationship_violations
, skal du først importere sempy.fabric
modulet og læse tabellerne fra din semantiske model.
Derefter kalder du funktionen med en ordbog, der knytter tabelnavne til DataFrames med tabelindhold.
Følgende eksempelkode viser, hvordan du angiver relationsovertrædelser:
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)
Den foregående kode kalder funktionen list_relationship_violations
med en ordbog, der indeholder tabellerne Sales, Products og Customers fra den my_dataset semantiske model. Du kan tilpasse funktionen ved at angive en dækningsgrænse, angive, hvordan manglende nøgler skal håndteres, og definere antallet af manglende nøgler, der skal rapporteres.
Funktionen returnerer en pandas DataFrame med én række pr. relationsovertrædelse, så du nemt kan identificere og løse eventuelle problemer i din semantiske model.
Ved hjælp af funktionen list_relationship_violations
kan du sikre, at din semantiske model er konsistent og nøjagtig, så du kan bygge mere pålidelige modeller til maskinel indlæring og få dybere indsigt i dine data.
Find relationer i pandas DataFrames
list_relationships
Funktionerne , plot_relationships_df
og list_relationship_violations
i Fabric-modulet er effektive værktøjer til udforskning af relationer i semantiske modeller, men du skal muligvis også finde relationer i andre datakilder, der er importeret som pandas DataFrames.
Det er her, funktionen find_relationships
i sempy.relationship
modulet kommer i spil.
Funktionen find_relationships
i sempy.relationships
modulet hjælper dataforskere og forretningsanalytikere med at finde potentielle relationer på en liste over pandas DataFrames. Ved hjælp af denne funktion kan du identificere mulige forbindelser mellem tabeller og kolonner, så du bedre kan forstå strukturen af dine data, og hvordan forskellige elementer er relateret.
Følgende eksempelkode viser, hvordan du finder relationer i pandas DataFrames:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Den foregående kode kalder funktionen find_relationships
med en liste over tre Pandas DataFrames: df_sales
, df_products
og df_customers
.
Funktionen returnerer en pandas DataFrame med én række pr. potentiel relation, så du nemt kan udforske og analysere relationerne i dine data.
Du kan tilpasse funktionen ved at angive en dækningsgrænse, en navnelighedsgrænse, en liste over relationer, der skal udelades, og om du vil inkludere mange til mange-relationer.
Valider relationer i pandas DataFrames
Når du har fundet potentielle relationer i dine pandas DataFrames ved hjælp find_relationships
af funktionen , kan du bruge list_relationship_violations
funktionen til at validere disse relationer og identificere eventuelle problemer eller uoverensstemmelser.
Funktionen list_relationship_violations
validerer indholdet af tabellerne for at sikre, at de stemmer overens med de fundne relationer. Ved at bruge denne funktion til at identificere uoverensstemmelser med den angivne relations multiplicitet kan du løse eventuelle problemer, før de påvirker dine dataanalyse- eller modeller til maskinel indlæring.
Følgende eksempelkode viser, hvordan du finder relationsovertrædelser i pandas DataFrames:
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)
Den foregående kode kalder funktionen list_relationship_violations
med en liste over tre pandas DataFrames, df_sales
, df_products
og df_customers
plus relationerne DataFrame fra funktionen find_relationships
.
Funktionen list_relationship_violations
returnerer en pandas DataFrame med én række pr. relationsovertrædelse, så du nemt kan identificere og løse eventuelle problemer i dine data.
Du kan tilpasse funktionen ved at angive en dækningsgrænse, angive, hvordan manglende nøgler skal håndteres, og definere antallet af manglende nøgler, der skal rapporteres.
Ved hjælp af funktionen list_relationship_violations
med pandas DataFrames kan du sikre, at dine data er ensartede og nøjagtige, så du kan bygge mere pålidelige modeller til maskinel indlæring og få dybere indsigt i dine data.
Relateret indhold
- Få mere at vide om semantiske funktioner
- Kom i gang med SemPy-referencedokumentationen
- Selvstudium: Find relationer i en semantisk model ved hjælp af semantisk link
- Selvstudium: Find relationer i Synthea-datasættet ved hjælp af semantisk link
- Registrer, udforsk og valider funktionelle afhængigheder i dine data