Bonnes pratiques pour des performances plus rapides dans l’analytique incorporée de Power BI

Cet article fournit des recommandations pour un rendu plus rapide des rapports, des tableaux de bord et des vignettes dans votre application.

Notes

N’oubliez pas que le temps de chargement dépend principalement des éléments pertinents pour le rapport et des données elles-mêmes, notamment les visuels, la taille des données et la complexité des requêtes et des mesures. Pour plus d’informations, consultez le guide d’optimisation de Power BI.

Mettre à jour les outils et les packages du SDK

Maintenez les outils et les packages du SDK à jour.

Initialiser l’incorporation

Préchargement

Utilisez powerbi.preload() afin d’améliorer les performances pour l’utilisateur final. La méthode powerbi.preload() télécharge des fichiers JavaScript, CSS et d’autres éléments, qui seront utilisés ultérieurement pour incorporer un rapport.

Appelez powerbi.preload() si vous n’incorporez pas immédiatement le rapport. Par exemple, si le contenu Power BI incorporé n’apparaît pas dans la page d’accueil, utilisez powerbi.preload() pour télécharger et mettre en cache les éléments utilisés pour l’incorporation du contenu.

Amorçage de l’iFrame

Notes

Le SDK client Power BI version 2.9 est nécessaire pour amorcer l’iFrame.

powerbi.bootstrap(element, config) vous permet de commencer l'intégration avant que tous les paramètres requis ne soient disponibles. L’API d’amorçage prépare et initialise l’iFrame. Lors de l'utilisation de l'API d’amorçage, il est toujours nécessaire d'appeler powerbi.embed(element, config) sur le même élément HTML.

Par exemple, vous pouvez utiliser cette fonctionnalité pour effectuer en parallèle l’amorçage de l’iFrame et les appels au back-end pour l’incorporation.

Conseil

Utilisez si possible l'API d’amorçage pour générer l’iFrame avant qu'il ne soit visible pour l'utilisateur final.

Lors de l’incorporation d’un rapport ou d’autres éléments Power BI, assurez-vous que le conteneur incorporé fait partie du DOM et que l’attribut CSS d’affichage n’est pas défini sur aucun, car cela peut entraîner des comportements inattendus. Si vous souhaitez masquer le conteneur incorporé, envisagez d’utiliser l’attribut CSS de visibilité.

Paramètres incorporés

La méthode powerbi.embed(element, config) reçoit un élément et un paramètre de configuration. Le paramètre de configuration comprend des champs qui ont des implications en termes de performances.

URL incorporé

Évitez de générer l’URL incorporé. Au lieu de cela, assurez-vous d’obtenir l’URL incorporée en appelant l’API Obtenir des rapports, Obtenir des tableaux de bord, ou Obtenir des vignettes. Le paramètre config de l’URL est utilisé pour améliorer les performances.

Autorisations

Fournissez des autorisations Afficher si vous ne prévoyez pas d’incorporer un rapport en mode édition. De cette façon, du temps n’est pas perdu à l’initialiser des composants qui sont utilisés seulement en mode édition.

Filtres, signets et segments

En règle générale, les visuels d’un rapport sont enregistrés avec les données en cache. Les rapports rendent les données mises en cache pendant que les requêtes sont exécutées. Si des filtres, des signets ou des sélecteurs sont fournis, les données mises en cache ne sont pas pertinentes et les visuels sont rendus seulement une fois la requête sur les visuels terminée.

Si vous incorporez des rapports avec les mêmes filtres, signets et sélecteurs, enregistrez le rapport avec les filtres, signets et sélecteurs déjà appliqués. Lorsque vous enregistrez le rapport de cette manière, il s’affiche à l’aide des données mises en cache qui incluent les filtres, les signets et les segments, ce qui améliore les performances.

Basculement entre rapports

Quand vous incorporez plusieurs rapports au même espace, ne générez pas un nouvel iFrame pour chaque rapport. Au lieu de cela, incorporez le nouveau rapport dans le même iFrame pour remplacer le rapport précédent. Utilisez powerbi.embed(element, config) avec une autre configuration pour incorporer le nouveau rapport.

Remarque

Incorporer des rapports en utilisant l’incorporation pour vos clients (un scénario également appelé « l’application possède les données ») nécessite l’utilisation d’un jeton intégré avec des autorisations sur tous les rapports et modèles sémantiques. Pour plus d’informations, consultez API Génération de jeton.

Visuels multiples

Quand vous incorporez plusieurs visuels provenant du même rapport, ne générez pas un nouvel iFrame pour chaque visuel. Utilisez un seul iFrame pour rendre le rapport avec les visuels spécifiés.

Lorsque vous incorporez plusieurs visuels dans un même iFrame, prenez en compte les points suivants :

  • Power BI utilise des iFrames pour incorporer un rapport. Parfois, vous voulez ajouter du contenu entre les visuels (par exemple du texte ou des graphiques qui ne proviennent pas du rapport). Dans ce cas, vous pouvez avoir besoin d’un autre iFrame pour afficher différents visuels. Pour de meilleures performances, essayez d’organiser les visuels afin d’utiliser le moins d’iFrames possible. Pour réduire le nombre d’iFrames, envisagez d’utiliser la fonctionnalité de disposition personnalisée.

  • Si vous avez des visuels provenant de différents rapports ou modèles sémantiques, envisagez de joindre les modèles sémantiques et de créer un nouveau rapport afin de pouvoir inclure tous les visuels dans le même iFrame.

  • Une autre solution, si vous avez des régions non contiguës ou des données provenant de plusieurs modèles sémantiques, est de créer un tableau de bord et d’y épingler les visuels. Vous pouvez ainsi :

    • Incorporez les vignettes individuelles dans des iFrames non contigus. Les vignettes du tableau de bord sont plus claires que les rapports et se chargent plus rapidement.
    • Incorporez l’intégralité du tableau de bord dans un iFrame. Ceci vous permet d’avoir des visuels provenant de différents rapports ou modèles sémantiques en un iFrame sans créer un nouveau rapport.

    Gardez cependant à l’esprit que les vignettes du tableau de bord ne sont pas interactives et ne sont pas actualisées avec la même fréquence que les visuels.

Mise en cache des requêtes

Les organisations avec une capacité Power BI Premium ou Power BI Embedded peuvent tirer parti de la mise en cache des requêtes pour accélérer l’exécution de rapports associés à un modèle sémantique.

En savoir plus sur la mise en cache des requêtes dans Power BI.

Mesurer les performances

Événements de performances

Pour mesurer les performances incorporées, vous pouvez utiliser deux événements :

  1. Événement chargé : délai avant que le rapport soit initialisé (le logo de Power BI disparaît une fois le chargement terminé).
  2. Événement rendu : Délai avant que le rapport complet soit rendu à l’aide de données réelles. L’événement rendu est déclenché chaque fois que le rapport est rendu à nouveau (par exemple après l’application des filtres). Pour mesurer un rapport, assurez-vous d’effectuer les calculs dans le premier événement déclenché.

Les données mises en cache sont rendues quand elles sont disponibles, mais aucun autre événement n’est généré.

En savoir plus sur la gestion des événements.

Analyseur de performances

Pour examiner les performances des éléments de rapport, vous pouvez utiliser l’analyseur de performances dans Power BI Desktop. L’Analyseur de performances vous permet de voir et d’enregistrer les journaux d’activité qui mesurent la façon dont chacun de vos éléments de rapport s’exécute.

En savoir plus sur l’Analyseur de performances.

Notes

N’oubliez pas de comparer les performances du rapport incorporé aux performances sur powerbi.com. Cela peut vous aider à comprendre l’origine de vos problèmes de performances

Étapes suivantes