Zdieľať cez


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

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:

  1. 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.
  2. Definuje stĺpce group by pomocou vyriešených názvov stĺpcov.
  3. Vypočíta jednu alebo viacero mierok na group by úrovni.
  4. Filtruje výsledok podľa existujúcich riadkov v prvku FabricDataFrame.