Preskúmanie a overenie vzťahov v sémantických modeloch Power BI
V tomto článku sa naučíte objavovať a overovať vzťahy v rámci sémantických modelov služby Power BI a pandas DataFrames pomocou modulov SemPy.
V dátovej vede a strojovom učení je dôležité pochopiť štruktúru a vzťahy v rámci vašich údajov. Hoci je Power BI výkonným nástrojom, ktorý vám umožňuje modelovať a vizualizovať údaje, niekedy sa budete musieť ponoriť hlbšie do štruktúry sémantického modelu a získať tak ďalšie prehľady alebo vytvárať modely strojového učenia. Dátoví vedci a obchodní analytici môžu skúmať vzťahy v rámci sémantického modelu služby Power BI alebo pandas DataFrame pomocou rôznych funkcií v knižnici SemPy.
Naučíte sa:
- Vyhľadanie, vizualizácia a skúmanie vzťahov v sémantickom modeli služby Power BI
- Vyhľadanie a overenie vzťahov v údajovom prvku Pandas
Požiadavky
Získajte predplatné na Microsoft Fabric. Alebo si zaregistrujte bezplatnú skúšobnú verziu služby Microsoft Fabric.
Prihláste sa do služby Microsoft Fabric.
Pomocou prepínača skúseností na ľavej strane domovskej stránky prepnite na prostredie Synapse Data Science.
- Prejdite na skúsenosti z dátovej vedy v službe Microsoft Fabric.
- Vytvorte nový poznámkový blok na kopírovanie a prilepenie kódu do buniek.
- V prípade služby Spark 3.4 alebo uvedenej vyššie je sémantické prepojenie k dispozícii v predvolenom režime runtime pri použití služby Fabric a nie je potrebné ho nainštalovať. Ak používate Spark 3.3 alebo nižšie, alebo ak chcete aktualizovať na najnovšiu verziu sémantického prepojenia, môžete spustiť príkaz:
python %pip install -U semantic-link
- Pridajte do poznámkového bloku lakehouse. Pre službu Spark 3.4 a vyššiu je sémantické prepojenie k dispozícii v predvolenom režime runtime pri použití služby Fabric a nie je potrebné ho nainštalovať. Ak používate Spark 3.3 alebo nižšie, alebo ak chcete aktualizovať na najnovšiu verziu sémantického prepojenia, môžete spustiť príkaz:
python %pip install -U semantic-link
Vyhľadanie vzťahov v sémantickom modeli
Funkcia list_relationships
vám umožňuje načítať zoznam všetkých vzťahov nájdených v sémantickom modeli služby Power BI, aby ste mohli lepšie porozumieť štruktúre údajov a spôsobu pripojenia rôznych tabuliek a stĺpcov.
Funkcia funguje s využitím sémantického prepojenia, ktoré poskytuje anotované údajové rámce obsahujúce potrebné metaúdaje na pochopenie vzťahov v rámci sémantického modelu. Vďaka tomu môžete jednoducho analyzovať štruktúru sémantického modelu a použiť ho v modeloch strojového učenia alebo v iných úlohách analýzy údajov.
Ak chcete túto funkciu použiť list_relationships
, najskôr musíte importovať sempy.fabric
modul.
Potom môžete zavolať funkciu s názvom alebo UUID vášho sémantického modelu služby Power BI tak, ako je to znázornené v nasledujúcom kóde:
import sempy.fabric as fabric
fabric.list_relationships("my_dataset")
Predchádzajúci kód ukazuje, že list_relationships
funkcia sa volá pomocou sémantického modelu služby Power BI s názvom my_dataset.
Funkcia vráti pandas DataFrame s jedným riadkom na vzťah, čo vám umožní jednoducho preskúmať a analyzovať vzťahy v rámci sémantického modelu.
Tip
Poznámkový blok, sémantický model (množina údajov služby Power BI) a lakehouse sa môžu nachádzať v tom istom pracovnom priestore alebo v rôznych pracovných priestoroch. Funkcia SemPy sa predvolene pokúša získať prístup k sémantickému modelu z:
- pracovného priestoru vášho Lakehouse, ak ste pripojili Lakehouse k notebooku.
- pracovného priestoru poznámkového bloku, ak nie je pripojený žiadny domov Lakehouse.
Ak sa váš sémantický model nenachádza v predvolenom pracovnom priestore, ku ktorému sa SemPy pokúša získať prístup, musíte zadať pracovný priestor sémantického modelu, keď zavoláte metódu SemPy.
Vizualizácia vzťahov v sémantickom modeli
Funkcia plot_relationship_metadata
pomáha vizualizovať vzťahy v sémantickom modeli, aby ste mohli lepšie porozumieť štruktúre sémantického modelu.
Pomocou tejto funkcie môžete vytvoriť graf, ktorý zobrazuje prepojenia medzi tabuľkami a stĺpcami, čo uľahčuje pochopenie štruktúry sémantického modelu a súvislosti rôznych prvkov.
Nasledujúci kód ukazuje, ako používať plot_relationship_metadata
funkciu
import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata
relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)
V predchádzajúcom list_relationships
kóde funkcia načíta vzťahy v my_dataset sémantickom modeli a plot_relationship_metadata
funkcia vytvorí graf na vizualizáciu týchto vzťahov.
Graf môžete prispôsobiť zadaním stĺpcov, ktoré chcete zahrnúť, ako spracovať chýbajúce kľúče a zadaním ďalších atribútov graphviz.
Preskúmanie prípadov porušenia vzťahov v sémantickom modeli
Teraz, keď lepšie chápete vzťahy v rámci sémantického modelu, je nevyhnutné tieto vzťahy overiť a identifikovať potenciálne problémy alebo nekonzistentnosti. Na tento účel list_relationship_violations
príde funkcia.
Funkcia list_relationship_violations
pomáha overiť obsah tabuliek, aby sa zabezpečilo, že zodpovedajú vzťahom definovaným v sémantickom modeli.
Pomocou tejto funkcie môžete identifikovať nekonzistencie so zadanou multiplicity vzťahov a riešiť všetky problémy skôr, než budú mať vplyv na vašu analýzu údajov alebo modely strojového učenia.
Ak chcete túto funkciu použiť list_relationship_violations
, najskôr musíte importovať sempy.fabric
modul a prečítať tabuľky zo sémantického modelu.
Potom môžete funkciu vyvolať slovníkom, ktorý primapuje názvy tabuliek k údajovým rámcom s obsahom tabuľky.
Nasledujúci kód ukazuje, ako zobraziť zoznam porušení vzťahov:
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)
V predchádzajúcom kóde list_relationship_violations
sa táto funkcia volá slovníkom, ktorý obsahuje tabuľky Sales (Predaj), Products (Produkty) a Customers (Zákazníci) zo my_dataset sémantického modelu.
Funkcia vráti pandas DataFrame s jedným riadkom na porušenie vzťahu, čo vám umožní jednoducho identifikovať a riešiť akékoľvek problémy v rámci sémantického modelu.
Funkciu môžete prispôsobiť zadaním toho, ako možno spracovať chýbajúce kľúče, nastavením prahovej hodnoty pokrytia a definovaním počtu chýbajúcich kľúčov v zostave.
Pomocou list_relationship_violations
tejto funkcie môžete zabezpečiť konzistentnosť a presnosť svojho sémantického modelu, čo vám umožní vytvárať spoľahlivejšie modely strojového učenia a získavať hlbšie prehľady o údajoch.
Vyhľadanie vzťahov v prvku Pandas DataFrames
list_relationships
plot_relationships_df
Zatiaľ čo funkcie a list_relationship_violations
v module Fabric sú výkonné nástroje na skúmanie vzťahov v rámci sémantických modelov, možno budete musieť objaviť vzťahy vyvolané z iných zdrojov údajov v podobe pandas DataFrames.
A práve tu do find_relationships
hry vstupuje funkcia v sempy.relationship
module.
Funkcia find_relationships
pomáha dátovým vedcom a obchodným analytikom objaviť potenciálne vzťahy v rámci zoznamu údajových rámca Pandas.
Pomocou tejto funkcie môžete identifikovať možné pripojenia medzi tabuľkami a stĺpcami, čo vám umožní lepšie porozumieť štruktúre údajov a spôsobu, akým navzájom súvisia rôzne prvky.
Nasledujúci kód ukazuje, ako vyhľadať vzťahy v údajovom prvku Pandas:
from sempy.relationships import find_relationships
tables = [df_sales, df_products, df_customers]
find_relationships(tables)
V predchádzajúcom kóde find_relationships
sa funkcia volá so zoznamom troch údajových rámca Pandas: df_sales
, df_products
a df_customers
.
Funkcia vráti údajový rámec pandas s jedným riadkom na potenciálny vzťah, čo vám umožní jednoducho preskúmať a analyzovať vzťahy v rámci údajov.
Funkciu môžete prispôsobiť zadaním prahovej hodnoty pokrytia, prahovej hodnoty podobnosti názvu, zoznamu vzťahov, ktoré sa majú vylúčiť a či sa majú zahrnúť vzťahy typu many-to-many.
Overenie vzťahov v údajových prvkoch Pandas
Keď ste objavili potenciálne vzťahy v rámci údajových rámcach Pandas, pomocou find_relationships
funkcie je nevyhnutné tieto vzťahy overiť a identifikovať potenciálne problémy alebo nekonzistentnosti.
Na tomto mieste list_relationship_violations
je funkcia z modulu sempy.relationships
do hry.
Funkcia je navrhnutá list_relationship_violations
tak, aby vám pomohla overiť obsah tabuliek a zabezpečiť, aby zodpovedali zisteným vzťahom.
Pomocou tejto funkcie môžete identifikovať nekonzistencie so zadanou multiplicity vzťahov a riešiť všetky problémy skôr, než budú mať vplyv na vašu analýzu údajov alebo modely strojového učenia.
Nasledujúci kód zobrazuje, ako vyhľadať porušenia vzťahov v údajovom prvku pandas:
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)
V predchádzajúcom kóde list_relationship_violations
sa funkcia volá so zoznamom troch pandas DataFrames (df_sales
, df_products
a ) a df_customers
vzťahmi DataFrame získanými z find_relationships
funkcie .
Funkcia list_relationship_violations
vráti údajový rámec pandas s jedným riadkom na porušenie vzťahu, čo vám umožní jednoducho identifikovať a riešiť akékoľvek problémy v rámci údajov.
Funkciu môžete prispôsobiť zadaním toho, ako možno spracovať chýbajúce kľúče, nastavením prahovej hodnoty pokrytia a definovaním počtu chýbajúcich kľúčov v zostave.
Používaním list_relationship_violations
funkcie s údajovými prvkami pandas môžete zabezpečiť konzistentnosť a presnosť vašich údajov, čo vám umožní vytvárať spoľahlivejšie modely strojového učenia a získať hlbšie prehľady o údajoch.
Súvisiaci obsah
- Prehlbujte svoju odbornosť s SemPy prostredníctvom referenčnej dokumentácie SemPy.
- Kurz: Zisťovanie vzťahov v sémantickom modeli pomocou sémantického prepojenia
- Kurz: Zisťovanie vzťahov v množine údajov Synthea pomocou sémantického prepojenia
- Zisťovanie, skúmanie a overovanie funkčných závislostí vo vašich údajoch
- Urýchlenie vedy o údajoch pomocou sémantických funkcií
Pripomienky
https://aka.ms/ContentUserFeedback.
Pripravujeme: V priebehu roka 2024 postupne zrušíme službu Problémy v službe GitHub ako mechanizmus pripomienok týkajúcich sa obsahu a nahradíme ju novým systémom pripomienok. Ďalšie informácie nájdete na stránke:Odoslať a zobraziť pripomienky pre