Delen via


Azure Cosmos DB-gegevens visualiseren met behulp van Power BI

VAN TOEPASSING OP: NoSQL

In dit artikel worden de stappen beschreven die nodig zijn om Azure Cosmos DB-gegevens te verbinden met Power BI Desktop.

U kunt verbinding maken met Azure Cosmos DB vanuit Power BI Desktop met behulp van een van de volgende opties:

  • Gebruik spiegeling in Microsoft Fabric om Azure Cosmos DB-gegevens te repliceren naar Fabric OneLake. Wijzigingen in uw database worden in bijna realtime automatisch gesynchroniseerd met Fabric OneLake, zonder dat dit van invloed is op de prestaties van uw brondatabase of het verbruiken van resource-eenheden (RU's).

    Power BI-rapporten hebben vervolgens rechtstreeks toegang tot gegevens vanuit OneLake met behulp van de DirectLake-modus. Met de verbeterde Copilot-functies in Power BI in Fabric kunt u gebruikmaken van generatieve AI om belangrijke zakelijke inzichten te verkrijgen.

  • Gebruik Azure Synapse Link om Power BI-rapporten te maken zonder dat dit gevolgen heeft voor prestaties of kosten voor uw transactionele workloads en geen ETL-pijplijnen.

    U kunt de DirectQuery- of importmodus gebruiken. Met DirectQuery kunt u dashboards/rapporten maken met behulp van livegegevens uit uw Azure Cosmos DB-accounts, zonder de gegevens te importeren of te kopiëren naar Power BI.

  • Verbind Power BI Desktop met een Azure Cosmos DB-account met de Azure Cosmos DB-connector voor Power BI. Deze optie is alleen beschikbaar in de importmodus en verbruikt RU's die zijn toegewezen voor uw transactionele workloads.

Notitie

Rapporten die in Power BI Desktop zijn gemaakt, kunnen worden gepubliceerd naar PowerBI.com. Directe extractie van Azure Cosmos DB-gegevens kan niet worden uitgevoerd vanuit PowerBI.com.

Vereisten

Voordat u de instructies in deze Power BI-zelfstudie volgt, moet u ervoor zorgen dat u toegang hebt tot de volgende resources:

Als u uw rapporten in PowerBI.com wilt delen, moet u een account in PowerBI.com hebben. Zie https://powerbi.microsoft.com/pricingvoor meer informatie over Power BI en Power BI Pro.

Aan de slag!

BI-rapporten bouwen met behulp van spiegeling in Microsoft Fabric

U kunt spiegeling inschakelen voor uw bestaande Azure Cosmos DB-containers en BI-rapporten/dashboards maken op deze gegevens, in bijna realtime. Ga naar de zelfstudie spiegeling voor Azure Cosmos DB voor instructies om aan de slag te gaan met Fabric en mirroring.

U kunt Azure Synapse Link inschakelen voor uw bestaande Azure Cosmos DB-containers en BI-rapporten over deze gegevens maken, in slechts enkele klikken met behulp van de Azure Cosmos DB-portal. Power BI maakt verbinding met Azure Cosmos DB met behulp van de directquerymodus, zodat u query's kunt uitvoeren op uw live Azure Cosmos DB-gegevens, zonder dat dit van invloed is op uw transactionele workloads.

Een Power BI-rapport/-dashboard maken:

  1. Meld u aan bij Azure Portal en navigeer naar uw Azure Cosmos DB-account.

  2. Open in de sectie Integraties het Power BI-deelvenster en selecteer Aan de slag.

    Notitie

    Deze optie is momenteel alleen beschikbaar voor API voor NoSQL-accounts. U kunt T-SQL-weergaven rechtstreeks maken in serverloze Synapse SQL-pools en BI-dashboards bouwen voor Azure Cosmos DB voor MongoDB. Zie Power BI en serverloze Synapse SQL-pool gebruiken om Azure Cosmos DB-gegevens te analyseren met Synapse voor meer informatie.

  3. Op het tabblad Azure Synapse Link inschakelen kunt u Synapse Link inschakelen voor uw account via de koppeling Azure Synapse inschakelen voor dit account . Als Synapse Link al is ingeschakeld voor uw account, ziet u dit tabblad niet. Deze stap is een vereiste voor het inschakelen van Synapse Link voor uw containers.

    Notitie

    Het inschakelen van Azure Synapse Link heeft gevolgen voor de kosten. Zie de sectie met prijzen van Azure Synapse Link voor meer informatie.

  4. Kies vervolgens in de sectie Azure Synapse Link inschakelen voor uw containers de vereiste containers om Synapse Link in te schakelen.

    • Als u Synapse Link al hebt ingeschakeld voor sommige containers, ziet u dat het selectievakje naast de containernaam is geselecteerd. U kunt ze desgewenst deselecteren op basis van de gegevens die u wilt visualiseren in Power BI.

    • Als Synapse Link niet is ingeschakeld, kunt u dit inschakelen voor uw bestaande containers.

      Als het inschakelen van Synapse Link wordt uitgevoerd op een van de containers, worden de gegevens van deze containers niet opgenomen. U moet later teruggaan naar dit tabblad en gegevens importeren wanneer de containers zijn ingeschakeld.

    Voortgang van Synapse Link ingeschakeld voor bestaande containers.

  5. Afhankelijk van de hoeveelheid gegevens in uw containers kan het even duren voordat Synapse Link is ingeschakeld. Zie het artikel Synapse Link inschakelen voor bestaande containers voor meer informatie.

    U kunt de voortgang in de portal controleren, zoals wordt weergegeven in het volgende scherm. Containers worden ingeschakeld met Synapse Link wanneer de voortgang 100% bereikt.

    Synapse Link is ingeschakeld voor de geselecteerde containers.

  6. Kies op het tabblad Werkruimte selecteren de Azure Synapse Analytics-werkruimte en selecteer Volgende. Met deze stap maakt u automatisch T-SQL-weergaven in Synapse Analytics voor de containers die eerder zijn geselecteerd. Zie het artikel Weergaven voorbereiden voor meer informatie over T-SQL-weergaven die nodig zijn om uw Azure Cosmos DB te verbinden met Power BI.

    Notitie

    Uw Azure Cosmos DB-containerkenmerken worden weergegeven als kolommen in T-SQL-weergaven, inclusief diep geneste JSON-gegevens. Dit is een quickstart voor uw BI-dashboards. Deze weergaven zijn beschikbaar in uw Synapse-werkruimte/-database; u kunt deze exacte weergaven ook gebruiken in Synapse Workspace voor gegevensverkenning, gegevenswetenschap, data engineering, enzovoort. Houd er rekening mee dat geavanceerde scenario's complexere weergaven kunnen vereisen of deze weergaven kunnen verfijnen, voor betere prestaties. Voor meer informatie. zie de aanbevolen procedures voor Synapse Link wanneer u het artikel over serverloze SQL-pools van Synapse gebruikt.

  7. U kunt een bestaande werkruimte kiezen of een nieuwe werkruimte maken. Als u een bestaande werkruimte wilt selecteren, geeft u het abonnement, de werkruimte en de databasegegevens op. Azure Portal gebruikt uw Microsoft Entra-referenties om automatisch verbinding te maken met uw Synapse-werkruimte en T-SQL-weergaven te maken. Zorg ervoor dat u beschikt over synapse-beheerdersmachtigingen voor deze werkruimte.

    Maak verbinding met de Synapse Link-werkruimte en maak weergaven.

  8. Selecteer vervolgens .pbids downloaden om het Power BI-gegevensbronbestand te downloaden. Open het gedownloade bestand. Deze bevat de vereiste verbindingsgegevens en opent Power BI Desktop.

    Download de Power BI Desktop-bestanden in .pbids-indeling.

  9. U kunt nu verbinding maken met Azure Cosmos DB-gegevens vanuit Power BI Desktop. Er wordt een lijst met T-SQL-weergaven weergegeven die overeenkomen met de gegevens in elke container.

    In het volgende scherm worden bijvoorbeeld voertuigparkgegevens weergegeven. U kunt deze gegevens laden voor verdere analyse of transformeren voordat u ze laadt.

    T-SQL-weergaven die overeenkomen met de gegevens in elke container.

  10. U kunt nu beginnen met het bouwen van het rapport met behulp van analytische gegevens van Azure Cosmos DB. Wijzigingen in uw gegevens worden doorgevoerd in het rapport zodra de gegevens worden gerepliceerd naar de analytische opslag. Dit gebeurt meestal in een paar minuten.

BI-rapporten bouwen met power BI-connector

Notitie

Verbinding maken met Azure Cosmos DB met de Power BI-connector wordt momenteel alleen ondersteund voor Azure Cosmos DB for NoSQL en API voor Gremlin-accounts.

  1. Voer Power BI Desktop uit.

  2. U kunt gegevens ophalen, recente bronnen bekijken of andere rapporten rechtstreeks vanuit het welkomstscherm openen. Selecteer de X in de rechterbovenhoek om het scherm te sluiten. De rapportweergave van Power BI Desktop wordt weergegeven.

    Power BI Desktop-rapportweergave - Power BI-connector

  3. Selecteer het startlint en klik vervolgens op Gegevens ophalen. Het venster Gegevens ophalen moet worden weergegeven.

  4. Klik op Azure, selecteer Azure Cosmos DB (bèta) en klik vervolgens op Verbinding maken.

    Power BI Desktop Gegevens ophalen - Power BI-connector

  5. Klik op de pagina Voorbeeldconnector op Doorgaan. Het Azure Cosmos DB-venster wordt weergegeven.

  6. Geef de eindpunt-URL van het Azure Cosmos DB-account op waaruit u de gegevens wilt ophalen, zoals hieronder wordt weergegeven en klik op OK. Als u uw eigen account wilt gebruiken, kunt u de URL ophalen uit het vak URI op de blade Sleutels van Azure Portal. U kunt desgewenst de databasenaam, verzamelingsnaam opgeven of de navigator gebruiken om de database en verzameling te selecteren om te bepalen waar de gegevens vandaan komen.

  7. Als u voor het eerst verbinding maakt met dit eindpunt, wordt u gevraagd om de accountsleutel. Haal voor uw eigen account de sleutel op uit het vak Primaire sleutel op de blade Alleen-lezen sleutels van Azure Portal. Voer de juiste sleutel in en klik vervolgens op Verbinding maken.

    U wordt aangeraden de alleen-lezen sleutel te gebruiken bij het maken van rapporten. Dit voorkomt onnodige blootstelling van de primaire sleutel aan potentiële beveiligingsrisico's. De alleen-lezen sleutel is beschikbaar op de blade Sleutels van Azure Portal.

  8. Wanneer het account is verbonden, wordt het deelvenster Navigator weergegeven. De Navigator toont een lijst met databases onder het account.

  9. Klik en vouw de database uit waarin de gegevens voor het rapport afkomstig zijn. Selecteer nu een verzameling die de gegevens bevat die u wilt ophalen.

    In het voorbeeldvenster ziet u een lijst met recorditems . Een document wordt weergegeven als recordtype in Power BI. Op dezelfde manier is een geneste JSON-blok in een document ook een record. Als u de eigenschappendocumenten als kolommen wilt weergeven, klikt u op de grijze knop met twee pijlen in tegenovergestelde richtingen die de uitbreiding van de record symboliseren. Deze bevindt zich rechts van de naam van de container, in hetzelfde voorbeeldvenster.

  10. In de Power BI Desktop-rapportweergave kunt u beginnen met het maken van rapporten om gegevens te visualiseren. U kunt rapporten maken door velden naar het rapportcanvas te slepen en neer te zetten.

  11. Er zijn twee manieren om gegevens te vernieuwen: ad-hoc en gepland. Klik op Nu vernieuwen om de gegevens te vernieuwen. Raadpleeg de Power BI-documentatie voor meer informatie over de optie geplande vernieuwing.

Bekende problemen en beperkingen

  • Voor gepartitioneerde Cosmos DB-containers wordt een SQL-query met een statistische functie doorgegeven aan Cosmos DB als de query ook een filter (WHERE-component) op de partitiesleutel bevat. Als de statistische query geen filter op de partitiesleutel bevat, wordt de aggregatie uitgevoerd door de connector.

  • De connector geeft geen statistische functie door als deze wordt aangeroepen nadat TOP of LIMIT is toegepast. Cosmos DB verwerkt de TOP-bewerking aan het einde bij het verwerken van een query. In de volgende query wordt TOP bijvoorbeeld toegepast in de subquery, terwijl de statistische functie wordt toegepast boven op die resultatenset:

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

  • Als DISTINCT is opgegeven in een statistische functie, geeft de connector de statistische functie niet door aan Cosmos DB als er een DISTINCT-component is opgegeven in een statistische functie. Wanneer deze aanwezig is in een statistische functie, wordt DISTINCT niet ondersteund door de Cosmos DB SQL-API.

  • Voor de statistische functie SOM retourneert Cosmos DB niet-gedefinieerd als de resultatenset als een van de argumenten in SUM tekenreeks, booleaanse waarde of null is. Als er echter null-waarden zijn, geeft de connector de query door aan Cosmos DB op een zodanige manier dat de gegevensbron de gegevensbron vraagt een null-waarde te vervangen door nul als onderdeel van de BEREKENING SOM.

  • Voor de statistische functie AVG retourneert Cosmos DB niet-gedefinieerd als resultaatset als een van de argumenten in SUM tekenreeks, booleaanse waarde of null is. De connector maakt een verbindingseigenschap beschikbaar om het doorgeven van de statistische FUNCTIE AVG aan Cosmos DB uit te schakelen voor het geval dit standaardgedrag van Cosmos DB moet worden overschreven. Wanneer AVG-passdown is uitgeschakeld, wordt deze niet doorgegeven aan Cosmos DB en verwerkt de connector het uitvoeren van de AVG-aggregatiebewerking zelf. Ga naar 'Enable AVERAGE function Passdown' in Geavanceerde opties voor meer informatie.

  • Azure Cosmos DB-containers met een grote partitiesleutel worden momenteel niet ondersteund in de connector.

  • Aggregatiepassdown is uitgeschakeld voor de volgende syntaxis vanwege serverbeperkingen:

    • Wanneer de query niet filtert op een partitiesleutel of wanneer het partitiesleutelfilter de OPERATOR OR gebruikt met een ander predicaat op het hoogste niveau in de WHERE-component.

    • Wanneer de query een of meer partitiesleutels bevat in een IS NOT NULL-component in de WHERE-component.

  • De V2-connector biedt geen ondersteuning voor complexe gegevenstypen, zoals matrices, objecten en hiërarchische structuren. We raden [Fabric Mirroring for Azure Cosmos DB] (/articles/cosmos-db/analytics-and-business-intelligence-overview.md-functie voor deze scenario's aan.

  • De V2-connector maakt gebruik van steekproeven van de eerste 1000 documenten om het uitgestelde schema te halen. Het wordt niet aanbevolen voor scenario's voor schemaontwikkeling wanneer slechts een deel van de documenten wordt bijgewerkt. Een zojuist toegevoegde eigenschap aan één document in een container met duizenden documenten kan bijvoorbeeld niet worden opgenomen in het afgeleid schema. Voor deze scenario's raden we de functie Fabric Mirroring voor Azure Cosmos DB aan.

  • Momenteel biedt de V2-connector geen ondersteuning voor niet-tekenreekswaarden in objecteigenschappen.

  • Filter passdown is uitgeschakeld voor de volgende syntaxis vanwege serverbeperkingen:

  • Wanneer de query met een of meer statistische kolommen wordt verwezen in de WHERE-component.

Volgende stappen