Visualisera Azure Cosmos DB-data med Power BI

GÄLLER FÖR: NoSQL

I den här artikeln beskrivs de steg som krävs för att ansluta Azure Cosmos DB-data till Power BI Desktop.

Du kan ansluta till Azure Cosmos DB från Power BI Desktop med något av följande alternativ:

  • Använd Spegling i Microsoft Fabric för att replikera Azure Cosmos DB-data till Fabric OneLake. Ändringar i databasen synkroniseras automatiskt med Fabric OneLake nästan i realtid, utan att det påverkar prestandan för källdatabasen eller förbrukar resursenheter (RU:er).

    Power BI-rapporter kan sedan komma åt data direkt från OneLake med DirectLake-läge. Med de förbättrade Copilot-funktionerna i Power BI i Fabric kan du utnyttja generativ AI för att få viktiga affärsinsikter.

  • Använd Azure Synapse Link för att skapa Power BI-rapporter utan prestanda eller kostnadspåverkan för dina transaktionsarbetsbelastningar och inga ETL-pipelines.

    Du kan antingen använda DirectQuery eller importläge . Med DirectQuery kan du skapa instrumentpaneler/rapporter med livedata från dina Azure Cosmos DB-konton, utan att importera eller kopiera data till Power BI.

  • Anslut Power BI Desktop till Azure Cosmos DB-kontot med Azure Cosmos DB-anslutningsappen för Power BI. Det här alternativet är endast tillgängligt i importläge och använder RU:er som allokerats för dina transaktionsarbetsbelastningar.

Kommentar

Rapporter som skapats i Power BI Desktop kan publiceras till PowerBI.com. Det går inte att utföra direkt extrahering av Azure Cosmos DB-data från PowerBI.com.

Förutsättningar

Innan du följer anvisningarna i den här Power BI-självstudien kontrollerar du att du har åtkomst till följande resurser:

Om du vill dela dina rapporter i PowerBI.com måste du ha ett konto i PowerBI.com. Mer information om Power BI och Power BI Pro finns i https://powerbi.microsoft.com/pricing.

Kom igång

Skapa BI-rapporter med spegling i Microsoft Fabric

Du kan aktivera spegling på dina befintliga Azure Cosmos DB-containrar och skapa BI-rapporter/instrumentpaneler på dessa data nästan i realtid. Anvisningar för att komma igång med infrastrukturresurser och spegling finns i speglingsguiden för Azure Cosmos DB.

Du kan aktivera Azure Synapse Link på dina befintliga Azure Cosmos DB-containrar och skapa BI-rapporter på dessa data med bara några få klick med hjälp av Azure Cosmos DB-portalen. Power BI ansluter till Azure Cosmos DB med direct query-läge, så att du kan köra frågor mot dina realtidsdata i Azure Cosmos DB utan att påverka dina transaktionsarbetsbelastningar.

Så här skapar du en Power BI-rapport/instrumentpanel:

  1. Logga in på Azure Portal och gå till ditt Azure Cosmos DB-konto.

  2. I avsnittet Integreringar öppnar du Power BI-fönstret och väljer Kom igång.

    Kommentar

    För närvarande är det här alternativet endast tillgängligt för API för NoSQL-konton. Du kan skapa T-SQL-vyer direkt i Synapse-serverlösa SQL-pooler och skapa BI-instrumentpaneler för Azure Cosmos DB för MongoDB. Mer information finns i "Använda Power BI och serverlös Synapse SQL-pool för att analysera Azure Cosmos DB-data med Synapse" .

  3. På fliken Aktivera Azure Synapse Link kan du aktivera Synapse Link på ditt konto från länken Aktivera Azure Synapse för det här kontot . Om Synapse Link redan är aktiverat för ditt konto visas inte den här fliken. Det här steget är en förutsättning för att börja aktivera Synapse Link på dina containrar.

    Kommentar

    Att aktivera Azure Synapse Link har kostnadskonsekvenser. Mer information finns i prisavsnittet för Azure Synapse Link.

  4. Välj sedan de containrar som krävs för att aktivera Synapse Link i avsnittet Aktivera Azure Synapse Link för dina containrar.

    • Om du redan har aktiverat Synapse Link på vissa containrar visas kryssrutan bredvid containernamnet markerat. Du kan välja att avmarkera dem baserat på de data som du vill visualisera i Power BI.

    • Om Synapse Link inte är aktiverat kan du aktivera detta på dina befintliga containrar.

      Om det pågår aktivering av Synapse Link på någon av containrarna inkluderas inte data från dessa containrar. Du bör komma tillbaka till den här fliken senare och importera data när containrarna är aktiverade.

    Förloppet för Synapse Link aktiverat på befintliga containrar.

  5. Beroende på mängden data i containrarna kan det ta en stund att aktivera Synapse Link. Mer information finns i artikeln aktivera Synapse Link i befintliga containrar .

    Du kan kontrollera förloppet i portalen enligt följande skärm. Containrar aktiveras med Synapse Link när förloppet når 100 %.

    Synapse Link har aktiverats på de valda containrarna.

  6. På fliken Välj arbetsyta väljer du Arbetsytan Azure Synapse Analytics och väljer Nästa. Det här steget skapar automatiskt T-SQL-vyer i Synapse Analytics för de containrar som valdes tidigare. Mer information om de T-SQL-vyer som krävs för att ansluta Azure Cosmos DB till Power BI finns i artikeln Förbereda vyer .

    Kommentar

    Dina Azure Cosmos DB-containeregenskaper representeras som kolumner i T-SQL-vyer, inklusive djupt kapslade JSON-data. Det här är en snabbstart för dina BI-instrumentpaneler. Dessa vyer kommer att vara tillgängliga i synapse-arbetsytan/databasen. Du kan också använda exakt samma vyer i Synapse-arbetsytan för datautforskning, datavetenskap, datateknik osv. Observera att avancerade scenarier kan kräva mer komplexa vyer eller finjustering av dessa vyer för bättre prestanda. Mer information. Se artikeln metodtips för Synapse Link när du använder Synapse serverlösa SQL-pooler .

  7. Du kan antingen välja en befintlig arbetsyta eller skapa en ny. Om du vill välja en befintlig arbetsyta anger du prenumerationen, arbetsytan och databasinformationen. Azure Portal använder dina Microsoft Entra-autentiseringsuppgifter för att automatiskt ansluta till synapse-arbetsytan och skapa T-SQL-vyer. Kontrollera att du har behörigheten Synapse-administratör till den här arbetsytan.

    Anslut till Synapse Link-arbetsytan och skapa vyer.

  8. Välj sedan Ladda ned .pbids för att ladda ned Power BI-datakällfilen. Öppna den hämtade filen. Den innehåller nödvändig anslutningsinformation och öppnar Power BI Desktop.

    Ladda ned Power BI-skrivbordsfilerna i .pbids-format.

  9. Nu kan du ansluta till Azure Cosmos DB-data från Power BI Desktop. En lista över T-SQL-vyer som motsvarar data i varje container visas.

    Följande skärm visar till exempel fordonsflottans data. Du kan läsa in dessa data för ytterligare analys eller transformera dem innan du läser in dem.

    T-SQL-vyer som motsvarar data i varje container.

  10. Nu kan du börja skapa rapporten med hjälp av Azure Cosmos DB:s analysdata. Eventuella ändringar av dina data återspeglas i rapporten så snart data replikeras till analysarkivet, vilket vanligtvis sker om ett par minuter.

Skapa BI-rapporter med Hjälp av Power BI-anslutningsappen

Kommentar

Anslutning till Azure Cosmos DB med Power BI-anslutningsappen stöds för närvarande endast för Azure Cosmos DB för NoSQL och API för Gremlin-konton.

  1. Kör Power BI Desktop.

  2. Du kan hämta data, se Senaste källor eller Öppna andra rapporter direkt från välkomstskärmen. Välj "X" i det övre högra hörnet för att stänga skärmen. Rapportvyn för Power BI Desktop visas.

    Power BI Desktop-rapportvy – Power BI-anslutningsapp

  3. Välj menyfliksområdet Start och klicka sedan på Hämta data. Fönstret Hämta data ska visas.

  4. Klicka på Azure, välj Azure Cosmos DB (Beta) och klicka sedan på Anslut.

    Hämta data i Power BI Desktop – Power BI-anslutningsapp

  5. På sidan Förhandsgranskningsanslutningsapp klickar du på Fortsätt. Fönstret Azure Cosmos DB visas.

  6. Ange url:en för Azure Cosmos DB-kontots slutpunkt som du vill hämta data från enligt nedan och klicka sedan på OK. Om du vill använda ditt eget konto kan du hämta URL:en från URI-rutan på bladet Nycklar i Azure Portal. Du kan också ange databasnamnet, samlingsnamnet eller använda navigatören för att välja databasen och samlingen för att identifiera var data kommer ifrån.

  7. Om du ansluter till den här slutpunkten för första gången uppmanas du att ange kontonyckeln. För ditt eget konto hämtar du nyckeln från rutan Primärnyckelbladet Skrivskyddade nycklar i Azure Portal. Ange lämplig nyckel och klicka sedan på Anslut.

    Vi rekommenderar att du använder den skrivskyddade nyckeln när du skapar rapporter. Detta förhindrar onödig exponering av den primära nyckeln för potentiella säkerhetsrisker. Skrivskyddad nyckel är tillgänglig från bladet Nycklar i Azure Portal.

  8. När kontot har anslutits visas fönstret Navigatör . Navigatören visar en lista över databaser under kontot.

  9. Klicka och expandera på databasen där data för rapporten kommer från. Välj nu en samling som innehåller de data som ska hämtas.

    I förhandsgranskningsfönstret visas en lista över postobjekt . Ett dokument representeras som en posttyp i Power BI. På samma sätt är ett kapslat JSON-block i ett dokument också en post. Om du vill visa egenskapsdokumenten som kolumner klickar du på den grå knappen med två pilar i motsatta riktningar som symboliserar postens expansion. Den finns till höger om containerns namn i samma förhandsgranskningsfönster.

  10. I Power BI Desktop-rapportvyn kan du börja skapa rapporter för att visualisera data. Du kan skapa rapporter genom att dra och släppa fält till rapportarbetsytan .

  11. Det finns två sätt att uppdatera data: ad hoc och schemalagd. Klicka bara på Uppdatera nu för att uppdatera data. Mer information om alternativet schemalagd uppdatering finns i Power BI-dokumentationen.

Kända problem och begränsningar

  • För partitionerade Cosmos DB-containrar skickas en SQL-fråga med en mängdfunktion till Cosmos DB om frågan också innehåller ett filter (WHERE-sats) på partitionsnyckeln. Om aggregeringsfrågan inte innehåller något filter på partitionsnyckeln utförs aggregeringen av anslutningsappen.

  • Anslutningsappen skickar inte en aggregeringsfunktion om den anropas efter att TOP eller LIMIT har tillämpats. Cosmos DB bearbetar TOP-åtgärden i slutet när en fråga bearbetas. I följande fråga tillämpas till exempel TOP i underfrågan, medan aggregeringsfunktionen tillämpas ovanpå den resultatuppsättningen:

    VÄLJ ANTAL(1) FRÅN (VÄLJ TOPP 4 * FRÅN EMP) E

  • Om DISTINCT tillhandahålls i en aggregeringsfunktion skickar anslutningsappen inte den aggregerade funktionen till Cosmos DB om en DISTINCT-sats tillhandahålls i en aggregeringsfunktion. När det finns i en aggregeringsfunktion stöds inte DISTINCT av Cosmos DB SQL API.

  • För sum-mängdfunktionen returnerar Cosmos DB odefinierat som resultatuppsättning om något av argumenten i SUM är sträng, booleskt eller null. Men om det finns null-värden skickar anslutningsappen frågan till Cosmos DB på ett sådant sätt att den ber datakällan att ersätta ett null-värde med noll som en del av SUM-beräkningen.

  • För funktionen AVG aggregate returnerar Cosmos DB odefinierad som resultatuppsättning om något av argumenten i SUM är sträng, booleskt eller null. Anslutningsappen exponerar en anslutningsegenskap för att inaktivera överföring av avg-mängdfunktionen till Cosmos DB om det här standardbeteendet för Cosmos DB måste åsidosättas. När AVG-passdown inaktiveras skickas den inte till Cosmos DB och anslutningsappen hanterar själva AVG-aggregeringsåtgärden. Mer information finns i "Aktivera genomsnittlig funktionspassdown" i Avancerade alternativ.

  • Azure Cosmos DB-containrar med stor partitionsnyckel stöds för närvarande inte i anslutningsappen.

  • Aggregeringspassdown har inaktiverats för följande syntax på grund av serverbegränsningar:

    • När frågan inte filtrerar på en partitionsnyckel eller när partitionsnyckelfiltret använder OR-operatorn med ett annat predikat på den översta nivån i WHERE-satsen.

    • När frågan har en eller flera partitionsnycklar visas i en IS NOT NULL-sats i WHERE-satsen.

  • V2-anslutningsappen stöder inte komplexa datatyper som matriser, objekt och hierarkiska strukturer. Vi rekommenderar funktionen [Fabric Mirroring for Azure Cosmos DB](/articles/cosmos-db/analytics-and-business-intelligence-overview.md för dessa scenarier.

  • V2-anslutningsappen använder sampling av de första 1 000 dokumenten för att komma fram till det härledda schemat. Det rekommenderas inte för scenarier för schemautveckling när endast en del av dokumenten uppdateras. Till exempel kanske inte en nytillagd egenskap i ett dokument i en container med tusentals dokument ingår i det härledda schemat. Vi rekommenderar funktionen Infrastrukturspegling för Azure Cosmos DB för dessa scenarier.

  • V2-anslutningsappen stöder för närvarande inte icke-strängvärden i objektegenskaper.

  • Filterpassdown har inaktiverats för följande syntax på grund av serverbegränsningar:

  • När frågan som innehåller en eller flera aggregeringskolumner refereras till i WHERE-satsen.

Nästa steg