Sdílet prostřednictvím


Prozkoumání a ověřování relací v sémantických modelech a datových rámcích

V tomto článku se dozvíte, jak pomocí sémantických funkcí SemPy zjišťovat a ověřovat relace v sémantických modelech Power BI a v datových rámcích pandas.

V oblasti datových věd a strojového učení je důležité porozumět struktuře a vztahům v datech. Power BI je výkonný nástroj, který umožňuje modelovat a vizualizovat tyto struktury a vztahy. Pokud chcete získat další přehledy nebo vytvářet modely strojového učení, můžete se podrobněji ponořit pomocí sémantických funkcí odkazů v modulech knihovny SemPy.

Datoví vědci a obchodní analytici můžou pomocí funkcí SemPy vypisovat, vizualizovat a ověřovat relace v sémantických modelech Power BI nebo vyhledávat a ověřovat relace v datových rámcích pandas.

Požadavky

  • Vytvořte nový poznámkový blok pro zkopírování nebo vložení kódu do buněk.

  • Pro Spark 3.4 a vyšší je sémantický odkaz dostupný ve výchozím modulu runtime při použití prostředků infrastruktury a není potřeba ho nainstalovat. V případě Sparku 3.3 nebo novějšího nebo aktualizaci na nejnovější verzi sémantického odkazu spusťte následující příkaz:

    %pip install -U semantic-link
    
  • Přidejte do poznámkového bloku lakehouse.

Výpis relací v sémantických modelech

Funkce list_relationships v sempy.fabric modulu vrátí seznam všech relací nalezených v sémantickém modelu Power BI. Seznam vám pomůže pochopit strukturu dat a způsob propojení různých tabulek a sloupců.

Tato funkce funguje pomocí sémantického odkazu pro poskytování anotovaných datových rámců. Datové rámce obsahují potřebná metadata pro pochopení relací v sémantickém modelu. Anotované datové rámce usnadňují analýzu struktury sémantického modelu a jejich použití v modelech strojového učení nebo v jiných úlohách analýzy dat.

Pokud chcete tuto funkci použít list_relationships , nejprve modul naimportujete sempy.fabric . Pak funkci zavoláte pomocí názvu nebo UUID sémantického modelu Power BI, jak je znázorněno v následujícím příkladu:

import sempy.fabric as fabric

fabric.list_relationships("my_dataset")

Předchozí kód volá list_relationships funkci sémantickým modelem Power BI s názvem my_dataset. Funkce vrátí datový rámec pandas s jedním řádkem na relaci, což vám umožní snadno prozkoumat a analyzovat relace v sémantickém modelu.

Poznámka:

Poznámkový blok, sémantický model datové sady Power BI a lakehouse se dají nacházet ve stejném pracovním prostoru nebo v různých pracovních prostorech. Ve výchozím nastavení se SemPy pokusí o přístup k sémantickému modelu z:

  • Pokud jste k poznámkovému bloku připojili lakehouse pracovní prostor jezera.
  • Pokud není připojený žádný lakehouse, pracovní prostor poznámkového bloku

Pokud se váš sémantický model nenachází v některém z těchto pracovních prostorů, musíte při volání metody SemPy zadat pracovní prostor sémantického modelu.

Vizualizace relací v sémantických modelech

Tato plot_relationship_metadata funkce vám pomůže vizualizovat relace v sémantickém modelu, abyste lépe porozuměli struktuře modelu. Tato funkce vytvoří graf, který zobrazuje propojení mezi tabulkami a sloupci. Graf usnadňuje pochopení struktury sémantického modelu a toho, jak různé prvky souvisejí.

Následující příklad ukazuje, jak používat plot_relationship_metadata funkci:

import sempy.fabric as fabric
from sempy.relationships import plot_relationship_metadata

relationships = fabric.list_relationships("my_dataset")
plot_relationship_metadata(relationships)

V předchozím kódu list_relationships funkce načte relace v my_dataset sémantickém modelu a plot_relationship_metadata funkce vytvoří graf pro vizualizaci relací.

Graf můžete přizpůsobit definováním sloupců, které se mají zahrnout, určením způsobu zpracování chybějících klíčů a poskytnutím dalších atributů graphviz .

Ověření relací v sémantických modelech

Teď, když lépe rozumíte relacím v sémantickém modelu, můžete pomocí list_relationship_violations funkce tyto relace ověřit a identifikovat případné problémy nebo nekonzistence. Tato list_relationship_violations funkce vám pomůže ověřit obsah tabulek, aby se zajistilo, že odpovídají relacím definovaným v sémantickém modelu.

Pomocí této funkce můžete identifikovat nekonzistence se zadanou násobností relace a řešit případné problémy předtím, než ovlivní analýzu dat nebo modely strojového učení.

Pokud chcete funkci použít list_relationship_violations , nejprve naimportujte sempy.fabric modul a načtěte tabulky z sémantického modelu. Potom zavoláte funkci se slovníkem, který mapuje názvy tabulek na datové rámce s obsahem tabulky.

Následující příklad kódu ukazuje, jak zobrazit seznam porušení vztahů:

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)

Předchozí kód volá list_relationship_violations funkci se slovníkem, který obsahuje tabulky Sales, Products a Customers z my_dataset sémantického modelu. Funkci můžete přizpůsobit nastavením prahové hodnoty pokrytí, určením způsobu zpracování chybějících klíčů a definováním počtu chybějících klíčů, které se mají hlásit.

Funkce vrátí datový rámec pandas s jedním řádkem na porušení vztahu, což vám umožní snadno identifikovat a řešit případné problémy v sémantickém modelu. Pomocí list_relationship_violations funkce můžete zajistit, aby byl sémantický model konzistentní a přesný, abyste mohli vytvářet spolehlivější modely strojového učení a získat hlubší přehled o vašich datech.

Hledání relací v datových rámcích pandas

list_relationshipsplot_relationships_df Zatímco funkce a list_relationship_violations funkce v modulu Fabric jsou výkonné nástroje pro zkoumání relací v sémantických modelech, možná budete muset také zjistit relace v jiných zdrojích dat importovaných jako datové rámce pandas.

To je místo, kde find_relationships funkce v sempy.relationship modulu přichází do hry.

Funkce find_relationships v modulu sempy.relationships pomáhá datovým vědcům a obchodním analytikům objevovat potenciální vztahy v seznamu datových rámců pandas. Pomocí této funkce můžete identifikovat možná propojení mezi tabulkami a sloupci, což vám umožní lépe porozumět struktuře dat a tomu, jak různé prvky souvisejí.

Následující příklad kódu ukazuje, jak najít relace v datových rámcích pandas:

from sempy.relationships import find_relationships

tables = [df_sales, df_products, df_customers]

find_relationships(tables)

Předchozí kód volá find_relationships funkci se seznamem tří datových rámců Pandas: df_sales, df_productsa df_customers. Funkce vrátí datový rámec pandas s jedním řádkem na potenciální relaci, což vám umožní snadno prozkoumat a analyzovat relace v rámci vašich dat.

Funkci můžete přizpůsobit zadáním prahové hodnoty pokrytí, prahové hodnoty podobnosti názvu, seznamu relací, které se mají vyloučit, a toho, zda zahrnout relace M:N.

Ověření relací v datových rámcích pandas

Po zjištění potenciálních relací v datových rámcích pandas pomocí find_relationships funkce můžete tuto funkci použít list_relationship_violations k ověření těchto relací a identifikaci potenciálních problémů nebo nekonzistence.

Funkce list_relationship_violations ověří obsah tabulek, aby se zajistilo, že odpovídají zjištěnám relacím. Pomocí této funkce můžete identifikovat nekonzistence se zadanou násobností relací a vyřešit případné problémy dříve, než ovlivní analýzu dat nebo modely strojového učení.

Následující příklad kódu ukazuje, jak najít porušení relací v datových rámcích 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)

Předchozí kód volá list_relationship_violations funkci se seznamem tří datových rámců pandas, df_sales, df_productsa , plus df_customersrelace DataFrame z find_relationships funkce. Funkce list_relationship_violations vrátí datový rámec pandas s jedním řádkem na porušení vztahu, což vám umožní snadno identifikovat a řešit případné problémy v datech.

Funkci můžete přizpůsobit nastavením prahové hodnoty pokrytí, určením způsobu zpracování chybějících klíčů a definováním počtu chybějících klíčů, které se mají hlásit.

Pomocí list_relationship_violations funkce s datovými rámci pandas můžete zajistit, aby vaše data byla konzistentní a přesná, abyste mohli vytvářet spolehlivější modely strojového učení a získat hlubší přehled o vašich datech.