Power BI modellezési útmutató a Power Platformhoz
A Microsoft Dataverse számos microsoftos üzleti alkalmazás termékének szabványos adatplatformja, beleértve a Dynamics 365 Customer Engagement és a Power Apps vászonalapú alkalmazásait, valamint a Dynamics 365 Customer Voice (korábbi nevén Microsoft Forms Pro), a Power Automate-jóváhagyások, a Power Apps-portálok és mások számára.
Ez a cikk útmutatást nyújt a Dataverse-hez csatlakozó Power BI-adatmodellek létrehozásához. Ismerteti a Dataverse-séma és az optimalizált Power BI-séma közötti különbségeket, és útmutatást nyújt az üzleti alkalmazás adatainak láthatóságának növeléséhez a Power BI-ban.
A könnyű beállítás, a gyors üzembe helyezés és a széles körű bevezetés miatt a Dataverse egyre nagyobb mennyiségű adatot tárol és kezel a szervezetek környezeteiben. Ez azt jelenti, hogy még nagyobb igény és lehetőség van az elemzések integrálására ezekkel a folyamatokkal. A lehetőségek közé tartoznak a következők:
- Jelentés az összes Dataverse-adatról, amely túllép a beépített diagramok korlátain.
- Egyszerű hozzáférést biztosít a releváns, környezetfüggően szűrt jelentésekhez egy adott rekordon belül.
- A Dataverse-adatok értékének növelése külső adatokkal való integrálásával.
- Használja ki a Power BI beépített mesterséges intelligenciáját (AI) anélkül, hogy összetett kódot kellene írnia.
- A Power Platform-megoldások használatának növelése a hasznosságuk és értékük növelésével.
- Adja meg az alkalmazás adatainak értékét az üzleti döntéshozóknak.
Csatlakozás Power BI-t a Dataverse-be
A Power BI Dataverse-be való Csatlakozás magában foglalja egy Power BI-adatmodell létrehozását. Power BI-modell létrehozásához három módszer közül választhat.
- Dataverse-adatok importálása a Dataverse-összekötő használatával: Ez a metódus gyorsítótárazza (tárolja) a Dataverse-adatokat egy Power BI-modellben. A memórián belüli lekérdezésnek köszönhetően gyors teljesítményt nyújt. Emellett tervezési rugalmasságot biztosít a modellezők számára, lehetővé téve számukra, hogy más forrásokból származó adatokat integráljanak. Ezen erősségek miatt az adatok importálása az alapértelmezett mód a modell Power BI Desktopban való létrehozásakor.
- Dataverse-adatok importálása az Azure Synapse Link használatával: Ez a módszer az importálási módszer egyik változata, mivel a Power BI-modellben is gyorsítótárazza az adatokat, de ezt az Azure Synapse Analyticshez való csatlakozással teszi. Az Azure Synapse Link for Dataverse használatával a Dataverse-táblák folyamatosan replikálódnak az Azure Synapse vagy az Azure Data Lake Storage (ADLS) Gen2 szolgáltatásba. Ez a módszer több százezer vagy akár több millió rekord jelentésére szolgál Dataverse-környezetekben.
- DirectQuery-kapcsolat létrehozása a Dataverse-összekötő használatával: Ez a módszer az adatok importálásának alternatíva. A DirectQuery-modellek csak a modell struktúráját meghatározó metaadatokból állnak. Amikor egy felhasználó megnyitja a jelentést, a Power BI natív lekérdezéseket küld a Dataverse-nek az adatok lekéréséhez. Érdemes lehet DirectQuery-modellt létrehozni, ha a jelentéseknek közel valós idejű Dataverse-adatokat kell megjeleníteniük, vagy amikor a Dataversenek szerepköralapú biztonságot kell kikényszerítenie, hogy a felhasználók csak a hozzáféréshez szükséges jogosultságokkal rendelkező adatokat láthassák.
Fontos
Bár a DirectQuery-modell akkor lehet jó alternatíva, ha közel valós idejű jelentéskészítésre vagy a Dataverse biztonságának érvényesítésére van szükség egy jelentésben, ez lassú teljesítményt eredményezhet a jelentés esetében.
A Cikk későbbi részében megismerheti a DirectQuery szempontjait.
A Power BI-modell megfelelő módszerének meghatározásához fontolja meg a következő szempontokat:
- Lekérdezési teljesítmény
- Adatmennyiség
- Adatkésés
- Szerepköralapú biztonság
- A beállítás összetettsége
Tipp.
A modell-keretrendszerekről (importálás, DirectQuery vagy összetett), azok előnyeiről és korlátairól, valamint a Power BI-adatmodellek optimalizálását segítő funkciókról a Power BI-modell keretrendszerének kiválasztása című témakörben olvashat részletesen.
Lekérdezési teljesítmény
Az importálási modelleknek küldött lekérdezések gyorsabbak, mint a DirectQuery-adatforrásokhoz küldött natív lekérdezések. Ennek az az oka, hogy az importált adatok gyorsítótárazva lesznek a memóriában, és elemzési lekérdezésekhez (szűrési, csoportosítási és összegzési műveletekhez) van optimalizálva.
Ezzel szemben a DirectQuery-modellek csak akkor kérnek le adatokat a forrásból, ha a felhasználó megnyitja a jelentést, ami másodperces késést eredményez a jelentés megjelenítésekor. Emellett a jelentés felhasználói interakciói megkövetelik, hogy a Power BI újra lekérje a forrást, ami tovább csökkenti a válaszképességet.
Adatmennyiség
Importálási modell fejlesztésekor törekednie kell a modellbe betöltött adatok minimalizálására. Ez különösen igaz a nagy modellekre, vagy olyan modellekre, amelyek várhatóan idővel nagyok lesznek. További információ: Adatcsökkentési technikák importálási modellezéshez.
A Dataverse-hez való DirectQuery-kapcsolat akkor jó választás, ha a jelentés lekérdezési eredménye nem nagy. A nagy lekérdezési eredmények több mint 20 000 sort jelentenek a jelentés forrástábláiban, vagy a szűrők alkalmazása után visszaadott eredmény több mint 20 000 sor. Ebben az esetben a Dataverse-összekötő használatával hozhat létre Power BI-jelentést.
Feljegyzés
A 20 000 sorméret nem korlát. Minden adatforrás-lekérdezésnek azonban 10 percen belül eredményt kell adnia. A cikk későbbi részében megismerheti, hogyan dolgozhat ezen korlátozásokon belül, és megismerheti a Dataverse DirectQuery egyéb tervezési szempontjait.
A nagyobb szemantikai modellek (korábbi nevén adathalmazok) teljesítményét a Dataverse-összekötővel javíthatja az adatok adatmodellbe való importálásához.
Az Azure Synapse Link for Dataverse használata még nagyobb szemantikai modelleket is igénybe vehet – több százezer vagy akár több millió sorból álló sorokkal. Ez a módszer beállít egy folyamatban lévő felügyelt folyamatot, amely a Dataverse-adatokat CSV- vagy Parquet-fájlokként másolja az ADLS Gen2-be. A Power BI ezután lekérdezhet egy Kiszolgáló nélküli Azure Synapse SQL-készletet egy importálási modell betöltéséhez.
Adatkésés
Amikor a Dataverse-adatok gyorsan változnak, és a jelentés felhasználóinak naprakész adatokat kell látniuk, a DirectQuery-modell közel valós idejű lekérdezési eredményeket képes nyújtani.
Tipp.
Létrehozhat egy Power BI-jelentést, amely automatikus oldalfrissítéssel jeleníti meg a valós idejű frissítéseket, de csak akkor, ha a jelentés DirectQuery-modellhez csatlakozik.
Az adatmodellek importálásának végre kell hajtania egy adatfrissítést, hogy lehetővé tegye a legutóbbi adatváltozások jelentését. Ne feledje, hogy a napi ütemezett adatfrissítési műveletek száma korlátozott. Egy megosztott kapacitáson naponta legfeljebb nyolc frissítést ütemezhet. Prémium szintű vagy Microsoft Fabric-kapacitás esetén naponta legfeljebb 48 frissítést ütemezhet, ami 15 perces frissítési gyakoriságot érhet el.
Fontos
Ez a cikk időnként a Power BI Premiumra vagy annak kapacitás-előfizetésére (P termékváltozatokra) hivatkozik. Vegye figyelembe, hogy a Microsoft jelenleg összevonja a vásárlási lehetőségeket, és visszavonul a Power BI Premium kapacitásonkénti termékváltozataitól. Az új és a meglévő ügyfeleknek érdemes megfontolni a Fabric-kapacitás-előfizetések (F SKU-k) megvásárlását.
További információ: Fontos frissítés a Power BI Premium licenceléséhez és a Power BI Premiumhoz – gyakori kérdések.
A növekményes frissítéssel gyorsabb és közel valós idejű teljesítményt érhet el (csak a Premium vagy a Fabric használatával érhető el).
Szerepköralapú biztonság
Ha szükség van a szerepköralapú biztonság kikényszerítésére, az közvetlenül befolyásolhatja a Power BI-modell keretrendszerének választását.
A Dataverse összetett szerepköralapú biztonságot kényszeríthet ki adott rekordok adott felhasználókhoz való hozzáférésének szabályozásához. Előfordulhat például, hogy egy értékesítő csak az értékesítési lehetőségeket látja, míg az értékesítési vezető az összes értékesítő összes értékesítési lehetőségét láthatja. Az összetettség szintjét a szervezet igényeinek megfelelően szabhatja testre.
A Dataverse-alapú DirectQuery-modellek a jelentésfelhasználó biztonsági környezetével csatlakozhatnak. Így a jelentés felhasználója csak azokat az adatokat látja, amelyekhez hozzáférésük van. Ez a megközelítés leegyszerűsítheti a jelentéstervet, és elfogadható teljesítményt biztosít.
A jobb teljesítmény érdekében létrehozhat egy importálási modellt, amely a Dataverse-hez csatlakozik. Ebben az esetben szükség esetén sorszintű biztonságot (RLS) is hozzáadhat a modellhez.
Feljegyzés
A Dataverse szerepköralapú biztonságának replikálása a Power BI RLS-ként nehéz lehet, különösen akkor, ha a Dataverse összetett engedélyeket kényszerít ki. Emellett szükség lehet folyamatos felügyeletre, hogy a Power BI-engedélyek szinkronban maradjanak a Dataverse-engedélyekkel.
A Power BI RLS-ről további információt a Power BI Desktop sorszintű biztonsági (RLS) útmutatójában talál.
A beállítás összetettsége
A Dataverse-összekötő használata a Power BI-ban – akár importáláshoz, akár DirectQuery-modellekhez – egyszerű, és nem igényel speciális szoftver- vagy emelt szintű Dataverse-engedélyeket. Ez előnyt jelent az első lépésekben érintett szervezetek vagy részlegek számára.
Az Azure Synapse Link beállításhoz rendszergazdai hozzáférés szükséges a Dataverse-hez és bizonyos Azure-engedélyekhez. Ezek az Azure-engedélyek szükségesek a tárfiók és a Synapse-munkaterület beállításához.
Ajánlott eljárások
Ez a szakasz a Dataverse-hez csatlakozó Power BI-modellek létrehozásakor figyelembe veendő tervezési mintákat (és antimintákat) ismerteti. Ezek közül a minták közül csak néhány egyedi a Dataverse-ben, de általában gyakori kihívást jelentenek a Dataverse-készítők számára a Power BI-jelentések készítésekor.
Fókusz egy adott használati esetre
Ahelyett, hogy mindent megpróbálna megoldani, koncentráljon az adott használati esetre.
Ez a javaslat valószínűleg a leggyakoribb és legkönnyebben a legnagyobb kihívást jelentő anti-minta elkerülése érdekében. Kihívást jelent egyetlen olyan modell létrehozása, amely minden önkiszolgáló jelentéskészítési igényt kielégít. A valóság az, hogy a sikeres modellek egy központi ténykészlettel kapcsolatos kérdések megválaszolására épülnek egyetlen alapvető témában. Bár ez kezdetben úgy tűnhet, hogy korlátozza a modellt, ez valójában lehetővé teszi, mert a modellt finomhangolhatja és optimalizálhatja a témában felmerülő kérdések megválaszolásához.
Annak érdekében, hogy biztosan tisztában legyen a modell céljával, tegye fel magának a következő kérdéseket.
- Melyik témakört támogatja ez a modell?
- Ki a jelentések célközönsége?
- Milyen kérdésekre próbálnak választ adni a jelentések?
- Mi a minimális működőképes szemantikai modell?
Ne egyesítsen több témakörterületet egyetlen modellben, csak azért, mert a jelentésfelhasználónak több témakörterületre vonatkozó kérdései vannak, amelyeket egyetlen jelentéssel szeretne megoldani. Ha több jelentésre bontja ki a jelentést, amelyek mindegyike egy másik témakörre (vagy ténytáblára) összpontosít, sokkal hatékonyabb, skálázható és kezelhető modelleket hozhat létre.
Csillagséma tervezése
Előfordulhat, hogy a Dataverse-sémát jól ismerő dataverse-fejlesztők és rendszergazdák is megpróbálják ugyanazt a sémát reprodukálni a Power BI-ban. Ez a megközelítés egy anti-minta, és ez valószínűleg a legnehezebb leküzdeni, mert csak úgy érzi, helyesen fenntartani a konzisztenciát.
A Dataverse, mint relációs modell, jól megfelel a céljának. Azonban nem elemzési modellként van kialakítva, amely elemzési jelentésekhez van optimalizálva. Az elemzési adatok modellezésének leggyakoribb mintája a csillagséma-kialakítás . A csillagséma a relációs adattárházak által széles körben alkalmazott, kiforrott modellezési megközelítés. A modellezőknek dimenzióként vagy tényként kell besorolniuk a modelltábláikat. A jelentések dimenziótáblaoszlopok használatával és ténytáblaoszlopok összegzésével szűrhetnek vagy csoportosíthatnak.
További információ: A csillagséma és a Power BI fontossága.
Power Query-lekérdezések optimalizálása
A Power Query összefésítési motorja arra törekszik, hogy amikor csak lehetséges, a hatékonyság érdekében hajtsa össze a lekérdezéseket. Olyan lekérdezés, amely a delegáltak összecsukható lekérdezési feldolgozását teszi lehetővé a forrásrendszer számára.
A forrásrendszernek, ebben az esetben a Dataverse-nek csak szűrt vagy összegzett eredményeket kell kézbesítenie a Power BI-nak. Az összecsukott lekérdezések gyakran jelentősen gyorsabbak és hatékonyabbak, mint a nem összecsukható lekérdezések.
A lekérdezések összecsukásával kapcsolatos további információkért tekintse meg a Power Query-lekérdezések összecsukását ismertető témakört.
Feljegyzés
A Power Query optimalizálása széles körű témakör. Ha jobban szeretné megismerni, hogy a Power Query mit tesz a Power Bi Desktopban a létrehozáskor és a modellfrissítési időpontban, tekintse meg a lekérdezésdiagnosztikát.
A lekérdezésoszlopok számának minimalizálása
Ha a Power Query használatával tölt be egy Dataverse-táblát, alapértelmezés szerint az összes sort és oszlopot lekéri. Ha például egy rendszerfelhasználó táblát kérdez le, az több mint 1000 oszlopot tartalmazhat. A metaadatok oszlopai más entitásokkal való kapcsolatokat, valamint a beállításfeliratok keresését tartalmazzák, így az oszlopok teljes száma a Dataverse-tábla összetettségével nő.
Az adatok minden oszlopból való lekérése anti-minta. Ez gyakran kiterjesztett adatfrissítési műveleteket eredményez, és a lekérdezés meghiúsul, ha az adatok visszaadásához szükséges idő meghaladja a 10 percet.
Javasoljuk, hogy csak a jelentések által igényelt oszlopokat kérje le. A jelentések fejlesztése során gyakran érdemes újraértékelni és újrabontásra állítani a lekérdezéseket, így azonosíthatja és eltávolíthatja a nem használt oszlopokat. További információ: Adatcsökkentési technikák importálási modellezéshez (Felesleges oszlopok eltávolítása).
Emellett győződjön meg arról, hogy a Power Query Remove oszlopait korán bevezeti, hogy az visszaálljon a forráshoz. Így a Power Query elkerülheti a forrásadatok kinyerésének szükségtelen munkáját, hogy később (egy kibontott lépésben) elvetje őket.
Ha több oszlopot tartalmazó táblával rendelkezik, előfordulhat, hogy nem praktikus a Power Query interaktív lekérdezésszerkesztőjének használata. Ebben az esetben egy üres lekérdezés létrehozásával kezdheti. Ezután a Speciális szerkesztő használatával beilleszthet egy kezdőpontot létrehozó minimális lekérdezésbe.
Fontolja meg az alábbi lekérdezést, amely a fióktábla két oszlopából kér le adatokat.
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"
Natív lekérdezések írása
Ha konkrét átalakítási követelményekkel rendelkezik, jobb teljesítményt érhet el a Dataverse SQL-ben írt natív lekérdezéssel, amely a Transact-SQL egy részhalmaza. Natív lekérdezést írhat a következőre:
- Csökkentse a sorok számát (záradék
WHERE
használatával). - Adatok összesítése (a záradékok és
HAVING
aGROUP BY
záradékok használatával). - Táblák összekapcsolása meghatározott módon (a szintaxis vagy
APPLY
aJOIN
szintaxis használatával). - Támogatott SQL-függvények használata.
További információkért lásd:
Natív lekérdezések végrehajtása az EnableFolding beállítással
A Power Query natív lekérdezést hajt végre a Value.NativeQuery
függvény használatával.
A függvény használatakor fontos hozzáadni azt a lehetőséget, amely biztosítja, hogy a EnableFolding=true
lekérdezések vissza legyenek hajtva a Dataverse szolgáltatásba. Egy natív lekérdezés csak akkor hajtható össze, ha hozzáadja ezt a beállítást. A beállítás engedélyezése jelentős teljesítménybeli javulást eredményezhet – bizonyos esetekben akár 97%-kal gyorsabb is lehet.
Fontolja meg a következő lekérdezést, amely natív lekérdezést használ a fióktábla kijelölt oszlopainak forrásához. A natív lekérdezés összecsukható, mert a EnableFolding=true
beállítás be van állítva.
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
A legnagyobb teljesítménybeli javulásra számíthat, ha nagy adatmennyiségből származó adathalmazt szeretne beolvasni.
Tipp.
A teljesítmény javítása attól is függ, hogy a Power BI hogyan lekérdezést futtat a forrásadatbázisban. A DAX-függvényt használó COUNTDISTINCT
mértékek például szinte semmilyen javulást nem mutattak az összecsukható mutatóval vagy anélkül. Amikor a mértékképletet átírták a SUMX
DAX-függvény használatára, a lekérdezés összecsukva 97%-os javulást eredményez ugyanazon lekérdezésen a tipp nélkül.
További információ: Value.NativeQuery. (A EnableFolding
beállítás nincs dokumentálva, mert csak bizonyos adatforrásokra vonatkozik.)
A kiértékelési szakasz felgyorsítása
Ha a Dataverse-összekötőt (korábbi nevén Common Data Service-t) használja, hozzáadhatja azt a CreateNavigationProperties=false
lehetőséget, hogy felgyorsítsa az adatimportálás kiértékelési szakaszát.
Az adatimportálás kiértékelési szakasza a forrás metaadatain keresztül iterál az összes lehetséges táblakapcsolat meghatározásához. Ez a metaadatok kiterjedtek lehetnek, különösen a Dataverse esetében. Ha hozzáadja ezt a lehetőséget a lekérdezéshez, tudatja a Power Queryvel, hogy nem kívánja használni ezeket a kapcsolatokat. Ezzel a beállítással a Power BI Desktop kihagyhatja a frissítés ezen szakaszát, és továbbléphet az adatok beolvasására.
Feljegyzés
Ne használja ezt a beállítást, ha a lekérdezés a kibontott kapcsolatoszlopoktól függ.
Vegyünk egy példát, amely adatokat kér le a fióktáblából . Három, a területhez kapcsolódó oszlopot tartalmaz: territory, territoryid és territoryidname.
A beállítás megadásakor CreateNavigationProperties=false
a territoryid és a territoryidname oszlopok megmaradnak, de a terület oszlop, amely egy kapcsolatoszlop (értékhivatkozásokat jelenít meg), ki lesz zárva. Fontos tisztában lenni azzal, hogy a Power Query kapcsolatoszlopai a modellkapcsolatok fogalmától eltérőek, amelyek a szűrőket a modelltáblák között propagálja.
Fontolja meg a következő lekérdezést, amely a (Forrás lépésben) lehetőséget CreateNavigationProperties=false
használja az adatimportálás kiértékelési szakaszának felgyorsításához.
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"
Ha ezt a lehetőséget használja, akkor valószínűleg jelentős teljesítménybeli javulást tapasztal, ha egy Dataverse-tábla sok kapcsolatot létesít más táblákkal. Mivel például a SystemUser tábla az adatbázis minden más táblájára vonatkozik, a tábla frissítési teljesítménye a beállítás beállításával CreateNavigationProperties=false
előnyös lehet.
Feljegyzés
Ez a beállítás javíthatja az importálási táblák vagy kettős tárolási módú táblák adatfrissítésének teljesítményét, beleértve Power Query-szerkesztő ablakmódosítások alkalmazását. Nem javítja a DirectQuery tárolási módú táblák interaktív keresztszűrésének teljesítményét.
Üres választási lehetőségek címkéinek feloldása
Ha azt észleli, hogy a Dataverse választási lehetőségek címkéi üresek a Power BI-ban, annak az lehet az oka, hogy a címkék nem lettek közzétéve a táblázatos adatfolyam (TDS) végponton.
Ebben az esetben nyissa meg a Dataverse Maker portált, lépjen a Megoldások területre, majd válassza az Összes testreszabás közzététele lehetőséget. A közzétételi folyamat frissíti a TDS-végpontot a legújabb metaadatokkal, így a beállításfeliratok elérhetővé válnak a Power BI számára.
Nagyobb szemantikai modellek az Azure Synapse Linkkel
A Dataverse lehetővé teszi táblák szinkronizálását az Azure Data Lake Storage-ba (ADLS), majd egy Azure Synapse-munkaterületen keresztül csatlakozhat ezekhez az adatokhoz. Minimális erőfeszítéssel beállíthatja az Azure Synapse Linket a Dataverse-adatok Azure Synapse-ba való feltöltéséhez, és lehetővé teszi az adatcsoportok számára a mélyebb elemzések feltárásához.
Az Azure Synapse Link lehetővé teszi az adatok és metaadatok folyamatos replikálását a Dataverse-ből a data lake-be. Emellett egy beépített kiszolgáló nélküli SQL-készletet is biztosít a Power BI-lekérdezések kényelmes adatforrásaként.
Ennek a megközelítésnek az erősségei jelentősek. Az ügyfelek különböző fejlett szolgáltatások használatával elemzéseket, üzleti intelligenciát és gépi tanulási számítási feladatokat futtathatnak a Dataverse-adatok között. A speciális szolgáltatások közé tartozik az Apache Spark, a Power BI, az Azure Data Factory, az Azure Databricks és az Azure Machine Tanulás.
Azure Synapse Link létrehozása a Dataverse-hez
Az Azure Synapse Link for Dataverse létrehozásához a következő előfeltételekre lesz szüksége.
- Rendszergazdai hozzáférés a Dataverse-környezethez.
- Az Azure Data Lake Storage esetében:
- Rendelkeznie kell egy tárfiókkal az ADLS Gen2-hez.
- A tárfiókhoz a Storage Blob Data Owner és a Storage Blob Data Közreműködői hozzáféréssel kell rendelkeznie. További információ: Szerepköralapú hozzáférés-vezérlés (Azure RBAC).
- A tárfióknak engedélyeznie kell a hierarchikus névteret.
- Javasoljuk, hogy a tárfiók írásvédett georedundáns tárolást (RA-GRS) használjon.
- A Synapse-munkaterület esetében:
- Hozzáféréssel kell rendelkeznie egy Synapse-munkaterülethez, és Hozzá kell rendelnie a Synapse Rendszergazda istrator-hozzáférést. További információ: Beépített Synapse RBAC-szerepkörök és hatókörök.
- A munkaterületnek ugyanabban a régióban kell lennie, mint az ADLS Gen2 tárfiókjának.
A beállítás magában foglalja a Power Appsbe való bejelentkezést és a Dataverse csatlakoztatását az Azure Synapse-munkaterülethez. A varázslóhoz hasonló felülettel új hivatkozást hozhat létre a tárfiók és az exportálni kívánt táblák kiválasztásával. Az Azure Synapse Link ezután adatokat másol az ADLS Gen2-tárolóba, és automatikusan létrehoz nézeteket a beépített Azure Synapse kiszolgáló nélküli SQL-készletben. Ezután power BI-modell létrehozásához csatlakozhat ezekhez a nézetekhez .
Tipp.
Az Azure Synapse Link létrehozásával, kezelésével és figyelésével kapcsolatos teljes dokumentációért lásd : Azure Synapse Link létrehozása a Dataverse-hez az Azure Synapse-munkaterülettel.
Második kiszolgáló nélküli SQL-adatbázis létrehozása
Létrehozhat egy második kiszolgáló nélküli SQL-adatbázist, és használhatja egyéni jelentésnézetek hozzáadására. Így egyszerűsített adatkészletet jeleníthet meg a Power BI létrehozójának, amely lehetővé teszi számukra, hogy hasznos és releváns adatokon alapuló modellt hozzanak létre. Az új kiszolgáló nélküli SQL-adatbázis lesz a létrehozó elsődleges forráskapcsolata, valamint a data lake-ből származó adatforrások barátságos ábrázolása.
Ez a megközelítés szűrt, bővített és szűrt adatokat biztosít a Power BI-nak.
Az Azure Synapse Studio használatával kiszolgáló nélküli SQL-adatbázist hozhat létre az Azure Synapse-munkaterületen. Válassza a Kiszolgáló nélküli lehetőséget az SQL-adatbázis típusaként, és adjon meg egy adatbázisnevet. A Power Query a munkaterületi SQL-végponthoz csatlakozva csatlakozhat ehhez az adatbázishoz.
Egyéni nézetek létrehozása
Létrehozhat olyan egyéni nézeteket, amelyek kiszolgáló nélküli SQL-készlet lekérdezéseit tördelik. Ezek a nézetek egyszerű, tiszta adatforrásokként szolgálnak, amelyekhez a Power BI csatlakozik. A nézeteknek a következőnek kell lennie:
- Adja meg a választási lehetőségek mezőihez társított címkéket.
- Az összetettség csökkentése csak az adatmodellezéshez szükséges oszlopok beleszámításával.
- Szűrje ki a szükségtelen sorokat, például az inaktív rekordokat.
Vegye figyelembe az alábbi nézetet, amely lekéri a kampányadatokat.
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;
Figyelje meg, hogy a nézet csak négy oszlopot tartalmaz, amelyek mindegyike rövid névvel van elnevezve. Van egy WHERE
záradék is, amely csak a szükséges sorokat adja vissza, ebben az esetben az aktív kampányokat. A nézet lekérdezi az OptionsetMetadata és StatusMetadata táblákhoz csatlakoztatott kampánytáblát is, amely lekéri a választási lehetőségek címkéjét.
Tipp.
További információ a metaadatok lekéréséről: Access választási lehetőségek címkéi közvetlenül az Azure Synapse Link for Dataverse-ből.
Megfelelő táblák lekérdezése
Az Azure Synapse Link for Dataverse biztosítja az adatok folyamatos szinkronizálását a data lake-ben lévő adatokkal. A nagy kihasználtságú tevékenységek esetén az egyidejű írások és olvasások olyan zárolásokat hozhatnak létre, amelyek a lekérdezések sikertelenségéhez vezetnek. Az adatok lekérésének megbízhatósága érdekében a rendszer szinkronizálja a táblaadatok két verzióját az Azure Synapse-ban.
- Közel valós idejű adatok: A Dataverse-ből az Azure Synapse Linken keresztül szinkronizált adatok másolatát biztosítja hatékony módon, észlelve, hogy milyen adatok változtak az adatok első kinyerése vagy legutóbbi szinkronizálása óta.
- Pillanatkép-adatok: Közel valós idejű adatok írásvédett másolatát biztosítja, amelyek rendszeres időközönként (ebben az esetben óránként) frissülnek. A pillanatkép-adattáblák neve _partitioned hozzáfűzve a nevükhöz.
Ha arra számít, hogy nagy mennyiségű olvasási és írási művelet lesz egyszerre végrehajtva, a lekérdezési hibák elkerülése érdekében kérje le az adatokat a pillanatképtáblákból.
További információért tekintse meg a közel valós idejű adatok és írásvédett pillanatképadatok elérésével kapcsolatos témakört.
Csatlakozás a Synapse Analyticsbe
Az Azure Synapse kiszolgáló nélküli SQL-készletének lekérdezéséhez szüksége lesz a munkaterület SQL-végpontjára. A végpontot lekérheti a Synapse Studióból a kiszolgáló nélküli SQL-készlet tulajdonságainak megnyitásával.
A Power BI Desktopban az Azure Synapse Analytics SQL-összekötőjével csatlakozhat az Azure Synapse-hez. Amikor a rendszer kéri a kiszolgálót, adja meg a munkaterület SQL-végpontot.
A DirectQuery szempontjai
A DirectQuery tárolási mód használata sok esetben meg tudja oldani a követelményeket. A DirectQuery használata azonban negatívan befolyásolhatja a Power BI-jelentések teljesítményét. A Dataverse-hez DirectQuery-kapcsolatot használó jelentések nem lesznek olyan gyorsak, mint egy importálási modellt használó jelentés. Általában mindenképpen importálnia kell adatokat a Power BI-ba, amikor csak lehetséges.
Javasoljuk, hogy a DirectQuery használatakor fontolja meg az ebben a szakaszban szereplő témaköröket.
A DirectQuery tárolási móddal végzett munka időpontjának meghatározásáról további információt a Power BI-modell keretrendszerének kiválasztása című témakörben talál.
Kettős tárolási módú dimenziótáblák használata
A kettős tárolási módú tábla importálási és DirectQuery-tárolási módok használatára van beállítva. Lekérdezéskor a Power BI határozza meg a leghatékonyabb módot. Amikor csak lehetséges, a Power BI importált adatokkal próbálja kielégíteni a lekérdezéseket, mert gyorsabb.
Szükség esetén érdemes lehet kettős tárolási módra beállítani a dimenziótáblákat. Így a szeletelővizualizációk és a szűrőkártyalisták – amelyek gyakran dimenziótáblaoszlopokon alapulnak – gyorsabban fognak megjelenni, mert az importált adatokból lekérdezik őket.
Fontos
Ha egy dimenziótáblának örökölnie kell a Dataverse biztonsági modelljét, nem célszerű kettős tárolási módot használni.
A jellemzően nagy mennyiségű adatot tároló ténytábláknak DirectQuery tárolási módú táblákként kell maradniuk. Ezeket a kapcsolódó kettős tárolási módú dimenziótáblák szűrik, amelyek összekapcsolhatók a ténytáblával a hatékony szűrés és csoportosítás érdekében.
Fontolja meg a következő adatmodell-kialakítást. Három dimenziótábla, a Tulajdonos, a Fiók és a Kampány sávos felső szegélyrel rendelkezik, ami azt jelenti, hogy kettős tárolási módra vannak beállítva.
A táblázatos tárolási módokról , beleértve a kettős tárolást is, a Power BI Desktop tárolási módjának kezelése című témakörben talál további információt.
Egyszeri bejelentkezés engedélyezése
Amikor DirectQuery-modellt tesz közzé a Power BI szolgáltatás, a szemantikai modell beállításaival engedélyezheti az egyszeri bejelentkezést (SSO) a Microsoft Entra ID (korábbi nevén Azure Active Directory) OAuth2 használatával a jelentés felhasználói számára. Ezt a beállítást akkor kell engedélyeznie, ha a Dataverse-lekérdezéseket a jelentésfelhasználó biztonsági kontextusában kell végrehajtani.
Ha az egyszeri bejelentkezés lehetőség engedélyezve van, a Power BI elküldi a jelentésfelhasználó hitelesített Microsoft Entra hitelesítő adatait a lekérdezésekben a Dataverse-nek. Ez a beállítás lehetővé teszi, hogy a Power BI betartsa az adatforrásban beállított biztonsági beállításokat.
További információ: Egyszeri bejelentkezés (SSO) DirectQuery-források esetén.
"Saját" szűrők replikálás a Power Queryben
A Microsoft Dynamics 365 Customer Engagement (CE) és a Dataversere épülő modellalapú Power Apps használatakor olyan nézeteket hozhat létre, amelyek csak olyan rekordokat mutatnak, amelyekben egy felhasználónév mező (például Tulajdonos) egyenlő az aktuális felhasználóval. Létrehozhat például "Saját nyitott lehetőségek", "Saját aktív esetek" és mások nevű nézeteket.
Vegyünk egy példát arra, hogy a Dynamics 365 Saját aktív fiókok nézete tartalmaz egy szűrőt, amelyben a Tulajdonos egyenlő az aktuális felhasználóval.
Ezt az eredményt egy natív lekérdezés használatával reprodukálhatja a Power Queryben, amely beágyazza a CURRENT_USER
jogkivonatot.
Tekintse meg az alábbi példát, amely egy natív lekérdezést mutat be, amely az aktuális felhasználó fiókjait adja vissza. WHERE
A záradékban figyelje meg, hogy a tulajdonosazonosító oszlopot a CURRENT_USER
jogkivonat szűri.
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
Amikor közzéteszi a modellt a Power BI szolgáltatás, engedélyeznie kell az egyszeri bejelentkezést (SSO), hogy a Power BI elküldje a jelentésfelhasználó hitelesített Microsoft Entra-hitelesítő adatait a Dataverse-nek.
Kiegészítő importálási modellek létrehozása
Létrehozhat egy DirectQuery-modellt, amely kikényszeríti a Dataverse-engedélyeket , tudva , hogy a teljesítmény lassú lesz. Ezt a modellt kiegészítheti olyan importálási modellekkel, amelyek meghatározott témákat vagy célközönségeket céloznak meg, amelyek kikényszeríthetik az RLS-engedélyeket.
Egy importálási modell például hozzáférést biztosíthat az összes Dataverse-adathoz, de nem kényszeríthet ki engedélyeket. Ez a modell olyan vezetők számára lenne megfelelő, akik már hozzáférnek az összes Dataverse-adathoz.
Egy másik példa, amikor a Dataverse szerepköralapú engedélyeket kényszerít ki az értékesítési régió szerint, létrehozhat egy importálási modellt, és replikálhatja ezeket az engedélyeket az RLS használatával. Másik lehetőségként létrehozhat egy modellt az egyes értékesítési régiókhoz. Ezután olvasási engedélyt adhat ezeknek a modelleknek (szemantikai modelleknek) az egyes régiók értékesítőinek. A regionális modellek létrehozásának megkönnyítése érdekében paramétereket és jelentéssablonokat használhat. További információ: Jelentéssablonok létrehozása és használata a Power BI Desktopban.
Kapcsolódó tartalom
A cikkhez kapcsolódó további információkért tekintse meg az alábbi forrásokat.