Zdieľať cez


Pripojenie k službe Power BI so sémantickým prepojením a službou Microsoft Fabric

Pripojenie k službe Power BI je jadrom sémantického prepojenia. V tomto článku sa dozviete o spôsoboch, ktoré sémantické prepojenie poskytuje pripojenie k sémantickým modelom pre používateľov ekosystému Pandas jazyka Python a ekosystému Apache Spark.

Sémantický model zvyčajne predstavuje zlatý štandard údajov a je výsledkom spracovania a spresnenia upstreamových údajov. Obchodní analytici môžu vytvárať zostavy Power BI zo sémantických modelov a používať tieto zostavy na prijímanie obchodných rozhodnutí. Okrem toho môžu kódovať svoje vedomosti o doméne a obchodnú logiku do mierok služby Power BI. Na druhej strane dátoví vedci môžu pracovať s rovnakými sémantickými modelmi, ale zvyčajne v inom prostredí kódu alebo jazyku. V takýchto prípadoch môže byť pre dátových vedcov potrebné duplikovať obchodnú logiku, čo môže viesť k kritickým chybám.

Sémantické prepojenie spája túto priepasť medzi sémantickými modelmi a skúsenosťami služby Synapse Data Science v službe Microsoft Fabric. Tým poskytujete podnikovým analytikom a dátovým vedcom spôsob bezproblémovej spolupráce a zredukovania nesúladu údajov. Sémantické prepojenie ponúka pripojenie k:

  • ekosystém Pandas jazyka Python prostredníctvom knižnice SemPy Python a
  • 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. SemPy poskytuje funkcie, ktoré zahŕňajú načítanie údajov z tabuliek, výpočet mierok a vykonávanie dotazov a metaúdajovJAZYKA DAX.

Pre službu Spark 3.4 a vyššiu je sémantické prepojenie k dispozícii v predvolenom režime runtime pri použití služby Fabric a nie je potrebné ho nainštalovať. Ak používate Spark 3.3 alebo nižšie, alebo ak chcete aktualizovať na najnovšiu verziu sémantického prepojenia, môžete spustiť príkaz:

python %pip install -U semantic-link  

SemPy tiež rozširuje údajové rámce pandas o ďalšie 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 atď.
    • URL adresa: webová URL adresa, URL adresa obrázka
    • Čiarový kód
  • Vzťahy medzi tabuľkami
  • Hierarchie

Podpora služieb Spark (PySpark, Spark SQL, R a Scala)

Sémantické prepojenie Natívna konektor spark umožňuje používateľom služby Spark pristupovať k tabuľkám a mierkam Power BI. Konektor je jazykový a podporuje PySpark, Spark SQL, R a Scala.

Na použitie natívneho konektora Spark sú sémantické modely zastúpené ako priestory názvov služby Spark a transparentne zobrazujú tabuľky Power BI ako tabuľky Spark.

Nakonfigurujte Spark tak, aby používala natívny konektor Služby Power BI Spark:

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")

Zobrazenie zoznamu všetkých tabuliek v sémantickom modeli Sales Dataset:

%%sql
SHOW TABLES FROM pbi.`Sales Dataset`

Zobrazenie údajov z tabuľky Customer 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 sú mierky Revenue Budget definované v sémantickom Sales Dataset modeli, zatiaľ čo zostávajúce stĺpce sú dimenziami. Agregačná funkcia (napríklad AVG) sa v prípade mierok ignoruje a slúži len na konzistentnosť s SQL.

Konektor podporuje predikátové posúvanie výpočtov z výrazov Spark do nástroja Power BI. napríklad , Customer[State] in ('CA', 'WA')čím sa umožní využitie 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. Operácia add_measure je k dispozícii len v knižnici SemPy Python a nepodporuje ju natívny konektor Spark. Ďalšie informácie o metóde add_measure nájdete add_measure v triede FabricDataFrame

Ak chcete používať knižnicu SemPy jazyka Python, musíte ju najprv nainštalovať do notebookového jadra vykonaním tohto kódu v bunke notebooku:

Tip

V príklade kódu sa predpokladá, že ste manuálne vytvorili prvok FabricDataFrame s údajmi, ktoré chcete rozšíriť o mierky zo sémantického modelu.

# %pip and import only needs to be done once per notebook
%pip install semantic-link
from sempy.fabric import FabricDataFrame

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")

Operácia add_measure vykoná tieto kroky:

  • Riešenie názvov stĺpcov: Názvy stĺpcov v prvku FabricDataFrame sa prekladajú do dimenzií služby Power BI. Názvy stĺpcov, ktoré sa nedajú vyriešiť v rámci daného sémantického modelu, sa ignorujú (pozrite si podporovanú syntax jazyka DAX).
  • Definuje skupinu podľa stĺpcov pomocou vyriešených názvov stĺpcov.
  • Vypočíta jednu alebo viacero mierok v skupine podľa úrovne.
  • Filtruje výsledok podľa existujúcich riadkov v prvku FabricDataFrame.