Opetusohjelma: Suhteiden etsiminen semanttisessa mallissa semanttisen linkin avulla
Tässä opetusohjelmassa kuvataan, miten voit käsitellä Jupyter-muistikirjassa olevaa Power BI:tä ja havaita taulukoiden välisiä suhteita SemPy-kirjaston avulla.
Tässä opetusohjelmassa opit:
- Löydä suhteita semanttisesta mallista (Power BI -tietojoukko) käyttämällä semanttisen linkin Python-kirjastoa (SemPy).
- Käytä SemPy-komponentteja, jotka tukevat Power BI -integrointia ja auttavat automatisoimaan tietojen laatuanalyysin. Näitä osia ovat seuraavat:
- FabricDataFrame – pandas-kaltainen rakenne, joka on parannettu semanttisten lisätietojen avulla.
- Funktiot semanttisten mallien hakemiseen Fabric-työtilasta muistikirjaan.
- Funktiot, jotka automatisoivat hypoteesien arvioinnin toiminnallisista riippuvuuksista ja jotka tunnistavat semanttisten malliesi suhteiden rikkomuksia.
Edellytykset
Hanki Microsoft Fabric -tilaus. Voit myös rekisteröityä ilmaiseen Microsoft Fabric -kokeiluversioon.
Siirry Synapse Data Science -käyttökokemukseen aloitussivun vasemmassa reunassa olevan käyttökokemuksen vaihtajan avulla.
Etsi ja valitse työtila valitsemalla vasemmasta siirtymisruudusta Työtilat . Tästä työtilasta tulee nykyinen työtilasi.
Lataa Asiakkaan tuottavuuden malli.pbix ja asiakkaan tuottavuuden malli (auto).pbix-semanttiset mallit kangasmallien GitHub-säilöstä ja lataa ne työtilaasi.
Seuraa mukana muistikirjassa
powerbi_relationships_tutorial.ipynb-muistikirja on tämän opetusohjelman mukana.
Jos haluat avata tämän opetusohjelman liitteenä olevan muistikirjan, tuo muistikirja työtilaasi noudattamalla ohjeita kohdassa Järjestelmän valmisteleminen datatieteen opetusohjelmia varten.
Jos haluat kopioida ja liittää koodin tältä sivulta, voit luoda uuden muistikirjan.
Muista liittää lakehouse muistikirjaan ennen kuin aloitat koodin suorittamisen.
Muistikirjan asettaminen
Tässä osiossa määrität muistikirjaympäristön, joka sisältää tarvittavat moduulit ja tiedot.
Asenna
SemPy
PyPI:%pip
stä muistikirjan sisäisen asennustoiminnon avulla:%pip install semantic-link
Suorita semPy-moduulien tarpeellinen tuonti, jotka tarvitset myöhemmin:
import sempy.fabric as fabric from sempy.relationships import plot_relationship_metadata from sempy.relationships import find_relationships from sempy.fabric import list_relationship_violations
Tuo pandas, jotta voit pakottaa määritysvaihtoehdon, joka auttaa tulosteen muotoilussa:
import pandas as pd pd.set_option('display.max_colwidth', None)
Tutustu semanttisiin malleihin
Tässä opetusohjelmassa käytetään vakiomuotoista semanttista mallia Asiakkaan tuottavuuden malli.pbix. Lisätietoja semanttisesta mallista on artikkelissa Asiakkaan tuottavuuden malli Power BI:lle.
Käytä SemPy-funktiota
list_datasets
nykyisen työtilasi semanttisten mallien tutkimiseen:fabric.list_datasets()
Tässä muistikirjassa käytetään kahta asiakkaan tuottavuuden mallin semanttisen mallin versiota:
- Asiakkaan tuottavuuden malli: semanttinen malli sellaisena kuin se on peräisin Power BI -näytteistä, joissa on esimääritettyjä taulukkosuhteita
- Asiakkaan tuottavuuden malli (automaattinen): samat tiedot, mutta yhteydet on rajoitettu niihin, jotka Power BI havaitsee automaattisesti.
Poimi semanttinen malliesimerkki esimääritetyllä semanttisella mallilla
Lataa suhteet, jotka on määritetty valmiiksi ja tallennettu asiakkaan tuottavuuden mallin semanttiseen malliin SemPy-funktion
list_relationships
avulla. Tämä funktio luetteloi taulukkomuotoisesta objektimallista:dataset = "Customer Profitability Sample" relationships = fabric.list_relationships(dataset) relationships
Visualisoi
relationships
DataFrame kaaviona SemPy-funktionplot_relationship_metadata
avulla:plot_relationship_metadata(relationships)
Tämä kaavio näyttää tämän semanttisen mallin taulukoiden välisten taulukoiden välisten suhteiden "perustotuuden", sillä se kuvastaa sitä, miten aiheasiantuntija määritti ne Power BI:ssä.
Yhteyksien löytämisen täydentäminen
Jos aloitit suhteista, jotka Power BI tunnisti automaattisesti, sinulla olisi pienempi joukko.
Visualisoi suhteet, jotka Power BI havainnoi automaattisesti semanttisessa mallissa:
dataset = "Customer Profitability Sample (auto)" autodetected = fabric.list_relationships(dataset) plot_relationship_metadata(autodetected)
Power BI:n automaattinen kehitys menetti monta suhdetta. Lisäksi kaksi automaattisesti tunnistetuista suhteista on semanttisesti virheellisiä:
Executive[ID]
->Industry[ID]
BU[Executive_id]
->Industry[ID]
Tulosta suhteet taulukkona:
autodetected
Virheelliset suhteet taulukkoon
Industry
näkyvät riveillä, joissa on indeksit 3 ja 4. Näiden tietojen avulla voit poistaa nämä rivit.Hylkää väärin tunnistetut yhteydet.
autodetected.drop(index=[3,4], inplace=True) autodetected
Nyt sinulla on oikein, mutta epätäydelliset suhteet.
Visualisoi nämä epätäydelliset suhteet käyttämällä :
plot_relationship_metadata
plot_relationship_metadata(autodetected)
Lataa kaikki taulukot semanttisesta mallista Käyttämällä SemPy-taulukoita
list_tables
jaread_table
funktioita:tables = {table: fabric.read_table(dataset, table) for table in fabric.list_tables(dataset)['Name']} tables.keys()
Etsi taulukoiden välisiä suhteita käyttämällä
find_relationships
ja tarkastele lokin tulostetta saadaksesi merkityksellisiä tietoja siitä, miten tämä funktio toimii:suggested_relationships_all = find_relationships( tables, name_similarity_threshold=0.7, coverage_threshold=0.7, verbose=2 )
Visualisoi äskettäin löydetyt suhteet:
plot_relationship_metadata(suggested_relationships_all)
SemPy pystyi havaitsemaan kaikki suhteet.
Parametrin
exclude
avulla voit rajata haun lisäsuhteisiin, joita ei tunnistettu aiemmin:additional_relationships = find_relationships( tables, exclude=autodetected, name_similarity_threshold=0.7, coverage_threshold=0.7 ) additional_relationships
Suhteiden vahvistaminen
Lataa ensin tiedot asiakkaan tuottavuuden mallin semanttisesta mallista:
dataset = "Customer Profitability Sample" tables = {table: fabric.read_table(dataset, table) for table in fabric.list_tables(dataset)['Name']} tables.keys()
Voit tarkistaa perusavain- ja viiteavainarvojen päällekkäisyyden -funktion
list_relationship_violations
avulla. Anna funktionlist_relationships
tulos syötteenä kohteeseenlist_relationship_violations
:list_relationship_violations(tables, fabric.list_relationships(dataset))
Suhderikkomukset antavat joitakin kiinnostavia merkityksellisiä tietoja. Esimerkiksi yksi seitsemästä -arvosta ei ole kohteessa
Fact[Product Key]
Product[Product Key]
, ja puuttuva avain on50
.
Valmisteleva tietoanalyysi on jännittävä prosessi, ja niin on myös tietojen siistiminen. Tiedot piilottelevat aina jotakin sen mukaan, miten niitä tarkastellaan, mitä haluat kysyä ja niin edelleen. Semanttinen linkki tarjoaa uusia työkaluja, joiden avulla voit saavuttaa enemmän tiedoillasi.
Liittyvä sisältö
Katso muut opetusohjelmat semanttisesta linkistä /SemPy:stä:
- Opetusohjelma: Funktionaalisia riippuvuuksia sisältävien tietojen siistiminen
- Opetusohjelma: semanttisen malliesimerkkien toiminnallisten riippuvuuksien analysointi
- Opetusohjelma: Poimi ja laske Power BI -mittareita Jupyter-muistikirjasta
- Opetusohjelma: Synthea-tietojoukon suhteiden etsiminen semanttisen linkin avulla
- Opetusohjelma: Tietojen vahvistaminen käyttämällä SemPy-toimintoa ja suuria odotuksia (GX) (esikatselu)