Partager via


Visualiser les données Azure Cosmos DB pour NoSQL à l’aide de Power BI

Découvrez comment connecter des données Azure Cosmos DB à Power BI Desktop et créer des rapports pertinents pour obtenir des perspectives exploitables.

Important

Synapse Link pour Cosmos DB n’est plus pris en charge pour les nouveaux projets. N’utilisez pas cette fonctionnalité.

Utilisez la fonctionnalité de mise en miroir d'Azure Cosmos DB pour Microsoft Fabric, qui est désormais en disponibilité générale. La mise en miroir offre les mêmes avantages sans ETL et est complètement intégrée à Microsoft Fabric. En savoir plus dans l'aperçu de la mise en miroir de Cosmos DB.

Connecting

Connectez-vous à 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. Lorsque vous apportez des modifications à votre base de données, les mises à jour sont envoyées rapidement à Fabric OneLake. Ce processus ne ralentit pas votre base de données principale ou n’utilise pas de ressources supplémentaires. Power BI signale accéder aux données directement à partir de OneLake à l’aide du mode DirectLake. Avec les fonctionnalités de Copilot améliorées dans Power BI dans Fabric, utilisez l’IA générative pour obtenir des perspectives clés.

  • Utilisez Azure Synapse Link pour créer des rapports Power BI sans impact sur les performances ou les coûts sur vos charges de travail transactionnelles et sans pipelines ETL (Extraction, transformation et chargement). 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 requête allouées pour vos charges de travail transactionnelles.

Note

Publiez les rapports créés dans Power BI Desktop sur PowerBI.com. L’extraction directe des données Azure Cosmos DB ne peut pas être effectuée sur PowerBI.com.

Prerequisites

Avant de suivre les instructions de ce tutoriel Power BI, assurez-vous d’avoir accès à ces ressources :

Pour partager vos rapports dans PowerBI.com, vous avez besoin d’un compte PowerBI.com. Pour en savoir plus Power BI et Power BI Pro, rendez-vous sur l’adresse https://powerbi.microsoft.com/pricing.

Création de rapports BI avec la mise en miroir dans Microsoft Fabric

Activez la mise en miroir sur vos conteneurs Azure Cosmos DB existants pour créez des rapports ou des 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.

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 connecte à Azure Cosmos DB à l’aide du mode Requête directe, ce qui vous permet d’interroger des données Azure Cosmos DB actives sans impact sur les charges de travail transactionnelles.

Pour générer un rapport ou un tableau de bord Power BI :

  1. Connectez-vous au portail Azure et accédez à votre compte Azure Cosmos DB.

  2. Dans la section Intégrations, ouvrez le panneau Power BI et sélectionnez Commencer.

    Note

    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.

  3. À partir de l’onglet Activer Azure Synapse Link, vous pouvez activer Azure Synapse Link sur votre compte à partir de la section Activer Azure Synapse Link pour ce compte. Si Azure Synapse Link est déjà activé pour votre compte, vous ne voyez pas cet onglet. Cette étape est une condition préalable à l’activation d’Azure Synapse Link sur vos conteneurs.

    Note

    L’activation d’Azure Synapse Link a des conséquences sur la tarification. Pour plus d'informations, consultez Tarification d'Azure Synapse Link

  4. Ensuite, dans la section Activer Azure Synapse Link pour vos conteneurs, choisissez les conteneurs requis pour activer Azure Synapse Link.

    • Si vous avez déjà activé Azure 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 Azure Synapse Link n’est pas activé, vous pouvez l’activer sur vos conteneurs existants. Si l’activation d’Azure Synapse Link est en cours sur des conteneurs, les données de ces conteneurs ne sont pas incluses. Vous devrez revenir plus tard dans cet onglet et importer les données lorsque les conteneurs sont activés.

    Capture d’écran montrant la progression d’Azure Synapse Link activée sur les conteneurs existants.

  5. Selon la quantité de données dans vos conteneurs, l’utilisation d’Azure Synapse Link peut prendre un certain temps. Pour en savoir plus, consultez l’article Activer Azure 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 Azure Synapse Link lorsque l’avancement atteint 100 %.

    Capture d’écran montrant l’activation réussie d’Azure Synapse Link sur les conteneurs sélectionnés.

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

    Note

    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. Cette représentation est un démarrage rapide pour vos tableaux de bord décisionnels. Ces vues sont 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 ou l’ingénierie des données. Les scénarios avancés peuvent demander des vues plus complexes ou un réglage précis de ces vues, pour de meilleures performances. Pour plus d’informations. Bonnes pratiques pour Azure Synapse Link lors de l’utilisation de pools SQL serverless Synapse.

  7. Choisissez un espace de travail existant ou créez-en 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 Microsoft Azure utilise vos informations d’identification Microsoft Entra pour se connecter automatiquement à votre espace de travail Synapse et créer des vues T-SQL. Assurez-vous que vous disposez des autorisations « Administrateur Synapse » sur cet espace de travail.

    Capture d’écran montrant comment se connecter à l’espace de travail Azure Synapse Link et créer des vues.

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

    Capture d’écran montrant comment télécharger les fichiers Power BI Desktop au format .pbids.

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

    Capture d’écran montrant les vues T-SQL correspondant aux données de chaque conteneur.

  10. 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 ne sont pas 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

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.

  1. Démarrez Power BI Desktop.

  2. Vous pouvez obtenir des données, consulter les Sources récentes ou Ouvrir d’autres rapports directement à partir de cet écran d’accueil. Fermez l’écran en sélectionnant l’option « X ». La vue Rapport de Power BI Desktop s’affiche.

    Capture d’écran de la vue rapport Power BI Desktop - Connecteur Power BI

  3. Sélectionnez le ruban Accueil, puis sélectionnez Obtenir des données. La fenêtre Obtenir des données doit alors s’afficher.

  4. Sélectionnez Azure, sélectionnez Azure Cosmos DB (bêta), puis sélectionnez Se connecter.

    Capture d’écran de l’option Obtenir des données dans Power BI Desktop - Connecteur Power BI.

  5. Dans la page Connecteur en préversion, sélectionnez Continuer. La fenêtre Azure Cosmos DB s’affiche.

  6. Spécifiez l’URL du point de terminaison du compte Azure Cosmos DB dont vous souhaitez récupérer les données, puis sélectionnez OK. Vous pouvez récupérer l’URL dans la zone URI de la section Clés du portail Microsoft 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.

  7. Si vous vous connectez pour la première fois à ce point de terminaison, le système vous demandera les identifiants du compte.

  8. Une fois le compte connecté, le volet Navigateur s’affiche. Le Navigateur affiche une liste des bases de données attachées au compte.

  9. Sélectionnez 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 de propriétés sous forme de colonnes, sélectionnez le bouton gris avec deux flèches dans les directions opposées qui symbolisent l’expansion de l’enregistrement.

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

  11. Il existe deux façons d’actualiser les données : non planifiées et planifiées. Sélectionnez 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 Azure Cosmos DB partitionnés, une requête SQL avec une fonction d’agrégation est transmise à Azure Cosmos DB si la requête contient un filtre (clause WHERE) sur la clé de partition. Si la requête d’agrégation n’inclut pas de filtre sur la clé de partition, le connecteur effectue l’agrégation.

  • Le connecteur ne passe pas de fonction d’agrégation lorsqu’il suit TOP ou LIMIT.

  • Azure Cosmos DB traite l’opération TOP à la fin lors 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 inclus dans une fonction d’agrégation, le connecteur ne transmet pas la fonction d’agrégation à Azure Cosmos DB. DISTINCT dans une fonction d’agrégation n’est pas prise en charge par Azure Cosmos DB pour NoSQL.

  • Pour la fonction d’agrégation SUM, Azure Cosmos DB retourne undefined si des arguments dans SUM sont des chaînes, booléens ou null. S’il existe des valeurs null, le connecteur transmet la requête à Azure Cosmos DB pour remplacer les valeurs null par zéro pendant le calcul SOMME.

  • Pour la fonction d’agrégation AVG, Azure 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 à Azure Cosmos DB au cas où ce comportement Azure Cosmos DB par défaut doit être remplacé. Lorsque la transmission AVG est désactivée, elle n’est pas transmise à Azure 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 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.

    • La requête comporte une ou plusieurs clés de partition apparaissent dans une clause IS NOT NULL de 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, utilisez la fonctionnalité Mise en miroir de Microsoft Fabric pour Azure Cosmos DB.

  • Le connecteur V2 utilise l’échantillonnage des 1 000 premiers documents pour produire le schéma déduit. Cette approche n’est pas recommandée pour les scénarios d’évolution de schéma où seuls certains documents sont mis à 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.

  • 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