Power BI à partir d’Azure Stream Analytics

Vous pouvez utiliser Power BI comme sortie d’une tâche Stream Analytics pour fournir une expérience de visualisation riche des résultats d’analyse. Vous pouvez utiliser cette fonctionnalité pour les tableaux de bord opérationnels, la génération de rapports et la création de rapports pilotés par des métriques.

Notes

La sortie Power BI de Stream Analytics n’est pas disponible actuellement dans Microsoft Azure géré par 21Vianet et Azure Allemagne (T-Systems International).

Configuration de la sortie

Le tableau suivant répertorie les noms de propriétés et leur description pour configurer votre sortie Power BI.

Nom de la propriété Description
Alias de sortie Fournit un nom convivial qui est utilisé dans les requêtes pour diriger la sortie de requête vers cette sortie Power BI.
Espace de travail de groupe Pour permettre le partage de données avec d’autres utilisateurs de Power BI, vous pouvez sélectionner des groupes à l’intérieur de votre compte Power BI ou choisir Mon espace de travail si vous ne souhaitez pas écrire dans un groupe. La mise à jour d’un groupe existant nécessite le renouvellement de l’authentification Power BI.
Nom du jeu de données Fournissez un nom de jeu de données qui doit être utilisé pour la sortie Power BI.
Nom de la table Fournissez un nom de table sous le jeu de données de la sortie Power BI. Actuellement, une sortie Power BI des travaux Stream Analytics ne peut avoir qu’une table dans un jeu de données.
Autoriser la connexion Vous devez autoriser la connexion avec Power BI pour configurer vos paramètres de sortie. Après avoir accordé à cette sortie l’accès à votre tableau de bord Power BI, vous pouvez le révoquer en modifiant le mot de passe du compte d’utilisateur, en supprimant la sortie du travail ou en effaçant le travail Stream Analytics.

Pour découvrir une procédure pas à pas de configuration d’une sortie et d’un tableau de bord Power BI, consultez le Tutoriel : Analyser les données d’appels frauduleux avec Stream Analytics et visualiser les résultats dans un tableau de bord Power BI.

Notes

Ne créez pas explicitement le jeu de données et la table dans le tableau de bord Power BI. Le jeu de données et la table seront automatiquement remplis au démarrage du travail et lorsque celui-ci commence à extraire des sorties dans Power BI. Si la requête de travail ne génère aucun résultat, le jeu de données et la table ne sont pas créés. De même, si Power BI dispose déjà d’un jeu de données et d’une table portant le même nom que celui saisi dans le travail Stream Analytics, alors ces données sont écrasées.

Créer un schéma

Azure Stream Analytics crée un jeu de données et un schéma de table Power BI pour l’utilisateur s’il n’en existe pas encore. Dans tous les autres cas, la table est mise à jour de façon à inclure les nouvelles valeurs. Actuellement, seule une table peut exister dans un jeu de données.

Power BI utilise la stratégie de rétention FIFO (premier entré, premier sorti). Les données sont collectées dans une table jusqu’à atteindre 200 000 lignes.

Notes

Nous vous déconseillons d’utiliser plusieurs sorties pour écrire dans le même jeu de données, car cela peut entraîner plusieurs problèmes. Chaque sortie tente de créer le jeu de données Power BI indépendamment, ce qui peut entraîner l’affichage de plusieurs jeux de données portant le même nom. En outre, si les sorties n’ont pas de schémas cohérents, le jeu de données modifie le schéma sur chaque écriture, ce qui génère un trop grand nombre de demandes de modification de schéma. Même si ces problèmes sont évités, les sorties multiples seront moins performantes qu’une seule sortie fusionnée.

Convertir un type de données Stream Analytics vers Power BI

Azure Stream Analytics met à jour le modèle de données dynamiquement lors de l’exécution quand le schéma de sortie est modifié. L’intégralité des modifications de nom de colonne, modifications de type de colonne et ajouts ou suppressions de colonnes sont suivis.

Ce tableau décrit les conversions des types de données Stream Analytics vers les types Entity Data Model (EDM) de Power BI si un jeu de données et une table Power BI n’existent pas.

De Stream Analytics Vers Power BI
bigint Int64
nvarchar(max) String
DATETIME Datetime
float Double
Tableau d’enregistrements Type chaîne, valeur constante IRecord ou IArray

Mettre à jour le schéma

Steam Analytics déduit le schéma de modèle de données sur la base du premier ensemble d’événements de la sortie. Plus tard, si nécessaire, le schéma de modèle de données est mis à jour pour prendre en compte les événements entrants qui peuvent ne pas correspondre au schéma d’origine.

Évitez d’utiliser la requête SELECT * pour empêcher la mise à jour dynamique du schéma entre les lignes. En plus de l’impact potentiel sur les performances, le temps nécessaire pour la création des résultats devient impossible à déterminer. Sélectionnez les champs exacts qui doivent être présentés dans le tableau de bord Power BI. En outre, les valeurs de données doivent être compatibles avec le type de données choisi.

Précédent/actuel Int64 String Datetime Double
Int64 Int64 String String Double
Double Double String String Double
String String String String String
Datetime String String Datetime String

Limites et meilleures pratiques

Actuellement, Power BI peut être appelé environ une fois par seconde. Les éléments visuels de streaming prennent en charge des paquets de 15 Ko. Au-delà de cette taille, ils échouent (mais les transmissions de type push continuent de fonctionner). En raison de cette limite, Power BI s’applique naturellement dans les cas où Azure Stream Analytics débouche sur une réduction significative de la charge des données. Nous vous recommandons d’utiliser une fenêtre bascule ou une fenêtre récurrente pour vous assurer que la transmission de type push des données est effectuée au plus une fois par seconde et que votre requête respecte les exigences de débit. Pour plus d’informations sur la taille du lot de sortie, consultez Limites des API REST Power BI.

Vous pouvez utiliser l’équation suivante pour calculer la valeur à donner à votre fenêtre en secondes :

Screenshot of equation to compute value to give window in seconds.

Par exemple :

  • Vous disposez de 1 000 appareils qui envoient des données à des intervalles d’une seconde.
  • Vous utilisez la référence SKU Power BI Pro qui prend en charge 1 000 000 lignes par heure.
  • Vous souhaitez publier la quantité moyenne de données par appareil sur Power BI.

L’équation est donc la suivante :

Screenshot of equation based on example criteria.

Étant donné cette configuration, vous pouvez modifier la requête d’origine et la remplacer par celle qui suit :

    SELECT
        MAX(hmdt) AS hmdt,
        MAX(temp) AS temp,
        System.TimeStamp AS time,
        dspl
    INTO "CallStream-PowerBI"
    FROM
        Input TIMESTAMP BY time
    GROUP BY
        TUMBLINGWINDOW(ss,4),
        dspl

Renouveler une autorisation

Si le mot de passe a été modifié depuis la création ou la dernière authentification de votre travail, vous devez réauthentifier votre compte Power BI. Si l’authentification multifacteur Microsoft Entra est configurée sur votre locataire Microsoft Entra, vous devez également renouveler l’autorisation Power BI toutes les deux semaines. Si vous ne la renouvelez pas, vous pouvez observer des symptômes comme un manque de sortie du travail ou une Authenticate user error dans les journaux d’activité des opérations.

De même, si un travail démarre après l’expiration du jeton, une erreur se produit et le travail échoue. Pour résoudre ce problème, arrêtez le travail en cours d’exécution et accédez à votre sortie Power BI. Pour éviter toute perte de données, sélectionnez le lien Renouveler l’autorisation, puis redémarrez votre travail depuis l’heure du dernier arrêt.

Une fois que l’autorisation a été actualisée avec Power BI, une alerte verte apparaît dans la zone d’autorisation pour indiquer que le problème a été résolu. Pour surmonter cette limitation, il est recommandé d’utiliser des identités managées pour authentifier votre travail Azure Stream Analytics dans Power BI

Étapes suivantes