Optimisation des performances des rapports power bi
Jul 09, 2024Power BI s'impose comme un outil indispensable pour les entreprises qui cherchent à exploiter efficacement leurs données et à asseoir leurs décisions sur des analyses solides. En effet, la plateforme permet de visualiser et d'analyser des informations complexes de manière claire et intuitive, favorisant ainsi une compréhension approfondie des enjeux stratégiques.
Cependant, pour que Power BI remplisse pleinement son rôle, il est essentiel d'optimiser ses performances. Des rapports lents peuvent rapidement nuire à l'expérience utilisateur et à l'efficacité des processus de prise de décision. En effet, des temps de chargement trop longs sont non seulement frustrants pour les utilisateurs, mais peuvent également limiter l'exploitation des données et ralentir la prise de décision.
Par conséquent, il est primordial de mettre en œuvre des stratégies d'optimisation adaptées afin de garantir un fonctionnement fluide et réactif de Power BI.
VertiPaq : un moteur de performance pour Power BI
Avant d'utiliser la fonctionnalité "analyseur de performance" il convient de présenter les moteurs de base de données utilisés par Power BI et en particulier Vertipaq.
Voici les principes clés du fonctionnement du moteur de calcul :
- Stockage en colonne: Contrairement aux bases de données relationnelles traditionnelles qui stockent les données ligne par ligne, VertiPaq stocke les données par colonne. Cela permet d'accélérer les requêtes analytiques qui portent souvent sur des sous-ensembles de colonnes.
- Compression des données: Le moteur utilise des techniques de compression sophistiquées pour réduire la taille des données stockées. Cela permet d'économiser de la mémoire et d'améliorer les performances, en particulier pour les rapports volumineux.
- Agrégations pré-calculées: VertiPaq peut stocker des agrégats pré-calculés de vos données, tels que les sommes, les moyennes et les totaux. Cela permet d'accélérer les analyses courantes qui reposent sur ces valeurs.
- Optimisation des requêtes: Le moteur analyse les requêtes utilisateur et optimise leur exécution en exploitant les structures de stockage en colonne et les agrégats pré-calculés.
En mode Importation, Vertipaq stocke et gère une copie compressée des données, permettant une interrogation rapide en mémoire.
En mode DirectQuery, c'est un autre moteur qui prend le relais, basé sur SQL, avec des performances globalement moins bonnes qu'en mode Import. En effet, le moteur Vertipaq n'est utilisé que comme intermédiaire entre PowerBI et les sources de données, et donc vous ne bénéficiez pas des performances de son utilisation.
C'est dans ce contexte que l'analyseur de performance devient un outil indispensable.
Utiliser l'analyseur de performance
- Allez dans l'onglet Affichage et activez l'analyseur de performance.
- Cliquez sur "Démarrer l'enregistrement".
- Interagissez avec votre rapport en passant d'un onglet à l'autre, en ajustant les tranches ou en cliquant sur les éléments visuels.
- Chacune de vos actions sera enregistrée en temps réel dans le volet de l'analyseur de performances.
- L'analyseur mesure le temps nécessaire à chaque visuel pour récupérer les données et afficher les résultats, depuis le moment où vous interagissez avec lui jusqu'à celui où il s'affiche, en millisecondes.
Voici un aperçu de ce que le journal de chaque visuel montre :
- Requête DAX : Mesure le temps écoulé entre le moment où le visuel envoie une requête et le moment où les résultats sont renvoyés.
- Paramètres évalués : Le temps passé à évaluer les paramètres d'un champ dans un visuel.
- Affichage du visuel : Indique le temps nécessaire pour que le visuel apparaisse à l'écran, y compris le temps nécessaire pour les images web ou le géocodage.
- Autres : Comprend le temps passé à préparer les requêtes, à attendre d'autres visuels ou à effectuer des tâches de fond.
➡ Lorsque vous avez terminé d'interagir avec les parties du rapport que vous souhaitez vérifier à l'aide de l'analyseur de performances, cliquez simplement sur le bouton Arrêter. Les informations sur les performances resteront ainsi dans le volet pour que vous puissiez les consulter.
➡ Si vous souhaitez mettre à jour tous les visuels de la page actuelle de votre rapport, vous pouvez choisir "Rafraîchir les visuels" dans le volet de l'analyseur de performance. Vous obtiendrez ainsi des informations fraîches sur tous les visuels.
➡ Si vous remarquez qu'un visuel est lent, vous pouvez l'actualiser. Pendant que l'analyseur de performances enregistre, cliquez sur "Analyser ce visuel" dans le coin supérieur droit du visuel. Cela permet de l'actualiser et de capturer ses données de performance.
Techniques d'optimisation des modèles de données :
- Utiliser un schéma en étoile
Power BI est conçu pour être le plus efficace possible lorsqu'il utilise un schéma en étoile. En décomposant votre modèle de données en tables de faits et de dimensions, vos requêtes seront optimisées dans votre rapport. Ces tables de faits et de dimensions doivent être reliées les unes aux autres, et non jointes (format de fichier plat), ce qui se traduira par des rapports plus performants.
- Limiter le modèle de données
Le moyen le plus rapide d'optimiser votre rapport Power BI est de limiter le nombre de colonnes à celles dont vous avez besoin dans votre modèle de données. Parcourez vos tables dans Power Query et déterminez les champs utilisés. Supprimez ces colonnes si elles ne sont utilisées dans aucun de vos rapports ou calculs.
Par ailleurs, la limitation des colonnes peut être beaucoup plus efficace que la limitation des lignes dans votre ensemble de données. Par exemple, si vous disposez d'un ensemble de données comportant 1 million de lignes et 20 colonnes, la suppression de 10 colonnes éliminera 10 millions de points de données de votre modèle. Si vous réduisez de moitié le nombre de lignes, vous n'éliminerez que 5 millions de points de données. Bien qu'il soit utile de filtrer votre ensemble de données pour ne conserver que les données applicables, l'élimination des colonnes inutilisées sera beaucoup plus efficace pour minimiser votre ensemble de données.
- Utiliser des mesures plutôt que des colonnes calculées
Pour les utilisateurs débutants de Power BI, il peut être tentant de créer des colonnes calculées plutôt que d'utiliser des mesures, car cela permet de voir le résultat ligne par ligne pour chaque colonne calculée. Le problème est que les colonnes calculées peuvent être plus lourdes pour le modèle de données car elles créent en fait une nouvelle colonne de données. Au contraire, les mesures sont simplement des agrégations des champs du modèle de données, de sorte qu'elles n'ajoutent pas réellement de nouvelles données à votre modèle. L'utilisation de mesures, le cas échéant, permet de réduire la taille du modèle de données et d'accroître l'efficacité des calculs.
- Utilisations des variables :
Au lieu de créer des métriques nécessitant l'utilisation de plusieurs mesures, utilisez des variables. Vous pouvez effectuer plusieurs calculs dans une seule mesure à l'aide des fonctions VAR et RETURN. Vous réduirez ainsi le nombre de mesures utilisées et augmenterez les performances des mesures calculées. Si vous devez répéter une variable plusieurs fois, vous pouvez toujours créer une mesure indépendante pour cette valeur.
- Désactiver la date/heure automatique
Power BI Desktop comprend une option appelée Date/heure automatique. Quand elle est activée, elle crée une table de date/heure automatique masquée pour les colonnes de date afin de prendre en charge les auteurs de rapport lors de la configuration des filtres, du regroupement et d’actions d’exploration des détails des périodes de temps du calendrier. Les tables masquées sont en fait des tables calculées qui augmentent la taille du modèle
- Éviter les relations bidirectionnelles et les relations "plusieurs à plusieurs" avec des colonnes à forte cardinalité
Les relations bidirectionnelles font référence au flux de données bidirectionnel entre les tables. Les relations multiples font référence à plusieurs enregistrements d'une table liés à plusieurs enregistrements d'une autre table. Les colonnes à cardinalité élevée sont des colonnes d'une table qui présentent de nombreuses valeurs uniques par rapport au nombre total de lignes.
Lorsqu'elles sont appliquées à des colonnes à cardinalité élevée, ces relations peuvent avoir un impact significatif sur les performances des rapports en raison de l'augmentation du traitement des données et de la complexité des requêtes.
Les relations un à un sont les meilleures pour que les indexeurs travaillent plus rapidement dans le backend (par exemple, la cartographie des capitales par rapport aux pays), tandis que les relations bidirectionnelles et multiples (par exemple, les noms des pays par rapport aux noms des États) peuvent avoir un léger impact sur le modèle en fonction de la cardinalité de l'ensemble de données. Un plus grand nombre de relations de plusieurs à plusieurs signifie plus de traitement de requêtes et donc une surcharge dans les situations de cardinalité élevée.
Techniques de l’optimisation de la visualisation des rapports :
- Minimiser les éléments visuels
Lors de la création de votre rapport, essayez d'utiliser le moins d'éléments visuels possible. Cela réduira le nombre de calculs effectués par Power BI lors du rendu de votre rapport. Un exemple de ceci serait l'utilisation d'une carte à plusieurs lignes pour montrer plusieurs KPIs au lieu d'utiliser plusieurs cartes à métrique unique.
- Ne pas utiliser de slicers (si possible)
N'utilisez les slicers qu'en cas de besoin. Sinon, utilisez les filtres mis à la disposition des utilisateurs dans le volet des filtres. Les slicers sont moins efficaces pour renvoyer les données requises que le volet de filtrage. Si vous utilisez un slicer, faites-en sorte qu'il soit un simple menu déroulant plutôt qu'une liste. Une liste pré-remplit certaines requêtes, ce qui la rend moins efficace.
- Utiliser les infobulles pour fournir des informations supplémentaires
Les infobulles fournissent un contexte supplémentaire sous une forme compacte, ce qui permet d'utiliser efficacement l'espace du rapport. La sélection minutieuse des éléments visuels dans les infobulles garantit que les informations sont utiles sans être écrasantes, ce qui améliore l'expérience de l'utilisateur.
- Utilisez des boutons d'exploration (drillthrough buttons):
L’utilisation des boutons d'exploration au lieu d'attendre des utilisateurs qu'ils cliquent avec le bouton droit de la souris sur les points de données, les boutons d'exploration, avec un formatage conditionnel piloté par le contexte, offrent aux utilisateurs un moyen intuitif d'explorer les données. Cette approche est plus facile à utiliser que la navigation par clic droit, ce qui améliore le rapport.
- Raccourcir les nombres affichés
Limiter les nombres affichés à quatre chiffres et les décimales à deux décimales améliore la lisibilité et la cohérence des rapports. Cette pratique facilite la compréhension et l'analyse des rapports, en particulier lorsqu'il s'agit de mettre à l'échelle des milliers ou des millions de chiffres.
- L'utilisation de filtres hiérarchiques doit être évitée
Pour améliorer l'expérience de l'utilisateur et les performances. Préférez les filtres simples aux filtres hiérarchiques pour une analyse plus fluide. L'amélioration de l'expérience de l'utilisateur grâce à une navigation simplifiée améliore la réponse aux rapports et la satisfaction de l'utilisateur.
Par exemple, assurez-vous toujours que les données nécessitent un filtre hiérarchique ou non, et prenez cette décision en fonction du niveau des données et de leur granularité.
Conclusion :
L'optimisation des performances de vos rapports Power BI est un processus essentiel pour garantir une expérience utilisateur fluide et réactive. En adoptant les stratégies et bonnes pratiques présentées dans cet article, vous pouvez transformer vos rapports en outils d'analyse puissants et efficaces qui favorisent une prise de décision éclairée.
Il ne faut pas oublier que l'optimisation est un processus continu qui nécessite une évaluation régulière des besoins et des ressources disponibles. En tirant parti des fonctionnalités offertes par Power BI et en vous tenant au courant des dernières techniques d'optimisation, vous vous assurez que vos rapports continuent de fournir des performances optimales et des informations précieuses pour votre entreprise.