Real-Time Dashboards in Power BI: Streaming Data and Live Updates

Build Power BI real-time dashboards that display streaming data with live updates — covering streaming datasets, Azure Event Hubs integration, and IoT analytics patterns.

E
ECOSIRE Research and Development Team
|19 mars 202614 min de lecture3.1k Mots|

Tableaux de bord en temps réel dans Power BI : données en streaming et mises à jour en direct

La plupart des plateformes d'analyse sont conçues pour les données d'hier : elles s'actualisent selon des plannings mesurés en minutes ou en heures, et les utilisateurs comprennent que ce qu'ils voient est un instantané d'un moment donné dans le passé. Pour la plupart des cas d’utilisation analytique, c’est très bien.

Mais il existe une classe de problèmes pour lesquels les données d'hier sont inutiles : surveillance d'une ligne de fabrication où un défaut de qualité doit être détecté en quelques secondes, suivi de la charge en temps réel sur l'infrastructure du serveur, surveillance de la fraude dans les transactions de vente au détail au fur et à mesure qu'elle se produit ou gestion des positions du parc de véhicules en temps réel. Pour ces cas d'utilisation, les fonctionnalités de streaming et en temps réel de Power BI transforment les tableaux de bord des outils de révision historique en moniteurs opérationnels en direct.

Ce guide couvre les trois approches de Power BI en matière de données en temps réel, l'architecture technique de chacune, les étapes de configuration pratiques et les modèles de surveillance IoT et opérationnelle où les tableaux de bord en temps réel offrent le plus de valeur.

Points clés à retenir

  • Power BI prend en charge trois modes de streaming : jeux de données push (API REST), jeux de données en streaming (sans historique) et streaming hybride (API REST avec historique)
  • Azure Event Hubs et Azure Stream Analytics constituent le pipeline standard pour l'IoT et le streaming d'événements à haut volume
  • Les vignettes de streaming sur les tableaux de bord Power BI sont mises à jour en temps réel sans actualisation de page
  • Les ensembles de données Push prennent en charge l'analyse historique ; les ensembles de données de streaming pur affichent uniquement l'état actuel
  • Les tableaux de bord en temps réel fonctionnent mieux pour la surveillance opérationnelle que pour l'analyse exploratoire
  • La limite de l'ensemble de données en streaming est de 1 million de lignes par heure et par ensemble de données
  • Power BI intégré peut afficher des tableaux de bord en temps réel dans des applications opérationnelles personnalisées
  • La détection des anomalies peut s'exécuter sur les données en streaming à l'aide d'Azure Stream Analytics avant que les données n'atteignent Power BI

Les trois modes temps réel de Power BI

Power BI propose trois approches distinctes des données en temps réel, chacune avec des fonctionnalités et des compromis différents.

Mode 1 : ensembles de données en streaming (diffusion pure) Les données sont poussées vers un ensemble de données de streaming via l'API REST. Les tableaux de bord sont mis à jour en temps réel. Aucune donnée historique n'est stockée : l'ensemble de données affiche uniquement l'état actuel/récent. Considérez-le comme un téléscripteur en direct, et non comme un record historique.

  • Idéal pour : mesures opérationnelles en direct lorsque le contexte historique n'est pas nécessaire
  • Conservation des données : Aucune (ou fenêtre très courte)
  • Types de rapports : vignettes du tableau de bord uniquement (pas de rapports)
  • Latence : temps quasi réel (secondes)
  • Limite : 1 million de lignes/heure par ensemble de données

Mode 2 : Push Datasets (API avec historique) Les données sont poussées via l'API REST et stockées dans l'ensemble de données Power BI (comme le mode d'importation). Les tableaux de bord sont mis à jour à mesure que de nouvelles données arrivent. Des rapports et des graphiques complets sont disponibles car l'historique est conservé. Les actualisations se produisent au fur et à mesure que les données arrivent, et non selon un calendrier.

  • Idéal pour : surveillance opérationnelle avec analyse des tendances
  • Conservation des données : historique complet (limité par la taille de l'ensemble de données en mode importation)
  • Types de rapports : Rapports complets + vignettes du tableau de bord
  • Latence : temps quasi réel (secondes)
  • Limite : 1 million de lignes par heure et par ensemble de données, 5 millions de lignes au total (extensible avec Premium)

Mode 3 : Requête directe/Connexion en direct (basée sur une base de données) Power BI se connecte à une base de données en direct ou à une instance Azure Analysis Services et l'interroge en temps réel. À mesure que les données sous-jacentes changent, les graphiques Power BI reflètent la modification lors de l'actualisation.

  • Idéal pour : requêtes analytiques riches sur une base de données analytique en direct
  • Conservation des données : gérée par le système backend
  • Types de rapports : rapports interactifs complets
  • Latence : secondes à minutes (dépend des performances de la requête et de la source)
  • Limite : Capacité de la base de données source

Azure Event Hubs + Architecture Stream Analytics

Pour l’IoT et le streaming d’événements à grand volume, l’architecture recommandée achemine les données via les services Azure avant qu’elles n’atteignent Power BI :

IoT Devices / Application Events
        ↓
Azure IoT Hub / Azure Event Hubs
(ingestion layer — billions of events/day)
        ↓
Azure Stream Analytics
(real-time processing, windowing, aggregation)
        ↓
Power BI Streaming Dataset
(display layer — dashboard tiles update live)

Pourquoi cette architecture ?

Les données brutes de l'IoT arrivent à grande vitesse (des milliers d'événements par seconde provenant de capteurs de fabrication, de télémétrie de véhicule ou de journaux d'application). Les ensembles de données de streaming Power BI peuvent gérer 1 million de lignes/heure, ce qui est suffisant pour les données agrégées, mais pas pour les flux bruts de capteurs haute fréquence.

Azure Stream Analytics se situe au milieu, appliquant des agrégations échelonnées dans le temps qui réduisent le volume de données à quelque chose que Power BI peut gérer tout en ajoutant une valeur analytique :

-- Stream Analytics query: aggregate sensor readings every 30 seconds
SELECT
    System.Timestamp() AS WindowEnd,
    DeviceId,
    AVG(Temperature) AS AvgTemperature,
    MAX(Temperature) AS MaxTemperature,
    MIN(Temperature) AS MinTemperature,
    COUNT(*) AS ReadingCount,
    AVG(Pressure) AS AvgPressure,
    CASE
        WHEN AVG(Temperature) > 85 THEN 'Critical'
        WHEN AVG(Temperature) > 75 THEN 'Warning'
        ELSE 'Normal'
    END AS AlertLevel
INTO [PowerBIOutput]
FROM [IoTHubInput] TIMESTAMP BY EventTime
GROUP BY DeviceId, TUMBLINGWINDOW(second, 30)

Cette requête reçoit des relevés bruts de température et de pression provenant de milliers d’appareils et génère un enregistrement agrégé par appareil par fenêtre de 30 secondes, transformant ainsi des millions d’événements bruts par heure en dizaines de milliers d’enregistrements agrégés que Power BI gère facilement.


Création d'un ensemble de données de streaming dans Power BI

Étape 1 : Créer l'ensemble de données de streaming

Dans le service Power BI → Espace de travail → Nouveau → Ensemble de données en streaming.

Sélectionnez « API » comme source de données (pour le push API REST). Définissez le schéma — les champs qui seront poussés avec chaque enregistrement de données :

Nom du champType de données
HorodatageDateHeure
ID de périphériqueTexte
TempératureNuméro
PressionNuméro
Niveau d'alerteTexte
Ligne de machinesTexte

Définissez « Analyse des données historiques » sur ON si vous souhaitez stocker l'historique pour une analyse au niveau du rapport. OFF crée un ensemble de données de streaming pur.

Après création, Power BI fournit :

  • Push URL : point de terminaison REST où les données sont envoyées
  • Clé API : authentification pour le point de terminaison push

Étape 2 : Transférer les données vers l'ensemble de données de streaming

Tout système capable d'effectuer des requêtes HTTP POST peut transmettre des données. Le format de la charge utile :

[
  {
    "Timestamp": "2026-03-19T14:32:15Z",
    "DeviceID": "LINE-A-SENSOR-007",
    "Temperature": 72.4,
    "Pressure": 14.7,
    "AlertLevel": "Normal",
    "MachineLine": "Assembly Line A"
  }
]

Poussez via curl pour tester :

curl -X POST \
  "https://api.powerbi.com/beta/{tenant}/datasets/{datasetId}/rows?key={apiKey}" \
  -H "Content-Type: application/json" \
  -d '[{"Timestamp":"2026-03-19T14:32:15Z","DeviceID":"LINE-A-SENSOR-007","Temperature":72.4,"Pressure":14.7,"AlertLevel":"Normal","MachineLine":"Assembly Line A"}]'

Étape 3 : Créer des vignettes de tableau de bord

Dans un tableau de bord Power BI, cliquez sur « Ajouter une vignette » → Données de streaming personnalisées → sélectionnez votre ensemble de données de streaming → configurez la visualisation (jauge, graphique linéaire, carte, etc.) → ajouter au tableau de bord.

Les vignettes des ensembles de données en streaming se mettent automatiquement à jour à mesure que de nouvelles données arrivent – ​​aucune actualisation de page n’est requise.


Création de tableaux de bord de fabrication en temps réel

La fabrication est l’un des cas d’utilisation de Power BI en temps réel les plus impactants. Les lignes de production génèrent des données constantes de capteurs : températures, pressions, vitesses, comptages et résultats de contrôle qualité. Un tableau de bord en temps réel offre aux responsables des opérations et aux ingénieurs qualité une vue instantanée de l'état de la ligne.

Mise en page du tableau de bord de fabrication en temps réel :

Vignettes KPI (rangée du haut) :

  • OEE actuel (Efficacité globale de l'équipement) - mis à jour toutes les minutes
  • Unités produites aujourd'hui par rapport à l'objectif - mises à jour avec chaque décompte de production
  • Taux de défauts (30 dernières minutes) — mis à jour au fur et à mesure que les contrôles de qualité sont enregistrés
  • Alertes actives (nombre d'avertissements/conditions critiques actuelles)

Visuel d'état de la ligne : Un visuel de jauge ou de tableau de bord montrant l'état actuel de chaque ligne de production (en cours d'exécution, inactif, défaut) avec un code couleur. Mis à jour toutes les 30 secondes à partir de l'ensemble de données de streaming.

Tendance de température (2 dernières heures) : Graphique linéaire montrant la température par zone de la machine sur une fenêtre glissante de 2 heures. Les anomalies de température (approchant un seuil critique) apparaissent sous forme de pointes visuelles avant de déclencher des pannes sur les équipements.

Flux d'alertes : Une vignette de tableau affichant les 10 alertes les plus récentes : ID de l'appareil, type d'alerte, gravité et horodatage. Les nouvelles alertes apparaissent en haut au fur et à mesure qu’elles sont transmises à l’ensemble de données de streaming.


Surveillance des transactions financières en temps réel

Les sociétés de services financiers utilisent les tableaux de bord en temps réel Power BI pour la surveillance des transactions, en particulier pour la détection des fraudes où l'identification des transactions anormales quelques secondes après leur traitement est essentielle.

Architecture de suivi financier en temps réel :

Processeur de paiement → Azure Event Hub → Stream Analytics (appliquer des règles de notation de fraude) → Ensemble de données de streaming Power BI

Stream Analytics applique des règles qui classent les transactions :

SELECT
    System.Timestamp() AS Timestamp,
    MerchantCategory,
    COUNT(*) AS TransactionCount,
    SUM(Amount) AS TotalAmount,
    AVG(Amount) AS AvgAmount,
    SUM(CASE WHEN FraudScore > 0.8 THEN 1 ELSE 0 END) AS HighRiskCount,
    SUM(CASE WHEN FraudScore > 0.8 THEN Amount ELSE 0 END) AS HighRiskAmount
INTO [PowerBIOutput]
FROM [TransactionInput] TIMESTAMP BY TransactionTime
GROUP BY MerchantCategory, TUMBLINGWINDOW(minute, 5)

Le tableau de bord Power BI affiche des fenêtres glissantes de 5 minutes d’indicateurs de volume, de valeur et de risque de fraude des transactions. Une augmentation du nombre de transactions à haut risque déclenche un examen immédiat et, comme les données arrivent quelques secondes après les transactions, l'équipe des opérations anti-fraude peut intervenir alors que les transactions sont encore en attente d'autorisation.


Tableaux de bord de surveillance des appareils IoT

Les déploiements IoT (capteurs de bâtiments intelligents, véhicules connectés, réseaux de surveillance environnementale) génèrent une télémétrie continue que Power BI peut visualiser en temps réel.

Surveillance des bâtiments intelligents : Les capteurs du bâtiment (température, humidité, CO2, occupation, consommation d’énergie) transmettent des données toutes les 60 secondes à Azure IoT Hub. Stream Analytics regroupe par étage et par zone. Les tableaux de bord Power BI affichent :

  • Carte de température étage par étage (utilisant le visuel matriciel de Power BI conçu comme une carte thermique)
  • Consommation d'énergie en temps réel par zone de bâtiment
  • Le taux d'occupation compte avec la corrélation de l'efficacité CVC
  • Indicateurs de qualité de l'air avec alertes de seuil

Gestion de flotte : La télémétrie GPS du véhicule transmet les codes de localisation, de vitesse, de niveau de carburant et de diagnostic toutes les 30 secondes. Stream Analytics calcule :

  • Positions actuelles des véhicules (dernier emplacement connu par véhicule)
  • Violations de vitesse (véhicules dépassant les limites de vitesse géolocalisées)
  • Véhicules approchant du seuil de carburant
  • Indicateurs de maintenance prédictive à partir des codes de diagnostic OBD2

Le visuel ArcGIS ou Azure Maps de Power BI affiche les positions des véhicules en temps réel sur une carte. L'ensemble de données en streaming met à jour les marqueurs de position à mesure que de nouveaux enregistrements GPS arrivent.


Temps réel ou temps quasi réel : faire le bon choix

Le temps réel réel (latence inférieure à la seconde) est plus complexe et plus coûteux que le temps quasi réel (latence de 15 secondes à 5 minutes). Pour la plupart des cas d’utilisation professionnelle, le temps quasi réel est suffisant.

Exigence de latenceSolution appropriéeComplexité
< 1 secondePlateforme de streaming dédiée (Kafka, Flink) — Power BI intégréTrès élevé
1 à 10 secondesAzure Event Hub → Stream Analytics → Diffusion Power BIÉlevé
10 à 60 secondesAPI REST push depuis l'application → Ensemble de données de streaming Power BIMoyen
1 à 15 minutesActualisation programmée (actualisation automatique toutes les 1 min avec Premium)Faible
15 à 60 minutesActualisation programmée standardTrès faible

Pour la plupart des cas d'utilisation de la surveillance commerciale (tableaux de bord des opérations, files d'attente de tickets d'assistance, surveillance des activités de vente), une latence de 1 à 5 minutes est parfaitement adéquate et peut être obtenue avec une simple actualisation programmée plutôt qu'une architecture de streaming.

Une véritable architecture de streaming est justifiée lorsque : (1) la décision commerciale déclenchée par les données doit être prise en quelques secondes pour être utile, ou (2) le volume de données est si élevé que la matérialisation dans une base de données prend trop de temps pour que l'actualisation planifiée puisse suivre.


Questions fréquemment posées

Combien d'appareils peuvent transmettre simultanément des données vers un ensemble de données de streaming Power BI ?

Les jeux de données de streaming Power BI ont une limite de débit de 1 million de lignes par heure et par jeu de données. Pour les scénarios IoT avec des milliers d’appareils envoyant des données chaque seconde, cette limite est rapidement dépassée. L'architecture standard utilise Azure Event Hubs (qui peut gérer des milliards d'événements par jour) et Azure Stream Analytics pour agréger la télémétrie des appareils avant de transmettre les données réduites et agrégées à Power BI. Le push direct appareil vers Power BI n’est approprié que pour les données basse fréquence provenant d’un petit nombre d’appareils.

Les vignettes d'ensembles de données en streaming fonctionnent-elles dans les rapports Power BI ou uniquement dans les tableaux de bord ?

Les vignettes d’ensembles de données en streaming pur (sans données historiques) fonctionnent uniquement dans les tableaux de bord Power BI, pas dans les rapports interactifs. En effet, le moteur de rendu de vignettes en streaming fonctionne sur la couche du tableau de bord avec actualisation automatique, et non dans le moteur de rapport. Les ensembles de données Push avec des données historiques (le type de source « API » avec l'analyse historique activée) prennent en charge des rapports interactifs complets avec tous les types de graphiques. Les vignettes du tableau de bord des ensembles de données push sont également mises à jour en temps quasi réel.

Comment Power BI gère-t-il le classement des données dans les ensembles de données en streaming ?

L’ensemble de données de streaming de Power BI n’impose pas l’ordre : les données sont affichées dans l’ordre dans lequel elles arrivent. Pour les graphiques de séries chronologiques, la colonne datetime est utilisée pour classer l'axe des x. Les données arrivant tardivement (enregistrements arrivant dans le désordre) peuvent provoquer des artefacts d'affichage momentanés avant le nouveau tri du graphique. Azure Stream Analytics gère la tolérance d’arrivée tardive pour les pipelines de streaming structurés, garantissant ainsi que les données arrivent dans un ordre cohérent avant d’atteindre Power BI.

Puis-je combiner des données de streaming en temps réel avec des données d'importation historiques dans le même rapport ?

Oui, mais avec un modèle composite. Un jeu de données push (API REST avec données historiques) peut être importé dans un jeu de données Power BI avec d'autres tables en mode importation. Une approche plus courante : utilisez Azure Stream Analytics pour rédiger des résumés de streaming à la fois sur Azure SQL (pour une analyse historique via le mode d'importation) et sur un ensemble de données de streaming Power BI (pour un affichage en temps réel). Les rapports se connectent à l'ensemble de données Azure SQL en mode importation pour les graphiques historiques, tandis qu'un tableau de bord utilise des vignettes de streaming pour les KPI en temps réel.

Quel est le minimum d'actualisation automatique pour les tableaux de bord Power BI sans streaming ?

Les vignettes de tableau de bord Power BI (connectées à des ensembles de données d’importation ou DirectQuery) ont un intervalle d’actualisation automatique minimum de 1 minute pour les tableaux de bord auxquels une capacité Premium est attribuée. Sans Premium, le minimum est de 30 minutes. Cette « actualisation automatique » amène la vignette à réinterroger l'ensemble de données à intervalles réguliers : il ne s'agit pas d'un véritable streaming, mais fournit des mises à jour en temps quasi réel pour la surveillance opérationnelle où une fraîcheur d'une minute est acceptable.


Prochaines étapes

Les tableaux de bord en temps réel nécessitent une approche technique différente de celle des analyses historiques : l'architecture, le pipeline de données et la conception du tableau de bord changent tous. L’investissement est justifié lorsque les décisions opérationnelles doivent réellement être prises dans les secondes ou minutes suivant les événements, et non dans les heures ou les jours.

Les services de développement de tableaux de bord Power BI d'ECOSIRE incluent la conception d'une architecture de streaming en temps réel, la configuration d'Azure Event Hub et de Stream Analytics, ainsi que la mise en œuvre d'un tableau de bord de surveillance opérationnelle. Contactez-nous pour évaluer si votre cas d'utilisation nécessite une diffusion en temps réel ou si une actualisation planifiée en temps quasi réel répond à vos besoins.

E

Rédigé par

ECOSIRE Research and Development Team

Création de produits numériques de niveau entreprise chez ECOSIRE. Partage d'analyses sur les intégrations Odoo, l'automatisation e-commerce et les solutions d'entreprise propulsées par l'IA.

Discutez sur WhatsApp