Pripojenie služby Power BI so sémantickým prepojením
Pripojenie k službe Power BI je jadrom sémantických prepojení v službe Microsoft Fabric. Tento článok popisuje spôsoby, ktoré sémantické prepojenie poskytuje pripojenie k sémantickým modelom pre používateľov ekosystémov Pandas jazyka Python a Apache Spark.
Sémantický model zvyčajne predstavuje vysoký štandard údajov, ktorý je výsledkom spracovania a spresnenia upstreamových údajov. Obchodní analytici môžu:
- Kódovanie vedomostí o doméne a obchodnej logiky do mierok služby Power BI.
- Vytváranie zostáv Power BI pomocou sémantických modelov.
- Tieto zostavy môžete používať na prijímanie obchodných rozhodnutí.
Keď sa dátoví vedci pracujúci s rovnakými sémantickými modelmi snažia duplikovať obchodnú logiku v rôznych prostrediach alebo jazykoch kódu, výsledkom môžu byť kritické chyby. Sémantické prepojenie preklenie priepasť medzi sémantickými modelmi a skúsenosťami služby Synapse Data Science v službe Microsoft Fabric, ktoré podnikovým analytikom a dátovým vedcom poskytujú spôsob bezproblémovej spolupráce a zníženia nezhody údajov.
Sémantické prepojenie ponúka pripojenie k:
- Ekosystém Pandas jazyka Python prostredníctvom knižnice SemPy Python.
- Sémantické modely prostredníctvom natívneho konektora Spark, ktorý podporuje PySpark, Spark SQL, R a Scala.
Pripojiteľnosť údajov prostredníctvom knižnice SemPy Python pre používateľov knižnice pandas
Knižnica SemPy Python je súčasťou funkcie sémantického prepojenia a slúži používateľom pandas. Funkcia SemPy zahŕňa načítanie údajov z tabuliek, výpočet mierok a vykonanie dotazov a metaúdajov jazyka DAX (Data Analysis Expressions ).
Pre službu Spark 3.4 a vyššiu je sémantické prepojenie dostupné v predvolenom režime runtime pri použití služby Fabric a nie je potrebné ju nainštalovať.
Pre službu Spark 3.3 alebo novšiu alebo aktualizáciu na najnovšiu verziu sémantického prepojenia spustite nasledujúci príkaz:
%pip install -U semantic-link
SemPy tiež rozširuje údajové rámce pandas o pridané metaúdaje rozšírené zo zdroja údajov služby Power BI. Tieto metaúdaje zahŕňajú:
- Kategórie údajov služby Power BI:
- Geografická adresa: Adresa, miesto, mesto
- URL adresa: webová URL adresa, URL adresa obrázka
- Čiarový kód
- Vzťahy medzi tabuľkami
- Hierarchie
Pripojiteľnosť údajov prostredníctvom sémantického prepojenia v natívna konektora Spark
Sémantické prepojenie Natívna konektor spark umožňuje používateľom služby Spark prístup k tabuľkám a mierkam služby Power BI. Konektor je jazykový a podporuje PySpark, Spark SQL, R a Scala.
Ak chcete použiť natívny konektor Spark, predstavujete sémantické modely ako priestory názvov služby Spark a transparentne zobrazujete tabuľky Power BI ako tabuľky Spark.
Nasledujúci príkaz nakonfiguruje službu Spark tak, aby používala natívny konektor služby Power BI Spark pre 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")
Nasledujúci príkaz obsahuje zoznam všetkých tabuliek v sémantickom modeli s názvom Sales Dataset
:
%%sql
SHOW TABLES FROM pbi.`Sales Dataset`
Nasledujúci príkaz zobrazí údaje z Customer
tabuľky v sémantickom modeli Sales Dataset
:
%%sql
SELECT * FROM pbi.`Sales Dataset`.Customer
Mierky Služby Power BI sú prístupné prostredníctvom virtuálnej _Metrics
tabuľky na prepojenie relačnej služby Spark SQL s multidimenzionálnym službou Power BI. V nasledujúcom príklade Total Revenue
Revenue Budget
sú mierky definované v sémantickom Sales Dataset
modeli a ďalšie stĺpce sú dimenziami. Agregačné funkcie, ako AVG
napríklad, sa v prípade mierok ignorujú a sú prítomné len preto, aby poskytovali konzistentnosť s JAZYKOM SQL.
Konektor podporuje predikátové posúvanie výpočtov, napríklad Customer[State] in ('CA', 'WA')
z výrazov Spark do nástroja Power BI, čím sa umožňuje používanie optimalizovaného nástroja služby 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šírenie údajov o mierky Power BI
Operácia add_measure
je výkonná funkcia sémantického prepojenia, ktorá umožňuje rozšíriť údaje o mierky zo sémantických modelov. Táto operácia je k dispozícii iba v knižnici SemPy Python a nie je podporovaná v natívnom konektore Spark. Ďalšie informácie o metóde add_measure
nájdete add_measure v dokumentácii FabricDataFrame
triedy.
Ak chcete použiť knižnicu SemPy Python, nainštalujte ju do notebookového jadra spustením nasledujúceho kódu v bunke notebooku:
# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame
V nasledujúcom príklade kódu sa predpokladá, že máte existujúci prvok FabricDataFrame s údajmi, ktoré chcete rozšíriť o mierky zo 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")
Metóda add_measure
vykoná nasledujúce kroky:
- Vyrieši názvy stĺpcov v dimenziách služby FabricDataFrame do služby Power BI. Operácia ignoruje všetky názvy stĺpcov, ktoré sa nedajú vyriešiť v rámci daného sémantického modelu. Ďalšie informácie nájdete v téme Podporovaná syntax jazyka DAX.
- Definuje stĺpce
group by
pomocou vyriešených názvov stĺpcov. - Vypočíta jednu alebo viacero mierok na
group by
úrovni. - Filtruje výsledok podľa existujúcich riadkov v prvku FabricDataFrame.