Share via


Azure Cosmos DB v2 (bétaverzió)

Összegzés

Tétel 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 válassza a Csatlakozás.

    Screenshot showing Select Azure Cosmos DB v2 selection.

  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. Adat-Csatlakozás tivitási 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ó:

    Screenshot of the connection dialog box showing the Cosmos Endpoint entry and Data connectivity mode set to DirectQuery.

  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. 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.

    Screenshot of the Navigator emphasizing the data you've selected.

  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.

    Screenshot showing how to select duplicate from your existing query in the Power Query editor.

    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.

    Screenshot showing the unique Partition Keys in Power Query editor.

    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.

    Screenshot showing how to create a parameter in the Power Query editor.

    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.

    Screenshot showing the steps to apply the parameterized filter.

    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.

    Screenshot showing the steps to bind the parameter.

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

    Screenshot of the slicer.

    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.

    Screenshot of the visualization after the partition key filter is applied.

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 a Csatlakozás orban.

  • 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 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.