Zdieľať cez


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.

    Snímka obrazovky ponuky prepínača prostredí zobrazujúca, kde vybrať možnosť Dátová veda.

  • 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_relationshipsplot_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_productsa 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_productsa ) a df_customersvzť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.