Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se dozvíte, jak pomocí poznámkového bloku Jupyter pracovat s Power BI a zjišťovat relace mezi tabulkami s knihovnou SemPy.
V tomto kurzu se naučíte:
- Objevte relace v sémantickém modelu (datová sada Power BI) pomocí sémantické knihovny Pythonu (SemPy).
- Používejte komponenty SemPy, které se integrují s Power BI a automatizují analýzu kvality dat. Mezi tyto komponenty patří:
-
FabricDataFrame- struktura podobná knihovně pandas vylepšená sémantickými informacemi - Funkce, které načítá sémantické modely z pracovního prostoru Fabric do poznámkového bloku
- Funkce, které testuje funkční závislosti a identifikují porušení vztahů v sémantických modelech
-
Požadavky
Získejte předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabric.
Přihlaste se k Microsoft Fabric.
Pomocí přepínače v levém dolním rohu domovské stránky přepněte na Fabric.
V navigačním podokně přejděte na Pracovní prostory a vyberte pracovní prostor, který chcete nastavit jako aktuální pracovní prostor.
Stáhněte si sémantické modely Customer Profitability Sample.pbix a Customer Profitability Sample (auto).pbix z úložiště GitHub s ukázkami prostředků infrastruktury a pak je nahrajte do svého pracovního prostoru.
Sledujte postup v poznámkovém bloku
Postupujte podle pokynů v poznámkovém bloku powerbi_relationships_tutorial.ipynb .
Pokud chcete otevřít doprovodný poznámkový blok k tomuto kurzu, postupujte podle pokynů v části Příprava systému na kurzy datové vědy a importujte poznámkový blok do svého pracovního prostoru.
Pokud chcete raději zkopírovat a vložit kód z této stránky, můžete vytvořit nový poznámkový blok.
Než začnete spouštět kód, nezapomeňte k poznámkovému bloku připojit lakehouse.
Nastavení poznámkového bloku
Nastavte prostředí poznámkového bloku s potřebnými moduly a daty.
semantic-linkNainstalujte balíček z PyPI pomocí%pipvloženého příkazu v poznámkovém bloku.%pip install semantic-linkImportujte
sempymoduly, které použijete později.import sempy.fabric as fabric from sempy.relationships import plot_relationship_metadata from sempy.relationships import find_relationships from sempy.fabric import list_relationship_violationsImportujte knihovnu
pandasa nastavte možnost zobrazení pro formátování výstupu.import pandas as pd pd.set_option('display.max_colwidth', None)
## Explore semantic models
This tutorial uses the Customer Profitability Sample semantic model [_Customer Profitability Sample.pbix_](https://github.com/microsoft/fabric-samples/blob/main/docs-samples/data-science/datasets/Customer%20Profitability%20Sample.pbix). Learn about the semantic model in [Customer Profitability sample for Power BI](/power-bi/create-reports/sample-customer-profitability).
- Use SemPy's `list_datasets` function to explore semantic models in your current workspace:
```python
fabric.list_datasets()
Pro zbytek tohoto poznámkového bloku použijte dvě verze sémantického modelu Customer Profitability Sample:
- Ukázka ziskovosti zákazníků: sémantický model, jak je uvedeno v ukázkách Power BI, s předdefinovanými relacemi mezi tabulkami
- Ukázka ziskovosti zákazníků (auto): stejná data, ale relace jsou omezené na ty, které Power BI automaticky dedektuje
Extrahování předdefinovaných relací z ukázkového sémantického modelu
Načtěte předdefinované relace v sémantickém modelu Ukázka ziskovosti zákazníků pomocí funkce SemPy
list_relationships. Funkce obsahuje seznam relací z tabulkového objektového modelu (TOM).dataset = "Customer Profitability Sample" relationships = fabric.list_relationships(dataset) relationshipsVizualizujte
relationshipsdatový rámec jako graf pomocí funkce SemPyplot_relationship_metadata.plot_relationship_metadata(relationships)Tento graf zobrazuje relace mezi tabulkami v tomto sémantickém modelu, jak je definováno v Power BI odborníkem na danou problematiku.
Zjišťování dalších relací
Pokud začnete s relacemi, které Power BI automaticky dedektuje, máte menší sadu.
Vizualizujte relace, které Power BI automaticky rozdetekoval v sémantickém modelu:
dataset = "Customer Profitability Sample (auto)" autodetected = fabric.list_relationships(dataset) plot_relationship_metadata(autodetected)Automatické rozpoznávání Power BI vynechá mnoho relací. Dvě automaticky rozdetekované relace jsou také sémanticky nesprávné:
-
Executive[ID]–>Industry[ID] -
BU[Executive_id]–>Industry[ID]
-
Vytiskněte relace jako tabulku:
autodetectedŘádky 3 a 4 zobrazují nesprávné relace s tabulkou
Industry. Odeberte tyto řádky.Zahoďte nesprávně identifikované relace.
# Remove rows 3 and 4 which point incorrectly to Industry[ID] autodetected = autodetected[~autodetected.index.isin([3, 4])]Teď máte správné, ale neúplné relace. Vizualizujte tyto neúplné relace pomocí
plot_relationship_metadata:plot_relationship_metadata(autodetected)Načtěte všechny tabulky ze sémantického modelu pomocí funkcí a funkcí SemPy
list_tablesaread_tablevyhledejte relace mezi tabulkami pomocífind_relationships. Projděte si výstup protokolu a získejte přehled o tom, jak tato funkce funguje:suggested_relationships_all = find_relationships( tables, name_similarity_threshold=0.7, coverage_threshold=0.7, verbose=2 )Vizualizace nově zjištěných relací:
plot_relationship_metadata(suggested_relationships_all)SemPy detekuje všechny relace.
Pomocí parametru
excludeomezte vyhledávání na další relace, které nebyly dříve identifikovány:additional_relationships = find_relationships( tables, exclude=autodetected, name_similarity_threshold=0.7, coverage_threshold=0.7 ) additional_relationships
Ověření relací
Nejprve načtěte data z sémantického modelu Customer Profitability Sample .
dataset = "Customer Profitability Sample" tables = {table: fabric.read_table(dataset, table) for table in fabric.list_tables(dataset)['Name']} tables.keys()Zkontrolujte, jestli se primární a cizí klíč překrývají s
list_relationship_violationsfunkcí. Předejte výstuplist_relationshipsfunkce dolist_relationship_violations.list_relationship_violations(tables, fabric.list_relationships(dataset))Výsledky odhalí užitečné přehledy. Například jedna ze sedmi hodnot
Fact[Product Key]není přítomnaProduct[Product Key]a chybějící klíč je50.Průzkumná analýza dat a čištění dat jsou iterativní. To, co se naučíte, závisí na vašich otázkách a na tom, jak prozkoumáte data. Sémantický odkaz přidává nástroje, které vám pomůžou s vašimi daty dělat víc.
Související obsah
Prozkoumejte další kurzy pro sémantický odkaz a SemPy:
- kurz : Vyčištění dat pomocí funkčních závislostí
- kurz : Analýza funkčních závislostí v ukázkovém sémantickém modelu
- Kurz : Extrahování a výpočet měr Power BI z poznámkového bloku Jupyter
- Kurz: Zjišťování relací v datové sadě Synthea pomocí sémantického odkazu
- Tutoriál: Ověřování dat pomocí SemPy a Great Expectations (GX)