Sprievodný materiál k modelovaniu služby Power BI pre Power Platform

Microsoft Dataverse je štandardná platforma údajov pre mnohé produkty podnikových aplikácií spoločnosti Microsoft vrátane aplikácií plátna Dynamics 365 Customer Engagement a Služby Power Apps, ako aj Dynamics 365 Customer Voice (predtým Microsoft Forms Pro), schválenia služby Power Automate, portálov Power Apps a ďalších.

Tento článok obsahuje návod na vytvorenie dátového modelu v službe Power BI, ktorý sa pripája k službe Dataverse. Popisuje rozdiely medzi schémou Dataverse a optimalizovanou schémou Power BI a poskytuje návod na rozšírenie viditeľnosti údajov podnikovej aplikácie v službe Power BI.

Vďaka jednoduchému nastaveniu, rýchlemu nasadeniu a rozsiahlemu osvojeniu obchody Dataverse a spravujú čoraz väčší objem údajov v prostrediach v rámci organizácií. To znamená, že je potrebná ešte väčšia potreba a príležitosť na integráciu analýzy s týmito procesmi. Príležitosti zahŕňajú:

  • Zostáv o všetkých údajoch Dataverse, ktoré presahujú limity vstavaných grafov.
  • Poskytovať jednoduchý prístup k relevantným kontextovo filtrovaným zostavám v rámci konkrétneho záznamu.
  • Zlepšite hodnotu údajov Dataverse integráciou s externými údajmi.
  • Využívajte vstavanú umelú inteligenciu (AI) Power BI bez nutnosti zapisovania komplexného kódu.
  • Zvyšovať prijímanie riešení Power Platformy zvýšením ich užitočnosti a hodnoty.
  • Poskytnite hodnotu údajov vo svojej aplikácii tvorcom obchodných rozhodnutí.

Pripojenie Power BI do služby Dataverse

Pripojenie služby Power BI na Dataverse zahŕňa vytvorenie dátového modelu služby Power BI. Na vytvorenie modelu služby Power BI si môžete vybrať z troch metód.

  • Import údajov Dataverse pomocou konektora Dataverse: Táto metóda ukladá (ukladá) údaje Dataverse v modeli Power BI. Prináša rýchly výkon vďaka dotazovania v pamäti. Modelárovi tiež ponúka flexibilitu návrhu, čo im umožňuje integrovať údaje z iných zdrojov. Z dôvodu jeho silných stránok je import údajov predvoleným režimom pri vytváraní modelu v aplikácii Power BI Desktop.
  • Import údajov Dataverse pomocou prepojenia Azure Synapse Link: Táto metóda je variáciou v metóde importu, pretože tiež ukladá údaje do vyrovnávacej pamäte v modeli Power BI, ale vykoná to pripojením k službe Azure Synapse Analytics. Pomocou prepojenia Azure Synapse Link pre Dataverse sa tabuľky Dataverse nepretržite replikujú do služby Azure Synapse alebo Azure Data Lake Storage (ADLS) Gen2. Tento prístup sa používa na vytváranie zostáv o stovkách tisícok alebo dokonca miliónoch záznamov v prostrediach Dataverse.
  • Vytvorenie pripojenia DirectQuery pomocou konektora Dataverse: Táto metóda je alternatívou k importu údajov. Model DirectQuery pozostáva iba z metaúdajov definujúcich štruktúru modelu. Keď používateľ otvorí zostavu, služba Power BI odošle natívne dotazy do služby Dataverse na načítanie údajov. Zvážte vytvorenie modelu DirectQuery, keď sa v zostavách musia zobrazovať údaje takmer v reálnom čase a kedy musí aplikácia Dataverse vynútiť zabezpečenie založené na rolách, aby používatelia mohli zobraziť len tie údaje, ku ktorým majú oprávnenia na prístup.

Dôležité

Hoci model DirectQuery môže byť dobrou alternatívou, ak potrebujete zostavy takmer v reálnom čase na vytváranie zostáv alebo vynútenie zabezpečenia Dataverse, môže to mať za následok pomalý výkon pre danú zostavu.

Ďalšie informácie o aspektoch režimu DirectQuery nájdete ďalej v tomto článku.

Ak chcete určiť správnu metódu pre svoj model Power BI, mali by ste zvážiť:

  • Výkon dotazov
  • Objem údajov
  • Latencia údajov
  • Zabezpečenie na základe rolí
  • Zložitosť nastavenia

Tip

Podrobné informácie o modelových architektúrach (import, DirectQuery alebo zložených), ich výhodách a obmedzeniach a funkciách na optimalizáciu dátových modelov power BI nájdete v téme Výber architektúry modelu Power BI.

Výkon dotazov

Dotazy odoslané do modelov importu sú rýchlejšie ako natívne dotazy odosielané do zdrojov údajov DirectQuery. Je to spôsobené tým, že importované údaje sú uložené vo vyrovnávacej pamäti a sú optimalizované pre analytické dotazy (operácie filtrovania, zoskupovania a sumarizácie).

Naopak, modely DirectQuery načítavajú údaje zo zdroja len po otvorení zostavy používateľom, čo má za následok sekundy oneskorenia pri vykreslení zostavy. Okrem toho interakcie používateľov so zostavou vyžadujú, aby služba Power BI znova dotazla zdroj, čím sa zníži odozva.

Objem údajov

Pri vývoji modelu importu by ste sa mali snažiť minimalizovať údaje načítané do modelu. Platí to najmä pre veľké modely alebo modely, od ktorými očakávate, že sa budú zväčšovať a časom sa stanú veľkými. Ďalšie informácie nájdete v téme Techniky zníženia počtu údajov na modelovanie importu.

Pripojenie DirectQuery k dataverse je dobrou voľbou, ak výsledok dotazu zostavy nie je veľký. Veľký výsledok dotazu má v zdrojových tabuľkách zostavy viac ako 20 000 riadkov, inak je výsledok vrátený do zostavy po použití filtrov viac ako 20 000 riadkov. V tomto prípade môžete vytvoriť zostavu Power BI pomocou konektora Dataverse.

Poznámka

Veľkosť riadkov 20 000 nie je pevný limit. Každý dotaz zdroja údajov však musí vrátiť výsledok do 10 minút. Neskôr v tomto článku sa dozviete, ako pracovať v rámci týchto obmedzení a s inými aspektmi návrhu Dataverse DirectQuery.

Výkon väčších sémantických modelov (predtým známych ako množiny údajov) môžete zvýšiť pomocou konektora Dataverse a importovať údaje do dátového modelu.

Ešte väčšie sémantické modely s niekoľkými stovkami tisíc alebo dokonca miliónmi riadkov môžu profitovať z používania prepojenia Azure Synapse pre Dataverse. Tento prístup nastaví priebežný spravovaný kanál, ktorý skopíruje údaje Dataverse do služby ADLS Gen2 ako súbory CSV alebo parquet. Power BI potom môže dotazovať fond SQL bez serverov služby Azure Synapse a načítať model importu.

Latencia údajov

Keď sa údaje dataverse rýchlo menia a používatelia zostáv potrebujú zobraziť aktuálne údaje, model DirectQuery môže poskytnúť výsledky dotazu takmer v reálnom čase.

Tip

Môžete vytvoriť zostavu služby Power BI, ktorá používa automatické obnovenie strany na zobrazenie aktualizácií v reálnom čase, ale len vtedy, keď sa zostava pripojí k modelu DirectQuery.

Import dátových modelov musí dokončiť obnovenie údajov, aby bolo možné vytvárať zostavy o najnovších zmenách údajov. Nezabudnite, že počet denných plánovaných operácií obnovenia údajov má svoje obmedzenia. V zdieľanej kapacite môžete naplánovať až osem obnovení za deň. V kapacite Premium alebo službe Microsoft Fabric môžete naplánovať až 48 obnovení za deň, čo môže dosiahnuť 15-minútovú frekvenciu obnovovania.

Dôležité

V čase, keď sa tento článok týka služby Power BI Premium alebo jej predplatných kapacity (skladové jednotky SKU P). Spoločnosť Microsoft v súčasnosti konsoliduje možnosti nákupu a vyradí skladové jednotky SKU služby Power BI Premium na kapacitu. Noví a existujúci zákazníci by namiesto toho mali zvážiť zakúpenie predplatného kapacity služby Fabric (skladové jednotky F SKU).

Ďalšie informácie nájdete v téme Dôležitá aktualizácia pre licencie Power BI Premium a Power BI Premium: najčastejšie otázky.

Ak chcete dosiahnuť rýchlejšie obnovovanie a výkon takmer v reálnom čase (k dispozícii len so službou Premium alebo Fabric), môžete zvážiť použitie prírastkového obnovenia.

Zabezpečenie na základe rolí

Keď je potrebné vynútiť zabezpečenie na základe rolí, môže mať priamy vplyv na výber architektúry modelu Power BI.

Dataverse môže vynútiť komplexné zabezpečenie na základe rolí a ovládať prístup konkrétnych záznamov ku konkrétnym používateľom. Predajca môže mať napríklad povolenie zobraziť len svoje predajné príležitosti, zatiaľ čo manažér predaja môže vidieť všetky predajné príležitosti pre všetkých predajcov. Úroveň zložitosti si môžete prispôsobiť na základe potrieb vašej organizácie.

Model DirectQuery založený na službe Dataverse sa môže pripojiť pomocou kontextu zabezpečenia používateľa zostavy. Týmto spôsobom sa používateľovi zostavy zobrazia len údaje, ku ktorým má prístup. Tento prístup môže zjednodušiť návrh zostavy za predpokladu, že výkon je prijateľný.

Ak chcete dosiahnuť lepší výkon, môžete vytvoriť model importu, ktorý sa namiesto toho pripojí k službe Dataverse. V tomto prípade môžete do modelu v prípade potreby pridať zabezpečenie na úrovni riadkov (RLS ).

Poznámka

Replikovanie určitého zabezpečenia na základe rolí dataverse ako zabezpečenia na úrovni roly v službe Power BI môže byť náročné, najmä keď služba Dataverse vynucuje zložité povolenia. Okrem toho môže byť potrebné priebežnú správu, aby povolenia Power BI boli synchronizované s povoleniami Dataverse.

Ďalšie informácie o zabezpečení na úrovni riadkov v službe Power BI nájdete v téme Sprievodný materiál k zabezpečeniu na úrovni riadkov (RLS) v aplikácii Power BI Desktop.

Zložitosť nastavenia

Použitie konektora Dataverse v službe Power BI , či už v prípade modelov importu alebo DirectQuery, je jednoduché a nevyžaduje žiadny špeciálny softvér ani zvýšené povolenia pre Dataverse. To je výhoda pre organizácie alebo oddelenia, ktoré začínajú.

Možnosť Azure Synapse Link vyžaduje prístup správcu systému k službe Dataverse a určité povolenia Azure. Tieto povolenia Azure sa vyžadujú na nastavenie konta úložiska a pracovného priestoru Synapse.

Táto časť popisuje vzory návrhu (a anti-vzory), ktoré by ste mali zvážiť pri vytváraní modelu služby Power BI, ktorý sa pripája k službe Dataverse. Len niektoré z týchto vzorov sú jedinečné pre službu Dataverse, ale pre tvorcov dataverse sú zvyčajne bežnými výzvami pri vytváraní zostáv služby Power BI.

Zameranie na konkrétny prípad použitia

Namiesto toho, aby ste sa snažili vyriešiť všetko, zamerajte sa na konkrétny prípad použitia.

Toto odporúčanie je pravdepodobne najbežnejším a najnáročnejším proti vzorom, ak sa tomu chcete vyhnúť. Pokus o vytvorenie jedného modelu, ktorý splní všetky potreby samoobslužného vytvárania zostáv, je náročný. Predpokladá sa, že úspešné modely sú vytvorené tak, aby zodpovedali otázky týkajúce sa centrálneho súboru faktov v rámci jednej základnej témy. Aj keď by sa spočiatku mohlo zdať, že obmedziť model, je to vlastne posilnenie, pretože môžete ladiť a optimalizovať model pre odpovede na otázky v rámci tejto témy.

Ak chcete zabezpečiť, aby ste jasne pochopili účel modelu, položte si nasledujúce otázky.

  • Akú oblasť tém bude tento model podporovať?
  • Kto je publikum zostáv?
  • Na aké otázky sa zostavy pokúšajú odpovedať?
  • Aký je minimálne životaschopný sémantický model?

Odolajte kombinovaniu viacerých oblastí tém do jedného modelu len preto, že používateľ zostavy má otázky vo viacerých oblastiach tém, ktoré chce riešiť jedna zostava. Rozdelenie tejto zostavy na viacero zostáv so zameraním na inú tému (alebo tabuľku faktov) vám umožňuje vytvárať oveľa efektívnejšie, škálovateľné a spravovateľné modely.

Návrh hviezdicovej schémy

Vývojári a správcovia platformy Dataverse, ktorí sa oboznámia so schémou Dataverse, môžu byť v pokušení reprodukovať rovnakú schému v službe Power BI. Tento prístup je anti-vzor, a to je asi najťažší na prekonanie, pretože to jednoducho cíti právo na zachovanie konzistencie.

Dataverse je ako relačný model vhodný na jeho účel. Nie je však navrhnutý ako analytický model, ktorý je optimalizovaný pre analytické zostavy. Najčastejším vzorom pre modelovanie analytických údajov je návrh hviezdicovej schémy . Hviezdicová schéma predstavuje vyspelý prístup k modelovaniu, často používaný v skladoch relačných údajov. Vyžaduje sa, aby modelári klasifikovali svoje tabuľky modelov ako tabuľku dimenzií alebo tabuľku faktov. Zostavy môžu filtrovať alebo zoskupovať pomocou stĺpcov tabuľky dimenzií a sumarizovať stĺpce tabuľky faktov.

Diagram znázorňuje hviezdicovú schému obsahujúcu jednu tabuľku faktov príležitosti a štyri tabuľky dimenzií.

Ďalšie informácie nájdete v téme Vysvetlenie hviezdicovej schémy a dôležitosti pre Power BI.

Optimalizácia dotazov Power Query

Mashup modul Power Query sa snaží dosiahnuť postupné posúvanie dotazov vždy, keď je to možné z dôvodu efektivity. Dotaz, ktorým sa dosahuje postupné spracovanie dotazov delegátmi do zdrojového systému.

Zdrojový systém, v tomto prípade Dataverse, potom do služby Power BI potrebuje iba doručiť filtrované alebo súhrnné výsledky. Postupný dotaz je často výrazne rýchlejší a efektívnejší ako dotaz, ktorý sa nezbalí.

Ďalšie informácie o tom, ako možno dosiahnuť postupné posúvanie dotazov, nájdete v téme Postupné posúvanie dotazov Power Query.

Poznámka

Optimalizácia doplnku Power Query je širokou témou. Ak chcete lepšie porozumieť tomu, čo Power Query vykonáva pri vytváraní a obnovovaní modelu v aplikácii Power BI Desktop, pozrite si tému Diagnostika dotazov.

Minimalizovať počet stĺpcov dotazu

Keď na načítanie tabuľky Dataverse použijete Power Query, načíta všetky riadky a všetky stĺpce. Napríklad pri dotazovaní tabuľky používateľa systému môže obsahovať viac ako 1 000 stĺpcov. Stĺpce v metaúdajoch zahŕňajú vzťahy s inými entitami a vyhľadávania na označenia možností, takže celkový počet stĺpcov sa s zložitosťou tabuľky Dataverse zväčšuje.

Pokus o načítanie údajov zo všetkých stĺpcov je proti vzorom. Často má za následok rozšírené operácie obnovenia údajov a spôsobí to zlyhanie dotazu, keď čas potrebný na vrátenie údajov prekročí 10 minút.

Odporúčame, aby ste načítali iba stĺpce, ktoré vyžadujú zostavy. Po dokončení vývoja zostavy je často vhodné opätovne prehodnotiť a opätovne spracovať dotazy, čo vám umožní identifikovať a odstrániť nepoužívané stĺpce. Ďalšie informácie nájdete v téme Techniky zníženia počtu údajov na modelovanie importu (Odstránenie nepotrebných stĺpcov).

Okrem toho by ste mali najskôr uviesť stĺpce Power Query Remove, aby sa posúvali späť do zdroja. Týmto spôsobom sa môže doplnok Power Query vyhnúť zbytočnej práci extrahovania zdrojových údajov, aby sa tieto údaje zahodili neskôr (v rozloženom kroku).

Ak máte tabuľku s mnohými stĺpcami, použitie interaktívneho zostavovača dotazov Power Query môže byť nepraktické. V tomto prípade môžete začať vytvorením prázdneho dotazu. Potom môžete pomocou Rozšírený editor prilepiť minimálny dotaz, ktorý vytvorí východiskový bod.

Uvažujme o nasledujúcom dotaze, ktorý načíta údaje len z dvoch stĺpcov tabuľky konta .

let
    Source = CommonDataService.Database("demo.crm.dynamics.com", [CreateNavigationProperties=false]),
    dbo_account = Source{[Schema="dbo", Item="account"]}[Data],
    #"Removed Other Columns" = Table.SelectColumns(dbo_account, {"accountid", "name"})
in
    #"Removed Other Columns"

Písanie natívnych dotazov

Ak máte špecifické požiadavky na transformáciu, môžete dosiahnuť lepší výkon pomocou natívneho dotazu napísaného v Dataverse SQL, ktorý je podmnožinou Transact-SQL. Natívny dotaz môžete napísať v:

  • Znížte počet riadkov (použitím WHERE klauzuly ).
  • Agregované údaje (použitím GROUP BY klauzuly a HAVING ).
  • Spájať tabuľky konkrétnym spôsobom (pomocou syntaxe JOIN alebo APPLY ).
  • Používajte podporované funkcie SQL.

Ďalšie informácie nájdete v časti:

Vykonanie natívnych dotazov pomocou možnosti EnableFolding

Power Query spustí natívny dotaz pomocou Value.NativeQuery funkcie .

Pri použití tejto funkcie je dôležité pridať EnableFolding=true možnosť, aby sa dotazy postupne posúvali späť do služby Dataverse. Natívny dotaz sa nezbalí, pokiaľ sa táto možnosť nepridá. Povolenie tejto možnosti môže mať za následok významné vylepšenia výkonu – v niektorých prípadoch až o 97 percent rýchlejšie.

Uvažujme o nasledujúcom dotaze, ktorý používa natívny dotaz na zdroj vybratých stĺpcov z tabuľky konta . Natívny dotaz sa spustí postupne, pretože EnableFolding=true je možnosť nastavená.

let
    Source = CommonDataService.Database("demo.crm.dynamics.com"),
    dbo_account = Value.NativeQuery(
        Source,
        "SELECT A.accountid, A.name FROM account A"
        ,null
        ,[EnableFolding=true]
    )
in
     dbo_account

Pri načítavaní podmnožiny údajov z veľkého objemu údajov môžete očakávať najväčšie zlepšenie výkonu.

Tip

Zlepšenie výkonu môže závisieť aj od toho, ako služba Power BI dotazuje zdrojovú databázu. Napríklad mierka, ktorá používa COUNTDISTINCT funkciu DAX, nepreukázala takmer žiadne zlepšenie s tipom postupného posúvania ani bez ním. Keď bol vzorec mierky prepísaný tak, aby používal SUMX funkciu DAX, postupný dotaz, ktorého výsledkom je 97-percentné zlepšenie oproti rovnakému dotazu bez tipu.

Ďalšie informácie nájdete v téme Value.NativeQuery. (Táto EnableFolding možnosť nie je zdokumentovaná, pretože je špecifická len pre určité zdroje údajov.)

Urýchlenie fázy hodnotenia

Ak používate konektor Dataverse (predtým známy ako Common Data Service), môžete pridať CreateNavigationProperties=false možnosť na urýchlenie fázy vyhodnotenia importu údajov.

Fáza vyhodnotenia importu údajov sa opakuje prostredníctvom metaúdajov ich zdroja, aby sa určili všetky možné vzťahy medzi tabuľkami. Tieto metaúdaje môžu byť rozsiahle, najmä pre funkciu Dataverse. Pridaním tejto možnosti do dotazu povolíte doplnku Power Query vedieť, že dané vzťahy nemáte v úmysle používať. Táto možnosť umožňuje aplikácii Power BI Desktop preskočiť túto fázu obnovovania a prejsť na načítanie údajov.

Poznámka

Túto možnosť nepoužívajte, ak dotaz závisí od stĺpcov rozbalených vzťahov.

Zoberme si príklad, ktorý načíta údaje z tabuľky konta . Obsahuje tri stĺpce týkajúce sa územia: territory, territoryid a territoryidname.

Snímka obrazovky znázorňujúca ukážku údajov pre tabuľku konta s troma stĺpcami územia.

Keď nastavíte CreateNavigationProperties=false možnosť, stĺpce territoryid a territoryidname zostanú, ale stĺpec územie , ktorý predstavuje stĺpec vzťahu (zobrazuje prepojenia Hodnota ), bude vylúčený. Je dôležité vedieť, že stĺpce vzťahov Power Query sú odlišným konceptom ako modelové vzťahy, ktoré šíria filtre medzi tabuľkami modelov.

Zvážte nasledujúci dotaz, ktorý používa CreateNavigationProperties=false možnosť (v kroku Source ) na urýchlenie fázy vyhodnocovania importu údajov.

let
    Source = CommonDataService.Database("demo.crm.dynamics.com"
        ,[CreateNavigationProperties=false]),
    dbo_account = Source{[Schema="dbo", Item="account"]}[Data],
    #"Removed Other Columns" = Table.SelectColumns(dbo_account, {"accountid", "name", "address1_stateorprovince", "address1_country", "industrycodename", "territoryidname"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns", {{"name", "Account Name"}, {"address1_country", "Country"}, {"address1_stateorprovince", "State or Province"}, {"territoryidname", "Territory"}, {"industrycodename", "Industry"}})
in
    #"Renamed Columns"

Pri použití tejto možnosti sa pravdepodobne vyskytne významné zlepšenie výkonu, keď tabuľka Dataverse obsahuje veľa vzťahov s inými tabuľkami. Keďže napríklad tabuľka SystemUser súvisí so každou inou tabuľkou v databáze, obnovenie výkonu tejto tabuľky by bolo výhodné nastavením CreateNavigationProperties=false možnosti.

Poznámka

Táto možnosť môže zvýšiť výkon obnovovania údajov tabuliek importu alebo duálnych tabuliek režimu úložiska vrátane procesu použitia zmien okna Editor Power Query. Zvýši sa tým výkon interaktívneho krížového filtrovania tabuliek režimu úložiska DirectQuery.

Riešenie prázdnych označení výberu

Ak zistíte, že označenia výberu Dataverse sú v službe Power BI prázdne, môže to byť spôsobené tým, že označenia neboli publikované v koncovom bode Služby Tabular Data Stream (TDS).

V tomto prípade otvorte portál dataverse Maker, prejdite do oblasti Riešenia a potom vyberte položku Publikovať všetky prispôsobenia. Proces publikovania aktualizuje koncový bod TDS najnovšími metaúdajmi, čím sa označenia možností sprístupnia v službe Power BI.

Dataverse obsahuje možnosť synchronizovať tabuľky so službou Azure Data Lake Storage (ADLS) a potom sa k týmto údajom pripojiť prostredníctvom pracovného priestoru Azure Synapse. S minimálnym úsilím môžete nastaviť prepojenie služby Azure Synapse Link na vyplnenie údajov Dataverse do služby Azure Synapse a umožniť dátovým tímom zisťovať hlbšie prehľady.

Azure Synapse Link umožňuje spojitú replikáciu údajov a metaúdajov z dataverse do dátového jazera. Poskytuje tiež vstavaný fond SQL bez serverov ako pohodlný zdroj údajov pre dotazy Služby Power BI.

Silné stránky tohto prístupu sú významné. Zákazníci získajú možnosť spúšťať analýzy, analytické nástroje a vyťaženia strojového učenia v rámci údajov Dataverse pomocou rôznych pokročilých služieb. Medzi rozšírené služby patrí Apache Spark, Power BI, Azure Data Factory, Azure Databricks a Azure strojové učenie.

Ak chcete vytvoriť prepojenie Azure Synapse pre službu Dataverse, budete potrebovať nasledujúce predpoklady.

  • Prístup správcu systému k prostrediu Dataverse.
  • Pre Azure Data Lake Storage:
  • Pre pracovný priestor Synapse:
    • Musíte mať prístup do pracovného priestoru Synapse a musí vám byť priradený prístup Synapse Spravovanie istrator. Ďalšie informácie nájdete v téme Vstavané roly a rozsahy roly a rozsahy služby Synapse RBAC.
    • Pracovný priestor sa musí nachádzať v tej istej oblasti ako konto úložiska ADLS Gen2.

Nastavenie zahŕňa prihlásenie do služby Power Apps a pripojenie služby Dataverse k pracovnému priestoru Azure Synapse. Sprievodca vám umožňuje vytvoriť nové prepojenie výberom konta úložiska a tabuliek, ktoré sa majú exportovať. Azure Synapse Link potom skopíruje údaje do úložiska ADLS Gen2 a automaticky vytvorí zobrazenia vo vstavanom fonde SQL bez serverov Azure Synapse. Potom sa k týmto zobrazeniam môžete pripojiť a vytvoriť model služby Power BI.

Diagram znázorňujúci prepojenie Azure Synapse Link na kopírovanie údajov do úložiska ADLS Gen2 a pripojenie služby Power BI k službe Azure Synapse Analytics.

Tip

Kompletnú dokumentáciu o vytváraní, spravovaní a monitorovaní služby Azure Synapse Link nájdete v téme Vytvorenie prepojenia služby Azure Synapse pre službu Dataverse s pracovným priestorom Azure Synapse.

Vytvorenie druhej bezserverovej databázy SQL

Môžete vytvoriť druhú bezserverovú databázu SQL a použiť ju na pridanie vlastných zobrazení zostavy. Týmto spôsobom môžete tvorcovi služby Power BI prezentovať zjednodušenú množinu údajov, ktorá im umožní vytvoriť model na základe užitočných a relevantných údajov. Nová bezserverová databáza SQL sa stane primárnym zdrojovým pripojením tvorcu a priateľským zobrazením údajov pochádzajúceho z úlomku data lake.

Diagram znázorňujúci prepojenie Azure Synapse Link na kopírovanie údajov do úložiska ADLS Gen2 a pripojenie služby Power BI k službe Azure Synapse Analytics. Obsahuje vlastné zobrazenia zostavy.

Tento prístup prináša údaje do služby Power BI, ktorá je zameraná, obohatená a filtrovaná.

V pracovnom priestore Azure Synapse môžete vytvoriť bezserverovú databázu SQL pomocou služby Azure Synapse Studio. Ako typ databázy SQL vyberte možnosť Bezserverové a zadajte názov databázy. Power Query sa môže pripojiť k tejto databáze pripojením ku koncovému bodu SQL pracovného priestoru.

Vytvorenie vlastných zobrazení

Môžete vytvoriť vlastné zobrazenia, ktoré zalamujú bezserverové dotazy fondu SQL. Tieto zobrazenia budú slúžiť ako jednoduché a čisté zdroje údajov, ku ktorým sa Power BI pripája. Zobrazenia by mali:

  • Zahrňte označenia priradené k poliam výberu.
  • Znížte zložitosť zahrnutím iba stĺpcov požadovaných na modelovanie údajov.
  • Odfiltrovanie nepotrebných riadkov, ako sú napríklad neaktívne záznamy.

Zvážte nasledujúce zobrazenie, ktoré načíta údaje kampane.

CREATE VIEW [VW_Campaign]
AS
    SELECT
        [base].[campaignid] AS [CampaignID]
        [base].[name] AS [Campaign],
        [campaign_status].[LocalizedLabel] AS [Status],
        [campaign_typecode].[LocalizedLabel] AS [Type Code]
    FROM
        [<MySynapseLinkDB>].[dbo].[campaign] AS [base]
        LEFT OUTER JOIN [<MySynapseLinkDB>].[dbo].[OptionsetMetadata] AS [campaign_typecode]
            ON [base].[typecode] = [campaign_typecode].[option]
               AND [campaign_typecode].[LocalizedLabelLanguageCode] = 1033
               AND [campaign_typecode].[EntityName] = 'campaign'
               AND [campaign_typecode].[OptionSetName] = 'typecode'
        LEFT OUTER JOIN [<MySynapseLinkDB>].[dbo].[StatusMetadata] AS [campaign_status]
            ON [base].[statuscode] = [campaign_Status].[status]
               AND [campaign_status].[LocalizedLabelLanguageCode] = 1033
               AND [campaign_status].[EntityName] = 'campaign'
    WHERE
        [base].[statecode] = 0;

Všimnite si, že zobrazenie obsahuje iba štyri stĺpce, pričom každý z nich je aliasovaný s popisným názvom. Existuje aj klauzula WHERE na vrátenie iba potrebných riadkov, v tomto prípade aktívnych kampaní. Zobrazenie tiež dotazuje tabuľku kampane, ktorá je spojená s tabuľkami OptionsetMetadata a StatusMetadata , ktoré načítajú označenia výberu.

Tip

Ďalšie informácie o tom, ako načítať metaúdaje, nájdete v téme Označenia výberu prístupu priamo z prepojenia azure Synapse pre Dataverse.

Dotazovanie vhodných tabuliek

Azure Synapse Link pre Dataverse zaisťuje, že údaje sa nepretržite synchronizujú s údajmi v úlomku data lake. V prípade aktivity s vysokým používaním môžu simultánne zápisy a čítanie vytvárať zámky, ktoré spôsobia zlyhanie dotazov. Na zabezpečenie spoľahlivosti pri načítavaní údajov sa v službe Azure Synapse synchronizujú dve verzie tabuľkových údajov.

  • Údaje takmer v reálnom čase: Poskytuje kópiu údajov synchronizovanú z Dataverse cez Azure Synapse Link efektívnym spôsobom tým, že zistí, ktoré údaje sa zmenili, odkedy boli pôvodne extrahované alebo naposledy synchronizované.
  • Údaje snímok: poskytuje kópiu údajov takmer v reálnom čase, ktorá sa aktualizuje v pravidelných intervaloch (v tomto prípade každú hodinu). Názvy tabuliek snímok údajov sú _partitioned pripojené k ich názvu.

Ak očakávate, že veľké množstvo operácií čítania a zapisovania sa bude vykonávať súčasne, načítajte údaje z tabuliek snímok, aby sa predišlo zlyhaniam dotazov.

Ďalšie informácie nájdete v téme Prístup k údajom takmer v reálnom čase a snímky údajov iba na čítanie.

Pripojenie do služby Synapse Analytics

Ak chcete dotazovať fond SQL bezserverovej služby Azure Synapse, budete potrebovať jej koncový bod SQL pracovného priestoru. Koncový bod môžete načítať zo Synapse Studia otvorením vlastností fondu SQL bezserverovej verzie.

V aplikácii Power BI Desktop sa môžete pripojiť k službe Azure Synapse pomocou konektora SQL služby Azure Synapse Analytics. Po zobrazení výzvy na server zadajte koncový bod SQL pracovného priestoru.

Snímka obrazovky znázorňuje okno Databáza SQL Servera, ktoré sa používa na nastavenie hodnoty servera.

Dôležité informácie týkajúce sa režimu DirectQuery

Existuje mnoho prípadov použitia, kedy používanie režimu úložiska DirectQuery môže vyriešiť vaše požiadavky. Používanie režimu DirectQuery však môže mať negatívny vplyv na výkon zostáv služby Power BI. Zostava, ktorá používa pripojenie DirectQuery k službe Dataverse, nebude tak rýchla ako zostava, ktorá používa model importu. Vo všeobecnosti by ste mali údaje do služby Power BI importovať vždy, keď je to možné.

Pri práci s režimom DirectQuery odporúčame zvážiť témy v tejto časti.

Ďalšie informácie o určovaní toho, kedy pracovať s režimom úložiska DirectQuery, nájdete v téme Výber architektúry modelu Power BI.

Používanie tabuliek dimenzií v duálnom režime úložiska

Tabuľka s duálnym režimom úložiska je nastavená tak, aby používala režim úložiska importu aj režim úložiska DirectQuery. V čase dotazu určuje Power BI najúčinnejší režim používania. Vždy, keď je to možné, sa služba Power BI pokúsi splniť dotazy použitím importovaných údajov, pretože je rýchlejšie.

Ak je to vhodné, mali by ste zvážiť nastavenie tabuliek dimenzií do duálneho režimu úložiska. Týmto spôsobom sa vizuály rýchlych filtrov a zoznamy kariet, ktoré sú často založené na stĺpcoch tabuľky dimenzií, vykreslia rýchlejšie, pretože budú dotazované z importovaných údajov.

Dôležité

Keď tabuľka dimenzií musí zdediť model zabezpečenia Dataverse, nie je vhodné používať duálny režim úložiska.

Tabuľky faktov, ktoré zvyčajne ukladajú veľké objemy údajov, by mali zostať v tabuľkách režimu úložiska DirectQuery. Budú filtrované podľa súvisiacich tabuliek dimenzií v duálnom režime úložiska, ktoré sa môžu spojiť do tabuľky faktov a dosiahnuť tak efektívne filtrovanie a zoskupenie.

Zvážte nasledujúci návrh dátového modelu. Tri tabuľky dimenzií, Vlastník, Konto a Kampaň majú horné pruhované orámovanie, čo znamená, že sú nastavené na duálny režim úložiska.

Snímka obrazovky znázorňuje diagram modelu s tromi tabuľkami duálneho režimu úložiska, ako je popísané v predchádzajúcom odseku.

Ďalšie informácie o režimoch úložiska tabuliek vrátane duálneho úložiska nájdete v téme Spravovanie režimu úložiska v aplikácii Power BI Desktop.

Povolenie jediného prihlásenia

Pri publikovaní modelu DirectQuery do služba Power BI môžete pre používateľov zostavy použiť sémantické nastavenia modelu a povoliť jediné prihlásenie (SSO) pomocou ID Microsoft Entra (predtým známe ako Azure Active Directory) OAuth2. Túto možnosť by ste mali povoliť, keď sa musia dotazy Dataverse spustiť v kontexte zabezpečenia používateľa zostavy.

Keď je povolená možnosť jediného prihlásenia, Power BI odošle overené poverenia používateľa zostavy Microsoft Entra v dotazoch do služby Dataverse. Táto možnosť službe Power BI umožňuje ctiť nastavení zabezpečenia, ktoré sú nastavené v zdroji údajov.

Snímka obrazovky znázorňuje okno poverení sémantického modelu s povolenou možnosťou jediného prihlásenia.

Ďalšie informácie nájdete v téme Jediné prihlásenie (SSO) pre zdroje DirectQuery.

Replikovanie filtrov Moje v doplnku Power Query

Pri používaní služby Microsoft Dynamics 365 Customer Engagement (CE) a modelom riadenej služby Power Apps vytvorenej na platforme Dataverse môžete vytvárať zobrazenia, ktoré zobrazujú iba záznamy, v ktorých sa pole mena používateľa, napríklad Vlastník, rovná aktuálnemu používateľovi. Môžete napríklad vytvoriť zobrazenia s názvami Moje otvorené príležitosti, Moje aktívne prípady a iné.

Zoberme si príklad toho, ako zobrazenie Moje aktívne kontá v Dynamics 365 obsahuje filter, v ktorom sa vlastník rovná aktuálnemu používateľovi.

Snímka obrazovky znázorňuje filtre nastavené pre zobrazenie Moje aktívne kontá. Podmienka filtra je vlastníkom rovná sa aktuálnemu používateľovi.

Tento výsledok môžete reprodukovať v Power Query pomocou natívneho dotazu, ktorý vloží CURRENT_USER token.

Pozrite si nasledujúci príklad, ktorý zobrazuje natívny dotaz, ktorý vráti kontá aktuálneho používateľa. V klauzule WHERE si všimnite, že stĺpec ownerid je filtrovaný podľa tokenu CURRENT_USER .

let
    Source = CommonDataService.Database("demo.crm.dynamics.com", [CreateNavigationProperties=false],
    dbo_account = Value.NativeQuery(Source, "
        SELECT
            accountid, accountnumber, ownerid, address1_city, address1_stateorprovince, address1_country
        FROM account
        WHERE statecode = 0
            AND ownerid = CURRENT_USER
    ", null, [EnableFolding]=true])
in
    dbo_account

Keď model publikujete do služba Power BI, musíte povoliť jediné prihlásenie (SSO), aby služba Power BI odosielala overené poverenia používateľa zostavy služby Microsoft Entra do služby Dataverse.

Vytváranie doplnkových modelov importu

Môžete vytvoriť model DirectQuery, ktorý vynúti povolenia Dataverse s vedomím , že výkon bude pomalý. Potom môžete tento model doplniť modelmi importu, ktoré sa zameriavajú na konkrétne predmety alebo cieľové skupiny, ktoré by mohli vynútiť povolenia zabezpečenia na úrovni riadkov.

Model importu by napríklad mohol poskytnúť prístup ku všetkým údajom Dataverse, ale nevynucovať žiadne povolenia. Tento model bude vhodný pre vedúcich pracovníkov, ktorí už majú prístup ku všetkým údajom Dataverse.

Ak aplikácia Dataverse v ďalšom príklade vynúti povolenia na základe rolí podľa oblasti predaja, môžete vytvoriť jeden model importu a replikovať tieto povolenia pomocou zabezpečenia na úrovni riadkov. Prípadne môžete vytvoriť model pre každú oblasť predaja. Potom by ste mohli udeliť povolenie na čítanie daným modelom (sémantické modely) obchodníkom každej oblasti. Ak chcete uľahčiť vytváranie týchto regionálnych modelov, môžete použiť parametre a šablóny zostáv. Ďalšie informácie nájdete v téme Vytváranie a používanie šablón zostáv v aplikácii Power BI Desktop.

Ďalšie informácie súvisiace s týmto článkom nájdete v nasledujúcich zdrojoch.