Streaming en temps réel dans Power BI

Power BI avec diffusion en continu en temps réel vous permet de diffuser des données et de mettre à jour les tableaux de bord en temps réel. Tout visuel ou tableau de bord créé dans Power BI peut afficher et mettre à jour des données et des visuels en temps réel. Les appareils et autres sources de données de streaming peuvent être des capteurs, des sources de médias sociaux, des métriques d’utilisation de service, ou d’autres dispositifs permettant de collecter ou transmettre des données.

Cet article vous montre comment configurer et utiliser des jeux de données de streaming en temps réel dans Power BI.

Capture d’écran du tableau de bord Capteurs d’environnement, qui présente les résultats des données en temps réel.

Types de jeux de données en temps réel

Tout d’abord, il est important de comprendre les types de jeux de données en temps réel qui sont conçus pour s’afficher dans des vignettes et des tableaux de bord, et comment ces jeux de données diffèrent.

Les trois types de jeux de données en temps réel suivants sont conçus pour être affichés sur des tableaux de bord en temps réel :

  • Jeu de données de transmission
  • Jeu de données de streaming
  • Jeu de données de streaming PubNub

Cette section explique en quoi ces jeux de données diffèrent les uns des autres. Les sections ultérieures décrivent comment envoyer des données dans chacun de ces jeux de données.

Jeu de données de transmission

Avec un jeu de données de transmission, les données sont transmises au service Power BI. Lorsque le jeu de données est créé, le service Power BI crée automatiquement une base de données dans le service pour y stocker les données.

Étant donné qu’il existe une base de données sous-jacente qui stocke les données à mesure qu’elles arrivent, vous pouvez créer des rapports avec les données. Ces rapports et leurs visuels sont comme n’importe quel autre visuel de rapport. Vous pouvez utiliser toutes les fonctionnalités de création de rapports de Power BI, telles que les visuels Power BI, les alertes de données et les vignettes de tableau de bord épinglées.

Une fois que vous avez créé un rapport à l’aide du jeu de données Push, vous pouvez épingler n’importe quel visuel de rapport à un tableau de bord. Dans ce tableau de bord, les visuels sont mis à jour en temps réel chaque fois que les données sont mises à jour. Dans le service Power BI, le tableau de bord déclenche une actualisation de vignette chaque fois que de nouvelles données sont reçues.

Il existe deux éléments à prendre en compte concernant les vignettes épinglées à partir d’un jeu de données de transmission :

  • L’épinglage d’un rapport entier à l’aide de l’option Épingler en direct n’entraîne pas la mise à jour automatique des données.
  • Une fois que vous avez épinglé un visuel à un tableau de bord, vous pouvez utiliser Q&A pour poser des questions sur le jeu de données Push en langage naturel. Après avoir créé une requête Q&A , vous pouvez épingler le visuel résultant au tableau de bord, et ce visuel sera également mis à jour en temps réel.

Jeu de données de streaming

Un jeu de données de streaming envoie également des données dans le service Power BI, avec une différence importante : Power BI stocke les données uniquement dans un cache temporaire, qui expire rapidement. Le cache temporaire est utilisé uniquement pour afficher des visuels qui ont un historique temporaire, par exemple un graphique en courbes qui a une fenêtre de temps d’une heure.

Un jeu de données de streaming n’a pas de base de données sous-jacente. Vous ne pouvez donc pas générer de visuels de rapport à l’aide des données qui transitent à partir du flux. Par conséquent, vous ne pouvez pas utiliser les fonctionnalités de rapport telles que le filtrage, les visuels Power BI et d’autres fonctions de rapport.

La seule façon de visualiser un jeu de données de streaming consiste à ajouter une vignette et à utiliser le jeu de données de streaming en tant que source de données de streaming personnalisées. Les vignettes de streaming personnalisées basées sur un jeu de données de streaming sont optimisées pour afficher rapidement les données en temps réel. Il y a peu de latence entre le push des données dans le service Power BI et la mise à jour du visuel, car il n’est pas nécessaire d’entrer ou de lire les données dans une base de données.

Dans la pratique, il est préférable d’utiliser des jeux de données de streaming et leurs visuels de diffusion en continu dans les situations où il est essentiel de réduire la latence entre l’envoi (push) et la visualisation des données. Les données doivent être envoyées (push) dans un format qui peut être visualisé tel quel, sans plus d’agrégations. Les températures et les moyennes précalcalées sont des exemples de données prêtes telles quelles.

Jeu de données de streaming PubNub

Avec un jeu de données de diffusion en continu PubNub, le client web Power BI utilise le Kit de développement logiciel (SDK) PubNub pour lire un flux de données PubNub existant. Le service Power BI ne stocke aucune donnée. Étant donné que le client web effectue cet appel directement, si vous autorisez uniquement le trafic sortant approuvé à partir de votre réseau, vous devez répertorier le trafic vers PubNub comme autorisé. Pour obtenir des instructions, consultez l’article de support sur l’approbation du trafic sortant pour PubNub.

Comme avec le jeu de données de streaming, avec le jeu de données de streaming PubNub, il n’y a pas de base de données Power BI sous-jacente. Vous ne pouvez pas créer de visuels de rapport sur les données qui circulent et ne pouvez pas utiliser les fonctionnalités de rapport telles que le filtrage ou les visuels Power BI. Vous pouvez visualiser un jeu de données de streaming PubNub uniquement en ajoutant une vignette au tableau de bord et en configurant un flux de données PubNub comme source.

Les vignettes basées sur le jeu de données de streaming PubNub sont optimisées pour afficher rapidement les données en temps réel. Étant donné que Power BI est directement connecté au flux de données PubNub, il y a peu de latence entre le push des données dans le service Power BI et la mise à jour du visuel.

Matrice de jeu de données de streaming

Le tableau suivant décrit les trois types de jeux de données pour la diffusion en continu en temps réel et répertorie leurs fonctionnalités et limitations.

Fonctionnalité Envoi de données (push) Diffusion en continu PubNub
Les vignettes de tableau de bord sont mises à jour en temps réel à mesure que les données sont envoyées Oui.
Pour les visuels générés via des rapports, puis épinglés au tableau de bord.
Oui.
Pour les vignettes de streaming personnalisées ajoutées directement au tableau de bord.
Oui.
Pour les vignettes de streaming personnalisées ajoutées directement au tableau de bord.
Mise à jour des vignettes du tableau de bord avec des animations fluides Non. Oui. Oui.
Données stockées en permanence dans Power BI à des fins d’analyse historique Oui. Non.
Les données sont stockées temporairement pendant une heure pour afficher les visuels.
Non.
Créer des rapports Power BI au-dessus des données Oui. Non. Non.
Débit maximal d’ingestion de données 1 demandes
16 Mo/demande
5 demandes
15 Ko/demande
N/A
Les données ne sont pas envoyées dans Power BI.
Limites du débit des données 1 million de lignes/heure Aucun. N/A
Les données ne sont pas envoyées dans Power BI.

Envoyer (push) des données vers des jeux de données

Cette section explique comment créer et envoyer des données dans les trois principaux types de jeux de données en temps réel que vous pouvez utiliser en streaming en temps réel.

Vous pouvez envoyer des données dans un jeu de données à l’aide des méthodes suivantes :

  • API REST Power BI
  • Interface utilisateur du jeu de données de streaming Power BI
  • Azure Stream Analytics

Utiliser les API REST Power BI pour envoyer des données

Vous pouvez utiliser les API REST Power BI pour créer et envoyer des données pour envoyer (push) des jeux de données et des jeux de données de streaming. Lorsque vous créez un jeu de données à l’aide d’API REST Power BI, l’indicateur defaultMode spécifie si le jeu de données est envoyé (push) ou en streaming.

Si aucun indicateur n’est defaultMode défini, le jeu de données est défini par défaut sur un jeu de données push. Si la defaultMode valeur est définie sur , le jeu de données est à pushStreamingla fois un jeu de données push et de streaming, et offre les avantages des deux types de jeux de données.

Remarque

Lorsque vous utilisez des jeux de données avec l’indicateur defaultMode défini pushStreamingsur , si une requête dépasse la limite de taille de 15 Ko pour un jeu de données de streaming, mais est inférieure à la restriction de taille de 16 Mo pour un jeu de données Push, la demande réussit et les mises à jour des données dans le jeu de données push. Toutefois, toutes les vignettes de diffusion en continu échouent temporairement.

Une fois qu’un jeu de données est créé, vous pouvez utiliser les API REST PostRows pour envoyer des données. Toutes les demandes adressées aux API REST sont sécurisées à l’aide d’Azure Active Directory (Azure AD) OAuth.

Utiliser l’interface utilisateur du jeu de données de streaming pour envoyer des données

Dans le service Power BI, vous pouvez créer un jeu de données en sélectionnant l’approche d’API, comme illustré dans la capture d’écran suivante :

Capture d’écran des choix du nouveau jeu de données de streaming, montrant la sélection de l’API.

Lorsque vous créez le nouveau jeu de données de streaming, vous pouvez activer l’analyse des données historiques, comme illustré dans la capture d’écran suivante. Cette sélection a un impact significatif.

Capture d’écran du nouveau jeu de données de streaming, montrant l’analyse des données historiques activée.

Lorsque l’analyse des données historiques est désactivée, comme c’est le cas par défaut, vous créez un jeu de données de streaming comme décrit précédemment. Lorsque l’analyse des données historiques est activée, le jeu de données que vous créez devient à la fois un jeu de données de streaming et un jeu de données push. Ce paramètre équivaut à utiliser les API REST Power BI pour créer un jeu de données avec la defaultMode valeur pushStreaming, comme décrit précédemment.

Remarque

Les jeux de données de streaming créés à l’aide de l’interface utilisateur service Power BI ne nécessitent pas d’authentification Azure AD. Dans ces jeux de données, le propriétaire du jeu de données reçoit une URL avec une clé de ligne, qui autorise le demandeur à envoyer des données dans le jeu de données sans utiliser de jeton de porteur OAuth Azure AD. Toutefois, l’approche Azure AD fonctionne toujours pour envoyer des données dans le jeu de données.

Utiliser Azure Stream Analytics pour envoyer des données

Vous pouvez ajouter Power BI en tant que sortie dans Azure Stream Analytics, puis visualiser ces flux de données dans le service Power BI en temps réel. Cette section décrit les détails techniques de ce processus.

Azure Stream Analytics utilise les API REST Power BI pour créer son flux de données de sortie vers Power BI, avec defaultMode la valeur définie sur pushStreaming. Le jeu de données résultant peut utiliser à la fois le push et la diffusion en continu. Lorsque vous créez le jeu de données, Azure Stream Analytics définit l’indicateur retentionPolicy sur basicFIFO. Avec ce paramètre, la base de données qui prend en charge le jeu de données push stocke 200 000 lignes et supprime les lignes en mode PREMIER entré premier sorti (FIFO).

Important

Si votre requête Azure Stream Analytics génère une sortie très rapide vers Power BI, par exemple une ou deux fois par seconde, Azure Stream Analytics commence à traiter les sorties par lot en une seule requête. Ce traitement par lots peut entraîner le dépassement de la taille de la demande dans la limite des vignettes de diffusion en continu et le rendu des vignettes de diffusion en continu peut échouer. Dans ce cas, la meilleure pratique consiste à ralentir le débit de sortie des données vers Power BI. Par exemple, au lieu d’une valeur maximale toutes les secondes, demandez une valeur maximale supérieure à 10 secondes.

Configurer votre jeu de données de streaming en temps réel dans Power BI

Pour commencer à utiliser la diffusion en continu en temps réel, vous choisissez l’une des façons suivantes de consommer des données de streaming dans Power BI :

  • Vignettes avec des visuels provenant de données de streaming
  • Jeux de données créés à partir de données de streaming qui persistent dans Power BI

Pour l’une ou l’autre option, vous devez configurer des données de streaming dans Power BI. Pour que votre jeu de données de streaming en temps réel fonctionne dans Power BI :

  1. Dans un tableau de bord existant ou nouveau, sélectionnez Ajouter une vignette.

  2. Dans la page Ajouter une vignette , sélectionnez Données de streaming personnalisées, puis Suivant.

    Capture d’écran de la page Ajouter une vignette, montrant la sélection Données de streaming personnalisées.

  3. Dans la page Ajouter une vignette de données de streaming personnalisée , vous pouvez sélectionner un jeu de données existant ou sélectionner Gérer les jeux de données pour importer votre jeu de données de streaming si vous en avez déjà créé un. Si vous n’avez pas encore configuré les données de streaming, sélectionnez Ajouter un jeu de données de streaming pour commencer.

    Capture d’écran du tableau de bord, montrant le lien Ajouter un jeu de données de streaming dans la vignette Ajouter des données de streaming personnalisées.

  4. Dans la page Nouveau jeu de données de streaming, sélectionnez API, Azure Stream ou PubNub, puis suivant.

    Capture d’écran des choix de nouveau jeu de données de streaming, montrant les options API, Azure Stream et PubNub.

Créer un jeu de données de streaming

Il existe trois façons de créer un flux de données de streaming en temps réel que Power BI peut utiliser et visualiser :

  • API REST Power BI utilisant un point de terminaison de streaming en temps réel
  • Azure Stream
  • PubNub

Cette section décrit les options API REST et PubNub Power BI, et explique comment créer une vignette ou un jeu de données de streaming à partir de la source de données de streaming. Vous pouvez ensuite utiliser le jeu de données pour générer des rapports. Pour plus d’informations sur l’option Azure Stream, consultez Sortie Power BI d’Azure Stream Analytics.

Utiliser l’API REST Power BI

L’API REST Power BI facilite la diffusion en temps réel pour les développeurs. Après avoir sélectionné API sur l’écran Nouveau jeu de données de streaming et sélectionné Suivant, vous pouvez fournir des entrées qui permettent à Power BI de se connecter et d’utiliser votre point de terminaison. Pour plus d’informations sur l’API, consultez Utiliser les API REST Power BI.

Capture d’écran de la boîte de dialogue Nouveau jeu de données de streaming, montrant les entrées d’API REST Power BI pour une connexion.

Si vous souhaitez que Power BI stocke les données envoyées par ce flux de données, afin de pouvoir créer des rapports et analyser les données collectées, activez l’analyse des données historiques.

Une fois que vous avez créé votre flux de données, vous obtenez un point de terminaison d’URL d’API REST. Votre application peut appeler le point de terminaison à l’aide POST de demandes pour envoyer vos données de streaming au jeu de données Power BI. Dans vos POST requêtes, assurez-vous que le corps de la requête correspond à l’exemple JSON fourni par l’interface utilisateur Power BI. Par exemple, encapsulez vos objets JSON dans un tableau.

Attention

Pour les jeux de données de streaming que vous créez dans l’interface utilisateur service Power BI, le propriétaire du jeu de données obtient une URL qui inclut une clé de ressource. Cette clé autorise le demandeur à envoyer des données dans le jeu de données sans utiliser de jeton de porteur OAuth Azure AD. Gardez à l’esprit les implications de l’utilisation d’une clé secrète dans l’URL lorsque vous utilisez ce type de jeu de données et de méthode.

Utiliser PubNub

L’intégration du streaming PubNub à Power BI vous permet de créer et d’utiliser vos flux de données PubNub à faible latence dans Power BI. Lorsque vous sélectionnez PubNub sur l’écran Nouveau jeu de données de streaming et sélectionnez Suivant, l’écran suivant s’affiche :

Capture d’écran de la boîte de dialogue Nouveau jeu de données de streaming, montrant les entrées PubNub pour la connexion.

Important

Vous pouvez sécuriser les canaux PubNub à l’aide d’une clé d’authentification PubNub Access Manager (PAM). Cette clé est partagée avec tous les utilisateurs qui ont accès au tableau de bord. Pour plus d’informations sur le contrôle d’accès PubNub, consultez Gérer l’accès.

Les flux de données PubNub sont souvent volumineux et ne conviennent pas toujours pour le stockage et l’analyse historique dans leur forme d’origine. Pour utiliser Power BI pour l’analyse historique des données PubNub, vous devez agréger le flux PubNub brut et l’envoyer à Power BI, par exemple à l’aide d’Azure Stream Analytics.

Exemple de streaming en temps réel dans Power BI

Voici un exemple de fonctionnement de la diffusion en continu en temps réel dans Power BI. Cet exemple utilise un flux disponible publiquement à partir de PubNub. Suivez l’exemple pour voir la valeur du streaming en temps réel pour vous-même.

  1. Dans le service Power BI, sélectionnez ou créez un tableau de bord. En haut de l’écran, sélectionnez Modifier>Ajouter une vignette.

  2. Dans l’écran Ajouter une vignette , sélectionnez Données de streaming personnalisées, puis Suivant.

    Capture d’écran du tableau de bord, montrant la sélection de données de streaming personnalisées dans la section Ajouter une vignette.

  3. Dans la page Ajouter une vignette de données de streaming personnalisée , sélectionnez Ajouter un jeu de données de streaming.

    Capture d’écran du tableau de bord, montrant le lien Ajouter un jeu de données de streaming dans la vignette Ajouter des données de streaming personnalisées.

  4. Dans la page Nouveau jeu de données de streaming , sélectionnez PubNub, puis Suivant.

  5. Dans l’écran suivant, entrez un nom de jeu de données, entrez les valeurs suivantes dans les deux champs suivants, puis sélectionnez Suivant.

    • Sous-clé :sub-c-99084bc5-1844-4e1c-82ca-a01b18166ca8
    • Nom du canal :pubnub-sensor-network

    Capture d’écran de la boîte de dialogue Nouveau jeu de données de streaming, montrant comment créer un nom et des entrées de jeu de données dans les champs Sous-clé et Canal.

  6. Dans l’écran suivant, conservez les valeurs renseignées automatiquement, puis sélectionnez Créer.

    Capture d’écran de la boîte de dialogue Nouveau jeu de données de streaming, montrant les valeurs par défaut du nom du jeu de données et les valeurs des champs de flux.

  7. De retour dans votre espace de travail Power BI, créez un tableau de bord et, en haut de l’écran, sélectionnez Modifier>Ajouter une vignette.

  8. Sélectionnez Données de streaming personnalisées, puis Suivant.

  9. Dans la page Ajouter une vignette de données de diffusion en continu personnalisée , sélectionnez votre nouveau jeu de données de streaming, puis sélectionnez Suivant.

    Jouez avec l’exemple de jeu de données. En ajoutant des champs de valeur aux graphiques en courbes et en ajoutant d’autres vignettes, vous pouvez obtenir un tableau de bord en temps réel qui ressemble à la capture d’écran suivante :

    Capture d’écran du tableau de bord Capteurs d’environnement, montrant les résultats en temps réel.

Créez vos propres jeux de données et diffusez des données en direct vers Power BI.

Questions et réponses

Voici quelques questions et réponses courantes sur la diffusion en continu en temps réel dans Power BI.

Pouvez-vous utiliser des filtres sur les jeux de données push ou de streaming ?

Les jeux de données de streaming ne prennent pas en charge le filtrage. Pour les jeux de données de transmission, vous pouvez créer un rapport, filtrer le rapport et épingler les visuels filtrés sur un tableau de bord. Toutefois, il n’existe aucun moyen de modifier le filtre sur le visuel une fois qu’il se trouve sur le tableau de bord.

Vous pouvez épingler la vignette de rapport dynamique au tableau de bord séparément, puis modifier les filtres. Toutefois, les vignettes de rapport en direct ne sont pas mises à jour en temps réel à mesure que les données sont envoyées. Vous devez mettre à jour manuellement le visuel en sélectionnant l’icône Actualiser en haut à droite sur la page du tableau de bord.

Lorsque vous appliquez des filtres à des jeux de données push qui ont DateTime des champs avec une précision en millisecondes, les opérateurs d’équivalence ne sont pas pris en charge. Les opérateurs tels que supérieurs > ou inférieurs à < fonctionnent correctement.

Comment voyez-vous la dernière valeur sur les jeux de données push ou de streaming ?

Les jeux de données de streaming sont conçus pour afficher les données les plus récentes. Vous pouvez utiliser le type visuel de streaming de carte pour afficher facilement les dernières valeurs numériques. Les visuels de carte ne prennent pas en charge DateTime les types de données ou Text .

Pour les jeux de données push, si vous avez un horodatage dans le schéma, vous pouvez essayer de créer un visuel de rapport avec le last N filtre.

Comment pouvez-vous effectuer une modélisation sur des jeux de données en temps réel ?

La modélisation n’est pas possible sur un jeu de données de streaming, car les données ne sont pas stockées définitivement. Pour un jeu de données push, vous pouvez utiliser l’API REST create dataset pour créer un jeu de données avec des relations et des mesures, et utiliser les API REST de table de mise à jour pour ajouter des mesures à des tables existantes.

Comment effacer toutes les valeurs d’un jeu de données push ou de streaming ?

Sur un jeu de données push, vous pouvez utiliser l’appel d’API REST de suppression de lignes . Il n’existe aucun moyen d’effacer les données d’un jeu de données de streaming, bien que les données s’effacent d’elles-mêmes après une heure.

Si vous configurez une sortie Azure Stream Analytics sur Power BI, mais que vous ne la voyez pas dans Power BI, qu’est-ce qui ne va pas ?

Procédez comme suit pour résoudre le problème :

  1. Redémarrez le travail Azure Stream Analytics.
  2. Essayez de réautoriser votre connexion Power BI dans Azure Stream Analytics.
  3. Vérifiez que vous vérifiez le même espace de travail dans le service Power BI que vous avez spécifié pour la sortie Azure Stream Analytics.
  4. Assurez-vous que la requête Azure Stream Analytics génère explicitement la sortie Power BI à l’aide du INTO mot clé.
  5. Déterminez si le travail Azure Stream Analytics contient des données qui y transitent. Le jeu de données est créé uniquement lorsque des données sont transmises.
  6. Examinez les journaux Azure Stream Analytics pour voir s’il existe des avertissements ou des erreurs.

Actualisation automatique de la page

Vous pouvez utiliser l’actualisation automatique des pages au niveau d’une page de rapport pour définir un intervalle d’actualisation pour les visuels qui n’est actif que lorsque la page est consommée. L’actualisation automatique de la page est disponible uniquement pour les sources de données DirectQuery. L’intervalle d’actualisation minimal dépend du type d’espace de travail où le rapport est publié et des paramètres d’administration de capacité pour les espaces de travail Premium.

Pour plus d’informations sur l’actualisation automatique des pages, consultez Actualisation automatique des pages dans Power BI.

Étapes suivantes