Připojení Power BI pomocí sémantického odkazu
Připojení Power BI je jádrem sémantického propojení v Microsoft Fabricu. Tento článek popisuje způsoby, kterými sémantický odkaz poskytuje připojení k sémantickým modelům pro uživatele ekosystémů Python pandas a Apache Spark.
Sémantický model obvykle představuje vysoký datový standard, který je výsledkem upstreamového zpracování a upřesnění dat. Obchodní analytici můžou:
- Kódování znalostí domény a obchodní logiky do měr Power BI
- Vytváření sestav Power BI pomocí sémantických modelů
- Tyto sestavy slouží k řízení obchodních rozhodnutí.
Když se datoví vědci pracující se stejnými sémantickými modely pokusí duplikovat obchodní logiku v různých prostředích nebo jazycích kódu, můžou vést k kritickým chybám. Sémantické propojení překlenuje mezeru mezi sémantickými modely a Datová Věda Synapse v prostředí Microsoft Fabric, aby mohli obchodní analytici a datoví vědci bez problémů spolupracovat a snižovat neshodu dat.
Sémantický odkaz nabízí připojení k:
- Ekosystém Knihovny Python pandas v Pythonu prostřednictvím knihovny SemPy Python.
- Sémantické modely prostřednictvím nativního konektoru Sparku, který podporuje PySpark, Spark SQL, R a Scala.
Připojení k datům prostřednictvím knihovny SemPy Python pro uživatele knihovny pandas
Knihovna SemPy Python je součástí funkce sémantického odkazu a obsluhuje uživatele knihovny pandas. Funkce SemPy zahrnuje načítání dat z tabulek, výpočty měr a spouštění dotazů a metadat daX (Data Analysis Expressions).
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
SemPy také rozšiřuje datové rámce pandas s přidanými metadaty šířenými ze zdroje dat Power BI. Tato metadata zahrnují:
- Kategorie dat Power BI:
- Geografická oblast: Adresa, místo, město
- URL: Webová adresa URL, adresa URL obrázku
- Čárový kód
- Relace mezi tabulkami
- Hierarchie
Připojení k datům prostřednictvím sémantického propojení nativního konektoru Sparku
Sémantické propojení nativního konektoru Sparku umožňuje uživatelům Sparku přistupovat k tabulkám a mírům Power BI. Konektor je nezávislý na jazyce a podporuje PySpark, Spark SQL, R a Scala.
Pokud chcete použít nativní konektor Sparku, představujete sémantické modely jako obory názvů Sparku a transparentně zpřístupňujete tabulky Power BI jako tabulky Sparku.
Následující příkaz nakonfiguruje Spark tak, aby používal nativní konektor Power BI Spark pro Spark pro Spark SQL:
spark.conf.set("spark.sql.catalog.pbi", "com.microsoft.azure.synapse.ml.powerbi.PowerBICatalog")
# Optionally, configure the workspace using its ID
# Resolve workspace name to ID using fabric.resolve_workspace_id("My workspace")
# Replace 00000000-0000-0000-0000-000000000000 with your own workspace ID
# spark.conf.set("spark.sql.catalog.pbi.workspace, "00000000-0000-0000-0000-000000000000")
Následující příkaz zobrazí seznam všech tabulek v sémantickém modelu s názvem Sales Dataset
:
%%sql
SHOW TABLES FROM pbi.`Sales Dataset`
Následující příkaz zobrazí data z Customer
tabulky v sémantickém modelu Sales Dataset
:
%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer
Míry Power BI jsou přístupné prostřednictvím virtuální _Metrics
tabulky, aby přeměněly relační Spark SQL s multidimenzionálním Power BI. V následujícím příkladu Total Revenue
jsou Revenue Budget
míry definované v sémantickém Sales Dataset
modelu a ostatní sloupce jsou dimenze. AVG
U měr se ignorují funkce agregace, které jsou k dispozici pouze kvůli zajištění konzistence s SQL.
Konektor podporuje predikát odsunutí výpočtů, jako jsou Customer[State] in ('CA', 'WA')
výrazy Sparku, do modulu Power BI, aby bylo možné použít optimalizovaný modul Power BI.
SELECT
`Customer[Country/Region]`,
`Industry[Industry]`,
AVG(`Total Revenue`),
AVG(`Revenue Budget`)
FROM
pbi.`Sales Dataset`.`_Metrics`
WHERE
`Customer[State]` in ('CA', 'WA')
GROUP BY
`Customer[Country/Region]`,
`Industry[Industry]`
Rozšíření dat pomocí měr Power BI
Operace add_measure
je výkonná funkce sémantického propojení, která umožňuje rozšířit data o míry z sémantických modelů. Tato operace je dostupná jenom v knihovně SemPy Python a není podporovaná v nativním konektoru Sparku. Další informace o add_measure
metodě najdete v add_measure v FabricDataFrame
dokumentaci ke třídě.
Pokud chcete použít knihovnu SemPy Python, nainstalujte ji do jádra poznámkového bloku spuštěním následujícího kódu v buňce poznámkového bloku:
# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame
Následující příklad kódu předpokládá, že máte existující FabricDataFrame s daty, která chcete rozšířit o míry z sémantického modelu.
df = FabricDataFrame({
"Sales Agent": ["Agent 1", "Agent 1", "Agent 2"],
"Customer[Country/Region]": ["US", "GB", "US"],
"Industry[Industry]": ["Services", "CPG", "Manufacturing"],
}
)
joined_df = df.add_measure(["Total Revenue", "Total Budget"], dataset="Sales Dataset")
Metoda add_measure
provede následující kroky:
- Přeloží názvy sloupců v prvku FabricDataFrame na dimenze Power BI. Operace ignoruje názvy sloupců, které nelze v daném sémantickém modelu přeložit. Další informace najdete v podporované syntaxi jazyka DAX.
group by
Definuje sloupce pomocí přeložených názvů sloupců.- Vypočítá jednu nebo více měr na
group by
úrovni. - Filtruje výsledek podle existujících řádků v prvku FabricDataFrame.