Utforske og validere relasjoner i semantiske modeller og datarammer
I denne artikkelen lærer du å bruke semPy semantiske koblingsfunksjoner til å oppdage og validere relasjoner i semantiske modeller og pandaer i Power BI DataFrames.
I datavitenskap og maskinlæring er det viktig å forstå strukturen og relasjonene i dataene. Power BI er et kraftig verktøy som lar deg modellere og visualisere disse strukturene og relasjonene. Hvis du vil ha mer innsikt eller bygge maskinlæringsmodeller, kan du dykke dypere ved å bruke semantiske koblingsfunksjoner i SemPy-bibliotekmodulene.
Dataforskere og forretningsanalytikere kan bruke SemPy-funksjoner til å liste opp, visualisere og validere relasjoner i Semantiske Modeller for Power BI, eller finne og validere relasjoner i pandas DataFrames.
Forutsetning
Få et Microsoft Fabric-abonnement. Eller registrer deg for en gratis prøveversjon av Microsoft Fabric.
Logg på Microsoft Fabric.
Bruk opplevelsesbryteren til venstre på hjemmesiden for å bytte til Synapse Data Science-opplevelsen.
Opprett en ny notatblokk for å kopiere/lime inn kode i celler.
For Spark 3.4 og nyere er semantisk kobling tilgjengelig i standard kjøretid når du bruker Fabric, og det er ikke nødvendig å installere den. For Spark 3.3 eller under, eller hvis du vil oppdatere til den nyeste versjonen av semantisk kobling, kjører du følgende kommando:
%pip install -U semantic-link
Listerelasjoner i semantiske modeller
Funksjonen list_relationships
i modulen sempy.fabric
returnerer en liste over alle relasjoner som finnes i en semantisk Power BI-modell. Listen hjelper deg med å forstå strukturen i dataene og hvordan ulike tabeller og kolonner er koblet sammen.
Denne funksjonen fungerer ved hjelp av semantisk kobling for å gi kommenterte datarammer. DataFrames inkluderer de nødvendige metadataene for å forstå relasjonene i den semantiske modellen. De kommenterte DataFrames gjør det enkelt å analysere den semantiske modellens struktur og bruke den i maskinlæringsmodeller eller andre dataanalyseoppgaver.
Hvis du vil bruke list_relationships
funksjonen, importerer du først modulen sempy.fabric
. Deretter kaller du funksjonen ved hjelp av navnet eller UUID for semantisk Power BI-modell, som vist i følgende eksempel:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Den foregående koden kaller list_relationships
funksjonen med en Semantisk Power BI-modell kalt my_dataset. Funksjonen returnerer en pandas DataFrame med én rad per relasjon, slik at du enkelt kan utforske og analysere relasjonene i den semantiske modellen.
Merk
Notatblokken, power bi-datasettets semantiske modell og lakehouse kan være plassert i samme arbeidsområde eller i forskjellige arbeidsområder. Som standard prøver SemPy å få tilgang til den semantiske modellen fra:
- Arbeidsområdet i lakehouse, hvis du festet et lakehouse til notatblokken.
- Arbeidsområdet for notatblokken, hvis det ikke er noen lakehouse vedlagt.
Hvis den semantiske modellen ikke er plassert i noen av disse arbeidsområdene, må du angi arbeidsområdet for den semantiske modellen når du kaller en SemPy-metode.
Visualiser relasjoner i semantiske modeller
Funksjonen plot_relationship_metadata
hjelper deg med å visualisere relasjoner i en semantisk modell, slik at du kan få en bedre forståelse av modellens struktur. Denne funksjonen oppretter en graf som viser tilkoblingene mellom tabeller og kolonner. Grafen gjør det enklere å forstå den semantiske modellens struktur og hvordan ulike elementer er relatert.
Følgende eksempel viser hvordan du bruker plot_relationship_metadata
funksjonen:
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
I den forrige koden list_relationships
henter funksjonen relasjonene i my_dataset semantisk modell, og plot_relationship_metadata
funksjonen oppretter en graf for å visualisere relasjonene.
Du kan tilpasse grafen ved å definere hvilke kolonner som skal inkluderes, angi hvordan du skal håndtere manglende nøkler og gi flere graphviz-attributter .
Validere relasjoner i semantiske modeller
Nå som du har en bedre forståelse av relasjonene i den semantiske modellen, kan du bruke list_relationship_violations
funksjonen til å validere disse relasjonene og identifisere potensielle problemer eller inkonsekvenser. Funksjonen list_relationship_violations
hjelper deg med å validere innholdet i tabellene for å sikre at de samsvarer med relasjonene som er definert i den semantiske modellen.
Ved hjelp av denne funksjonen kan du identifisere inkonsekvenser med den angitte relasjonsmultiplikiteten og løse eventuelle problemer før de påvirker dataanalyse- eller maskinlæringsmodellene.
Hvis du vil bruke list_relationship_violations
funksjonen, må du først importere sempy.fabric
modulen og lese tabellene fra den semantiske modellen.
Deretter kaller du funksjonen med en ordliste som tilordner tabellnavn til DataFrames med tabellinnhold.
Følgende eksempelkode viser hvordan du lister opp relasjonsbrudd:
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 koden kaller list_relationship_violations
funksjonen med en ordliste som inneholder tabellene Salg, Produkter og Kunder fra my_dataset semantisk modell. Du kan tilpasse funksjonen ved å angi en dekningsterskel, angi hvordan du skal håndtere manglende nøkler og definere antall manglende nøkler som skal rapporteres.
Funksjonen returnerer en pandas DataFrame med én rad per relasjonsbrudd, slik at du enkelt kan identifisere og løse eventuelle problemer i den semantiske modellen.
Ved å bruke list_relationship_violations
funksjonen kan du sikre at den semantiske modellen er konsekvent og nøyaktig, slik at du kan bygge mer pålitelige maskinlæringsmodeller og få dypere innsikt i dataene dine.
Finne relasjoner i pandas DataFrames
Selv om list_relationships
funksjonene plot_relationships_df
i list_relationship_violations
Stoff-modulen er kraftige verktøy for å utforske relasjoner i semantiske modeller, må du kanskje også oppdage relasjoner i andre datakilder importert som pandas DataFrames.
Det er her find_relationships
funksjonen i modulen sempy.relationship
kommer inn i bildet.
Funksjonen find_relationships
i modulen sempy.relationships
hjelper dataforskere og forretningsanalytikere med å oppdage potensielle relasjoner i en liste over pandas DataFrames. Ved hjelp av denne funksjonen kan du identifisere mulige tilkoblinger mellom tabeller og kolonner, slik at du kan forstå strukturen i dataene bedre og hvordan ulike elementer er relatert.
Følgende eksempelkode viser hvordan du finner relasjoner i pandas DataFrames:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
Den foregående koden kaller find_relationships
funksjonen med en liste over tre Pandas DataFrames: df_sales
, df_products
og df_customers
.
Funksjonen returnerer en pandas DataFrame med én rad per potensielle relasjon, slik at du enkelt kan utforske og analysere relasjonene i dataene.
Du kan tilpasse funksjonen ved å angi en dekningsterskel, en terskel for navnesammenligning, en liste over relasjoner som skal utelates, og om mange-til-mange-relasjoner skal inkluderes.
Validere relasjoner i pandas DataFrames
Når du oppdager potensielle relasjoner i pandas DataFrames ved hjelp find_relationships
av funksjonen, kan du bruke list_relationship_violations
funksjonen til å validere disse relasjonene og identifisere potensielle problemer eller inkonsekvenser.
Funksjonen list_relationship_violations
validerer innholdet i tabellene for å sikre at de samsvarer med de oppdagede relasjonene. Ved å bruke denne funksjonen til å identifisere inkonsekvenser med den angitte relasjonsmultiplikiteten, kan du løse eventuelle problemer før de påvirker dataanalyse- eller maskinlæringsmodellene.
Følgende eksempelkode viser hvordan du finner relasjonsbrudd 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 koden kaller list_relationship_violations
funksjonen med en liste over tre pandaer DataFrames, df_sales
, df_products
og df_customers
, pluss relasjonene DataFrame fra find_relationships
funksjonen.
Funksjonen list_relationship_violations
returnerer en pandas DataFrame med én rad per relasjonsbrudd, slik at du enkelt kan identifisere og løse eventuelle problemer i dataene.
Du kan tilpasse funksjonen ved å angi en dekningsterskel, angi hvordan du skal håndtere manglende nøkler og definere antall manglende nøkler som skal rapporteres.
Ved å bruke list_relationship_violations
funksjonen med pandas DataFrames, kan du sikre at dataene dine er konsekvente og nøyaktige, slik at du kan bygge mer pålitelige maskinlæringsmodeller og få dypere innsikt i dataene dine.
Relatert innhold
- Finn ut mer om semantiske funksjoner
- Kom i gang med referansedokumentasjonen SemPy
- Opplæring: Oppdage relasjoner i en semantisk modell ved hjelp av semantisk kobling
- Opplæring: Oppdag relasjoner i Synthea-datasettet ved hjelp av semantisk kobling
- Oppdage, utforske og validere funksjonelle avhengigheter i dataene