Visualiser des données Azure Cosmos DB à l’aide de Power BI
S’APPLIQUE À : NoSQL
Cet article décrit les étapes requises pour connecter des données Azure Cosmos DB à Power BI Desktop.
Vous pouvez vous connecter à Azure Cosmos DB à partir de Power BI Desktop à l’aide de l’une des options suivantes :
Utilisez la Mise en miroir dans Microsoft Fabric pour répliquer des données Azure Cosmos DB dans Fabric OneLake. Toutes les modifications apportées à votre base de données sont automatiquement synchronisées avec Fabric OneLake en quasi temps réel, sans affecter les performances de votre base de données source ni consommer d’unités de ressource (RU).
Les rapports Power BI peuvent ensuite accéder aux données directement à partir de OneLake avec le mode DirectLake. Avec les fonctionnalités Copilot améliorées dans Power BI au sein de Fabric, vous pouvez tirer parti de l’IA générative pour obtenir des perspectives clés.
Azure Synapse Link vous permet de générer des rapports Power BI sans que cela ait la moindre incidence sur les performances ou les coûts de vos charges de travail transactionnelles, et sans pipeline ETL.
Vous pouvez utiliser les modes DirectQuery ou importation. Le mode DirectQuery vous permet de créer des tableaux de bord/rapports à l’aide de données en direct provenant de vos comptes Azure Cosmos DB, sans importer ou copier les données dans Power BI.
Connectez Power BI Desktop à un compte Azure Cosmos DB via le connecteur Azure Cosmos DB pour Power BI. Cette option est disponible uniquement en mode Importation et consomme des unités de travail allouées pour vos charges de travail transactionnelles.
Notes
Les rapports créés dans Power BI Desktop peuvent ensuite être publiés sur PowerBI.com. L’extraction directe des données Azure Cosmos DB ne peut pas être effectuée sur PowerBI.com.
Prérequis
Avant de suivre les instructions de ce didacticiel Power BI, assurez-vous de disposer des ressources suivantes :
Créez un compte de base de données Azure Cosmos DB et ajoutez des données à vos conteneurs Azure Cosmos DB.
Pour partager vos rapports dans PowerBI.com, vous devez disposer d’un compte sous PowerBI.com. Pour en savoir plus Power BI et Power BI Pro, visitez https://powerbi.microsoft.com/pricing.
Prise en main
Création de rapports BI avec la mise en miroir dans Microsoft Fabric
Vous pouvez activer la mise en miroir sur vos conteneurs Azure Cosmos DB existants et créer des rapports/tableaux de bord décisionnels sur la base de ces données, en quasi-temps réel. Pour obtenir des instructions pour commencer à utiliser Fabric et la mise en miroir, consultez le tutoriel de mise en miroir pour Azure Cosmos DB.
Génération de rapports BI à l’aide d’Azure Synapse Link
Vous pouvez activer Azure Synapse Link sur vos conteneurs Azure Cosmos DB existants et générer des rapports BI sur ces données en quelques clics à l’aide du portail Azure Cosmos DB. Power BI se connectera à Azure Cosmos DB en utilisant le mode DirectQuery qui vous permet d’interroger vos données Azure Cosmos DB en direct, sans affecter vos charges de travail transactionnelles.
Pour générer un rapport ou un tableau de bord Power BI :
Connectez-vous au portail Azure et accédez à votre compte Azure Cosmos DB.
Dans la section Intégrations, ouvrez le panneau Power BI et sélectionnez Commencer.
Notes
Actuellement, cette option n’est disponible que pour les comptes API pour NoSQL. Vous pouvez créer des affichages T-SQL directement dans des pools SQL serverless Synapse et générer des tableaux de bord BI pour Azure Cosmos DB for MongoDB. Pour plus d’informations, consultez Utiliser Power BI et un pool Synapse SQL serverless pour analyser des données Azure Cosmos DB avec Synapse Link.
À partir de l’onglet Activer Azure Synapse Link, vous pouvez activer Synapse Link sur votre compte à partir de la section Activer Azure Synapse Link pour ce compte. Si Synapse Link est déjà activé pour votre compte, vous ne verrez pas cet onglet. Cette étape est une condition préalable à l’activation de Synapse Link sur vos conteneurs.
Remarque
L’activation d’Azure Synapse Link a des conséquences sur la tarification. Pour plus d’informations, consultez la section Tarification Azure Synapse Link.
Ensuite, dans la section Activer Azure Synapse Link pour vos conteneurs, choisissez les conteneurs requis pour activer Synapse Link.
Si vous avez déjà activé Synapse Link sur certains conteneurs, la case à cocher en regard du nom du conteneur est sélectionnée. Le cas échéant, vous pouvez les désélectionner en fonction des données que vous souhaitez visualiser dans Power BI.
Si Synapse Link n’est pas activé, vous pouvez l’activer sur vos conteneurs existants.
Si l’activation de Synapse Link est en cours sur des conteneurs, les données de ces conteneurs ne seront pas incluses. Vous devrez revenir plus tard dans cet onglet et importer les données lorsque les conteneurs sont activés.
Selon la quantité de données dans vos conteneurs, l’utilisation de Synapse Link peut prendre un certain temps. Pour en savoir plus, consultez l’article Activer Synapse Link sur des conteneurs existants.
Vous pouvez vérifier la progression dans le portail, comme montré dans l’écran suivant. Les conteneurs sont activés avec Synapse Link lorsque l’avancement atteint 100 %.
Dans l’onglet Sélectionner un espace de travail, sélectionnez l’espace de travail Azure Synapse Analytics, puis cliquez sur Suivant. Cette étape crée automatiquement des vues T-SQL dans Synapse Analytics pour les conteneurs sélectionnés précédemment. Pour plus d’informations sur les vues T-SQL nécessaires pour connecter votre Azure Cosmos DB à Power BI, consultez l’article Préparer les vues.
Notes
Vos propriétés de conteneur Azure Cosmos DB sont représentées sous forme de colonnes dans les vues T-SQL, y compris les données JSON imbriquées en profondeur. Il s’agit d’un démarrage rapide pour vos tableaux de bord BI. Ces vues seront disponibles dans votre espace de travail/base de données Synapse. Vous pouvez également utiliser ces mêmes vues dans l’espace de travail Synapse pour l’exploration des données, la science des données, l’ingénierie données, etc. Notez que les scénarios avancés peuvent exiger des vues plus complexes ou un ajustement de ces vues, pour de meilleures performances. Pour plus d’informations, consultez Bonnes pratiques pour Synapse Link lors de l’utilisation de pools SQL serverless Synapse.
Vous pouvez choisir un espace de travail existant ou en créer un. Pour sélectionner un espace de travail existant, fournissez l’abonnement, l’espace de travail et les détails de la base de données. Le portail Azure utilisera vos informations d’identification Microsoft Entra pour se connecter automatiquement à votre espace de travail Synapse et créer des affichages T-SQL. Assurez-vous que vous disposez des autorisations « Administrateur Synapse » sur cet espace de travail.
Sélectionnez ensuite Télécharger .pbids pour télécharger le fichier source de données Power BI. Ouvrez le fichier téléchargé. Il contient les informations de connexion requises et ouvre Power BI Desktop.
Vous pouvez désormais vous connecter aux données Azure Cosmos DB à partir de Power BI Desktop. Une liste des vues T-SQL correspondant aux données de chaque conteneur s’affiche.
Par exemple, l’écran suivant présente les données relatives à la flotte de véhicules. Vous pouvez charger ces données pour les analyser ou les transformer avant de les charger.
Vous pouvez désormais commencer à créer le rapport à l’aide des données analytiques d’Azure Cosmos DB. Toutes les modifications apportées à vos données sont reflétées dans le rapport une fois les données répliquées dans le magasin analytique, ce qui se produit généralement en quelques minutes.
Génération de rapports BI à l’aide d’un connecteur Power BI
Notes
La connexion à Azure Cosmos DB avec le connecteur Power BI est actuellement prise en charge uniquement pour les comptes Azure Cosmos DB for NoSQL et API pour Gremlin.
Démarrez Power BI Desktop.
Vous pouvez obtenir des données, consulter les Sources récentes ou Ouvrir d’autres rapports directement à partir de cet écran d’accueil. Cliquez sur le symbole X en haut à droite pour fermer l’écran. La vue Rapport de Power BI Desktop s’affiche.
Sélectionnez le ruban Accueil, puis cliquez sur Obtenir des données. La fenêtre Obtenir des données doit alors s’afficher.
Cliquez sur Azure, sélectionnez Azure Cosmos DB (bêta) puis cliquez sur Se connecter.
Sur la page Aperçu connecteur, cliquez sur Continuer. La fenêtre Azure Cosmos DB s’affiche.
Spécifiez l’URL du point de terminaison du compte Azure Cosmos DB dont vous souhaitez récupérer les données, comme indiqué ci-dessous, puis cliquez sur OK. Vous pouvez récupérer l’URL dans la zone URI du panneau Clés du portail Azure pour utiliser votre propre compte. Vous pouvez, de manière facultative, fournir un nom de base données, un nom de collection ou utiliser le Navigateur pour sélectionner la base de données et la collection afin d’identifier la provenance des données.
Si vous vous connectez pour la première fois à ce point de terminaison, le système vous demandera la clé du compte. Vous pouvez récupérer la clé dans la zone Clé primaire du panneau Clés en lecture seule du portail Azure pour votre propre compte. Entrez la clé appropriée, puis cliquez sur Connecter.
nous vous recommandons d’utiliser la clé en lecture seule lorsque vous créez des rapports, ce afin de ne pas exposer inutilement la clé principale à des risques de sécurité potentiels. De cette façon, vous n’exposez pas inutilement la clé primaire à des risques de sécurité potentiels. La clé en lecture seule est disponible à partir du panneau Clés du portail Azure.
Une fois le compte connecté, le volet Navigateur s’affiche. Le Navigateur affiche une liste des bases de données attachées au compte.
Cliquez sur la base de données d’où proviennent les données du rapport, puis développez-la. Ensuite, sélectionnez une collection contenant les données à récupérer.
le volet d’aperçu affiche une liste des éléments d’ enregistrement . Dans Power BI, un Document est représenté sous la forme d’un type d’ enregistrement . De même, un bloc JSON imbriqué à l’intérieur d’un document est également considéré comme un enregistrement. Pour afficher les documents des propriétés sous forme de colonnes, cliquez sur le bouton gris comportant deux flèches dans les sens opposés qui symbolisent l’extension de l’enregistrement. Il se trouve à droite du nom du conteneur, dans le même volet de visualisation.
La vue Rapport de Power BI Desktop vous permet de créer des rapports pour visualiser des données. Pour créer des rapports, vous pouvez simplement faire glisser des champs et les déposer dans la zone de dessin Rapport .
Il existe deux manières d’actualiser les données, le modèle ad hoc et la planification. Cliquez simplement sur Actualiser maintenant pour actualiser les données. Consultez la documentation Power BI pour plus d’informations sur l’option d’actualisation planifiée.
Problèmes connus et limitations
Pour les conteneurs Cosmos DB partitionnés, une requête SQL avec une fonction d’agrégation est transmise à Cosmos DB si la requête contient également un filtre (clause WHERE) sur la clé de partition. Si la requête d’agrégation ne contient pas de filtre sur la clé de partition, l’agrégation est effectuée par le connecteur.
Le connecteur ne transmet pas une fonction d’agrégation si elle est appelée après l’application de TOP ou LIMIT. Cosmos DB traite l’opération TOP à la fin du traitement d’une requête. Par exemple, dans la requête suivante, TOP est appliqué dans la sous-requête, tandis que la fonction d’agrégation est appliquée au-dessus de ce jeu de résultats :
SELECT COUNT(1) FROM (SELECT TOP 4 * FROM EMP) E
Si DISTINCT est fourni dans une fonction d’agrégation, le connecteur ne transmet pas la fonction d’agrégation à Cosmos DB si une clause DISTINCT est fournie dans une fonction d’agrégation. Lorsqu’il est présent dans une fonction d’agrégation, DISTINCT n’est pas pris en charge par l’API SQL Cosmos DB.
Pour la fonction d’agrégation SUM, Cosmos DB retourne une valeur non définie comme jeu de résultats si l’un des arguments de SUM est une chaîne, une valeur booléenne ou null. Toutefois, s’il existe des valeurs null, le connecteur transmet la requête à Cosmos DB de telle sorte qu’il demande à la source de données de remplacer une valeur null par zéro dans le cadre du calcul SUM.
Pour la fonction d’agrégation AVG, Cosmos DB retourne undefined comme jeu de résultats si l’un des arguments de SUM est une chaîne, une valeur booléenne ou null. Le connecteur expose une propriété de connexion pour désactiver la transmission de la fonction d’agrégation AVG à Cosmos DB au cas où ce comportement Cosmos DB par défaut doit être remplacé. Lorsque la transmission AVG est désactivée, elle n’est pas transmise à Cosmos DB et le connecteur gère l’exécution de l’opération d’agrégation AVG elle-même. Pour plus d’informations, accédez à « Activer la fonction AVERAGE Passdown » dans Options avancées.
Les conteneurs Azure Cosmos DB avec grande clé de partition ne sont actuellement pas pris en charge dans le connecteur.
La transmission d’agrégation est désactivée pour la syntaxe suivante en raison des limitations du serveur :
Lorsque la requête ne filtre pas sur une clé de partition ou lorsque le filtre de clé de partition utilise l’opérateur OR avec un autre prédicat au niveau supérieur de la clause WHERE.
Lorsque la requête a une ou plusieurs clés de partition qui apparaissent dans une clause IS NOT NULL dans la clause WHERE.
Le connecteur V2 ne prend pas en charge les types de données complexes tels que les tableaux, les objets et les structures hiérarchiques. Pour ces scénarios, nous vous recommandons la fonctionnalité [mise en miroir de Microsoft Fabric pour Azure Cosmos DB] (/articles/cosmos-db/analytics-and-business-intelligence-overview.md).
Le connecteur V2 utilise l’échantillonnage des 1 000 premiers documents pour produire le schéma déduit. Il n’est pas recommandé pour les scénarios d’évolution de schéma lorsqu’une partie uniquement des documents est mise à jour. Par exemple, une propriété nouvellement ajoutée à un document d’un conteneur avec des milliers de documents peut ne pas être incluse dans le schéma déduit. Pour ces scénarios, nous recommandons la fonctionnalité Mise en miroir de Microsoft Fabric pour Azure Cosmos DB.
Actuellement, le connecteur V2 ne prend pas en charge les valeurs non-chaînes dans les propriétés de l’objet.
La transmission de filtre est désactivée pour la syntaxe suivante en raison des limitations du serveur :
Lorsque la requête contenant une ou plusieurs colonnes d’agrégation est référencée dans la clause WHERE.
Étapes suivantes
- Pour plus d’informations sur Power BI, consultez la section Get started with Power BI (Prise en main de Power BI).
- Pour en savoir plus sur Azure Cosmos DB, consultez la page d’accueil de la documentation relative à Azure Cosmos DB.