Megosztás a következőn keresztül:


Azure Cosmos DB v2 (bétaverzió)

Összegzés

Elem Leírás
Kiadási állapot Beta
Termékek Power BI (Szemantikai modellek)
Power BI (Adatfolyamok)
Háló (Adatfolyam Gen2)
Támogatott hitelesítési típusok Csatornakulcs

Előfeltételek

Támogatott képességek

  • Importálás
  • DirectQuery (Power BI szemantikai modellek)
  • Speciális beállítások
    • Újrapróbálkozések száma
    • "ÁTLAG" függvény passdown engedélyezése
    • "RENDEZÉS" passdown engedélyezése több oszlophoz

Csatlakozás az Azure Cosmos DB-hez

Azure Cosmos DB-adatokhoz való csatlakozás:

  1. Indítsa el a Power BI Desktopot.

  2. A Kezdőlap lapon válassza az Adatok lekérése lehetőséget.

  3. A keresőmezőbe írja be a Cosmos DB v2-t.

  4. Válassza az Azure Cosmos DB v2 (bétaverzió) lehetőséget, majd a Csatlakozás lehetőséget.

    Képernyőkép az Azure Cosmos DB v2 kiválasztásáról.

  5. A Cosmos Endpointhez tartozó Azure Cosmos DB v2 kapcsolati lapon adja meg a használni kívánt Azure Cosmos DB-fiók URI-címét. Adatkapcsolati mód esetén válasszon egy, a használati esetnek megfelelő módot az alábbi általános irányelvek szerint:

    • Kisebb adathalmazok esetén válassza az Importálás lehetőséget. Importálási mód használatakor a Power BI a Cosmos DB-vel együttműködve importálja a teljes adatkészlet tartalmát a vizualizációkban való használatra.

    • A DirectQuery mód lehetővé teszi a Cosmos DB-tárolóba irányuló lekérdezésleküldést a végrehajtáshoz, és javítja az összekötő teljesítményét. Particionált Cosmos DB-tárolók esetén az összesítő függvényt tartalmazó SQL-lekérdezést a rendszer átadja a Cosmos DB-nek, ha a lekérdezés tartalmaz egy szűrőt (WHERE záradékot) is a partíciókulcson. Ha például a partíciókulcs "Product" (Termék) értékre van definiálva, akkor a Cosmos DB-kiszolgálón átadható és végrehajtható SQL-lekérdezések a következők lehetnek:

      SELECT SUM(ColumnName) FROM TableName where Product = 'SampleValue'

    Feljegyzés

    Használja az Azure Cosmos DB-hez készült Azure Synapse Linket, ha keresztparticionált összesítő függvényeket szeretne végrehajtani a Cosmos DB-tárolón.

    További információ:

    Képernyőkép a Kapcsolat párbeszédpanelről, amelyen a Cosmos-végpont bejegyzése és az adatkapcsolati mód DirectQuery értékre van állítva.

  6. Az adatforrás-hitelesítés konfigurálására vonatkozó kérésnél adja meg a fiókkulcsot. Ezután válassza a Csatlakozás lehetőséget. Az adatkatalógus, az adatbázisok és a táblák megjelennek a Kezelő párbeszédpanelen.

  7. A Megjelenítési beállítások panelen jelölje be a használni kívánt adatkészlet jelölőnégyzetét.

    Képernyőkép a kiválasztott adatokat kiemelő kezelőről.

  8. A partíciókulcs-szűrő megadásának legoptimálisabb módja (hogy az összesítő függvények leküldhetők legyenek a Cosmos DB-be) a dinamikus M-paraméterek használata. Dinamikus M-paraméterek használatához egyedi partíciókulcs-értékekkel rendelkező adatkészletet hozna létre, létrehozna egy paramétert, szűrőként hozzáadná a fő adatkészlethez, az egyedi partíciókulcs-adatkészlethez kötné, és szeletelőként használná a fő adatkészlethez. Az alábbi lépésekkel engedélyezheti a dinamikus M-paramétereket a partíciókulcs-szűréshez.

    a. Adatkészlet létrehozása egyedi partíciókulcs-értékekkel:

    A Kezelőben válassza a Betöltés helyett az Adatok átalakítása lehetőséget a Power Query-szerkesztő megjelenítéséhez. Kattintson a jobb gombbal a lekérdezési adatkészletre, majd válassza a Duplikálás lehetőséget egy új adatkészlet létrehozásához.

    Képernyőkép arról, hogyan választhatja ki a meglévő lekérdezés duplikációját a Power Query-szerkesztőben.

    Nevezze át az új partíciókulcs-modellt, majd kattintson a jobb gombbal a Cosmos DB partíciókulcs oszlopára. Ebben a példában a Product a Cosmos DB partíciókulcs oszlopa. Válassza az Egyéb oszlopok eltávolítása, majd az Ismétlődések eltávolítása lehetőséget.

    Képernyőkép az egyedi partíciókulcsról a Power Query-szerkesztőben.

    b. Paraméter létrehozása dinamikus szűréshez:

    A Power Query-szerkesztőben válassza a Paraméterek>kezelése új paraméter lehetőséget. Nevezze át az új paramétert úgy, hogy tükrözze a szűrőparamétert, és adjon meg egy érvényes értéket aktuális értékként.

    Képernyőkép arról, hogyan hozhat létre paramétert a Power Query-szerkesztőben.

    c. Paraméteres szűrő alkalmazása a fő adatkészletre:

    Válassza a Partíciókulcs oszlop legördülő ikonját, majd válassza a Szövegszűrők>egyenlősége lehetőséget. Módosítsa a szűrőtípust szövegről paraméterre. Ezután válassza ki a b lépésben létrehozott paramétert. A Power Query-szerkesztő bal felső sarkában válassza a Bezárás &alkalmazás lehetőséget.

    Képernyőkép a paraméteres szűrő alkalmazásának lépéseiről.

    d. Partíciókulcs-értékek szeletelő létrehozása paraméterkötéssel:

    A Power BI-ban válassza a Modell lapot. Ezután válassza ki a Partíciókulcs mezőt. A Tulajdonságok panelen válassza az Advanced Bind to parameter (Speciális>kötés a paraméterhez) lehetőséget. Válassza ki a b lépésben létrehozott paramétert.

    Képernyőkép a paraméter kötésének lépéseiről.

    Válassza a Jelentés lapot, és vegyen fel egy szeletelőt az egyedi partíciókulcsmal.

    Képernyőkép a szeletelőről.

    e. Vizualizációk hozzáadása és partíciókulcs-szűrő alkalmazása a szeletelőből:

    Mivel a szeletelő választott partíciókulcs-értéke a paraméterhez van kötve (a d. lépésben leírtak szerint), és a paraméteres szűrő a fő adatkészleten van alkalmazva (a c. lépésben leírtak szerint), a rendszer szűrőként alkalmazza a választott partíciókulcs-értéket a fő adatkészletre, és a partíciókulcs-szűrővel rendelkező lekérdezést minden vizualizációban átadja a Cosmos DB-nek.

    Képernyőkép a vizualizációról a partíciókulcs-szűrő alkalmazása után.

Speciális beállítások

A Power Query speciális beállításokat biztosít, amelyeket szükség esetén hozzáadhat a lekérdezéshez.

Az alábbi táblázat felsorolja a Power Queryben megadható összes speciális beállítást.

Speciális beállítás Leírás
Újrapróbálkozések száma Hányszor kell újrapróbálkoznia, ha a http-visszatérési kódok az 408 - Request Timeout, 412 - Precondition Failedvagy 429 - Too Many Requests. Az újrapróbálkozések alapértelmezett száma 5.
ÁTLAG függvény leengedésének engedélyezése Megadja, hogy az összekötő engedélyezi-e az AVG összesítő függvény átadását a Cosmos DB-nek. Az alapértelmezett érték 1, és az összekötő alapértelmezés szerint megpróbálja átadni az AVG-összesítő függvényt a Cosmos DB-nek. Ha az argumentum sztringet, logikai vagy null értékeket tartalmaz az AVG-összesítő függvényhez, a Cosmos DB-kiszolgáló nem definiált eredményhalmazt ad vissza. Ha 0 értékre van állítva, az AVG aggregátumfüggvény nem lesz átadva a Cosmos DB-kiszolgálónak, és az összekötő kezeli magát az AVG-összesítési műveletet.
Rendezési passdown engedélyezése több oszlophoz Megadja, hogy az összekötő lehetővé teszi-e több oszlop átadását a Cosmos DB-nek, ha az SQL-lekérdezés ORDER BY záradékában van megadva. Az alapértelmezett érték 0, és ha az ORDER BY záradékban egynél több oszlop van megadva, az összekötő alapértelmezés szerint nem adja át az oszlopokat, hanem önállóan kezeli a sorrendet. Ha 1 értékre van állítva, az összekötő több oszlopot próbál átadni a Cosmos DB-nek, ha az SQL-lekérdezés ORDER BY záradékában van megadva. Ha több oszlopot szeretne átadni a Cosmos DB-nek, győződjön meg arról, hogy az összetett indexek a megfelelő gyűjtemények oszlopaiban vannak beállítva. Particionált gyűjtemények esetén az ORDER BY utasítással rendelkező SQL-lekérdezések csak akkor lesznek átadva a Cosmos DB-nek, ha a lekérdezés szűrőt tartalmaz a particionált kulcson. Ha az ORDER BY záradékban nyolcnál több oszlop van megadva, az összekötő nem adja át az ORDER BY záradékot, hanem magát a rendelési végrehajtást kezeli.

Ismert problémák és korlátozások

  • Particionált Cosmos DB-tárolók esetén az összesítő függvényt tartalmazó SQL-lekérdezést a rendszer átadja a Cosmos DB-nek, ha a lekérdezés tartalmaz egy szűrőt (WHERE záradékot) is a partíciókulcson. Ha az összesítő lekérdezés nem tartalmaz szűrőt a partíciókulcson, az összesítést az összekötő hajtja végre.

  • Az összekötő nem ad át összesítő függvényt, ha a TOP vagy a LIMIT alkalmazása után kéri. A Cosmos DB a top műveletet a végén dolgozza fel egy lekérdezés feldolgozásakor. Az alábbi lekérdezésben például a TOP lesz alkalmazva az al lekérdezésben, míg az összesítő függvény az eredményhalmazra lesz alkalmazva:

    SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E

  • Ha a DISTINCT egy aggregátumfüggvényben van megadva, az összekötő nem továbbítja az összesítő függvényt a Cosmos DB-nek, ha a DISTINCT záradékot egy összesítő függvény tartalmazza. Ha az aggregátumfüggvényben jelen van, a DISTINCT-t a Cosmos DB SQL API nem támogatja.

  • A SZUM összesítő függvény esetében a Cosmos DB eredményhalmazként nem definiált eredményt ad vissza, ha a SZUM argumentumainak bármelyike sztring, logikai vagy null értékű. Ha azonban null értékek vannak, az összekötő úgy továbbítja a lekérdezést a Cosmos DB-nek, hogy az adatforrás a SUM számítás részeként null értéket cserélje le nullára.

  • Az AVG aggregátumfüggvény esetében a Cosmos DB eredményhalmazként nem definiált eredményt ad vissza, ha a SZUM argumentumok bármelyike sztring, logikai vagy null értékű. Az összekötő egy kapcsolati tulajdonságot tesz elérhetővé, amely letiltja az AVG-összesítő függvény Cosmos DB-nek való átadását, ha ezt az alapértelmezett Cosmos DB-viselkedést felül kell bírálni. Ha az AVG-leküldés le van tiltva, az nem lesz átadva a Cosmos DB-nek, és az összekötő kezeli magát az AVG-összesítési műveletet. További információ: "Az ÁTLAG függvény passdown engedélyezése" a Speciális beállításokban.

  • A nagy partíciókulcsot tartalmazó Azure Cosmos DB-tárolók jelenleg nem támogatottak az összekötőben.

  • Az összesítési leengedés le van tiltva a következő szintaxis esetében a kiszolgáló korlátozásai miatt:

    • Ha a lekérdezés nem partíciókulcsra szűr, vagy ha a partíciókulcs-szűrő az OR operátort használja egy másik predikátummal a WHERE záradék legfelső szintjén.

    • Ha a lekérdezés egy vagy több partíciókulcsot tartalmaz, akkor a WHERE záradék NEM NULL záradékban jelenik meg.

  • A V2-összekötő nem támogatja az összetett adattípusokat, például tömböket, objektumokat és hierarchikus struktúrákat. Ezekhez a forgatókönyvekhez javasoljuk az Azure Cosmos DB-hez készült Fabric Mirroring szolgáltatást.

  • A V2-összekötő az első 1000 dokumentum mintavételezésével hozza létre a kikövetkeztetett sémát. Sémafejlődési forgatókönyvekhez nem ajánlott, ha a dokumentumoknak csak egy része frissül. Előfordulhat például, hogy egy tárolóban lévő dokumentumhoz újonnan hozzáadott tulajdonság nem jelenik meg a következtetett sémában. Ezekhez a forgatókönyvekhez javasoljuk az Azure Cosmos DB-hez készült Fabric Mirroring szolgáltatást.

  • A V2-összekötő jelenleg nem támogatja a nem sztring típusú értékeket az objektumtulajdonságokban.

  • A szűrőleadás le van tiltva a következő szintaxis esetében a kiszolgáló korlátozásai miatt:

    • Ha egy vagy több összesítő oszlopot tartalmazó lekérdezésre hivatkozik a WHERE záradék.