Passer en revue les performances des mesures, des relations et des visuels

Effectué

Si votre modèle sémantique contient plusieurs tables, des relations complexes, des calculs compliqués, plusieurs visuels ou des données redondantes, les performances de rapport risquent d’être médiocres, au point d’engendrer une expérience utilisateur négative.

Capture d’écran des facteurs impactant les performances des rapports.

Pour optimiser les performances, vous devez d’abord identifier l’origine du problème ; en d’autres termes, identifiez les éléments du rapport et du modèle sémantique qui sont à l’origine des problèmes de performances. Ensuite, vous pouvez prendre des mesures pour résoudre ces problèmes et, ainsi, améliorer les performances.

Identifier les goulots d’étranglement des performances de rapport

Pour obtenir des performances optimales dans vos rapports, vous devez créer un modèle sémantique efficace avec des requêtes et des mesures à exécution rapide. Quand vous avez une bonne base, vous pouvez améliorer le modèle en analysant les plans de requête et les dépendances, puis en apportant des modifications pour optimiser les performances.

Vous devez examiner les mesures et les requêtes de votre modèle sémantique afin de vous assurer que vous utilisez la méthode la plus efficace pour obtenir les résultats souhaités. Votre point de départ doit être d’identifier les goulots d’étranglement qui existent dans le code. Quand vous identifiez la requête la plus lente dans le modèle sémantique, vous pouvez vous concentrer d’abord sur le goulot d’étranglement le plus important et établir une liste de priorités pour traiter les autres problèmes.

Analyser les performances

Vous pouvez utiliser l’Analyseur de performances dans Power BI Desktop pour essayer de découvrir comment chacun des éléments de rapport se comporte quand l’utilisateur interagit avec eux. Par exemple, vous pouvez déterminer le temps nécessaire à l’actualisation d’un visuel particulier quand l’opération est démarrée par une interaction avec l’utilisateur. L’Analyseur de performances vous aide à identifier les éléments qui contribuent à vos problèmes de performances, ce qui peut être utile pour la résolution de ces derniers.

Avant d’exécuter l’Analyseur de performances, et afin d’obtenir les résultats les plus précis dans votre analyse (test), veillez à ce que les caches de visuels et de moteur de données soient vides.

  • Cache de visuels : quand vous chargez un visuel, vous ne pouvez pas effacer ce cache sans fermer Power BI Desktop et le rouvrir. Pour éviter toute mise en cache en opération, vous devez démarrer votre analyse avec un cache de visuels vide.

    Pour vous assurer d’avoir un cache de visuels vide, ajoutez une page vierge à votre fichier Power BI Desktop (.pbix), puis, une fois cette page sélectionnée, enregistrez et fermez le fichier. Rouvrez le fichier Power BI Desktop (.pbix) que vous souhaitez analyser. Il s’ouvre sur la page vierge.

  • Cache du moteur de données : quand une requête est exécutée, les résultats sont mis en cache, de sorte que les résultats de votre analyse sont trompeurs. Vous devez vider le cache de données avant de réexécuter le visuel.

    Pour vider le cache de données, vous pouvez soit redémarrer Power BI Desktop, soit connecter DAX Studio au modèle sémantique, puis appeler la commande Clear Cache (Vider le cache).

Une fois que vous avez vidé les caches et ouvert le fichier Power BI Desktop sur la page vierge, accédez à l’onglet Affichage et sélectionnez l’option Analyseur de performances.

Pour commencer le processus d’analyse, sélectionnez Démarrer l’enregistrement, sélectionnez la page du rapport que vous souhaitez analyser et interagissez avec les éléments du rapport que vous souhaitez mesurer. Vous verrez les résultats de vos interactions s’afficher progressivement dans le volet Analyseur de performances. Quand vous avez terminé, sélectionnez le bouton Arrêter.

Capture d’écran de l’écran de démarrage de l’analyseur de performances.

Pour plus d’informations, consultez Utiliser l’analyseur de performances pour examiner les performances des éléments de rapport.

Examiner les résultats

Vous pouvez examiner les résultats de votre test de performances dans le volet Analyseur de performances. Pour passer en revue les tâches par ordre de durée, de la plus longue à la plus courte, cliquez avec le bouton droit sur l’icône Trier en regard de l’en-tête de colonne Durée (ms), puis sélectionnez Durée totale en guise d’ordre Décroissant.

Capture d’écran montrant comment trier les résultats dans l’analyseur.

Les informations de journalisation de chaque visuel indiquent le temps nécessaire (durée) pour effectuer les catégories de tâches suivantes :

  • Requête DAX : temps qu’il a fallu au visuel pour envoyer la requête et à Analysis Services pour retourner les résultats.

  • Affichage de visuel : temps qu’il a fallu pour que le visuel s’affiche à l’écran, y compris le temps nécessaire pour récupérer les images web ou le géocodage.

  • Autre : temps qu’il a fallu au visuel pour préparer les requêtes, attendre la fin d’autres visuels ou effectuer d’autres tâches de traitement en arrière-plan. Si cette catégorie affiche une longue durée, le seul moyen réel de réduire celle-ci consiste à optimiser les requêtes DAX pour les autres visuels ou à réduire le nombre de visuels dans le rapport.

Capture d’écran des catégories des résultats de l’analyseur de performances.

Les résultats du test d’analyse vous aident à comprendre le comportement de votre modèle sémantique et à identifier les éléments que vous devez optimiser. Vous pouvez comparer la durée de chaque élément dans le rapport et identifier les éléments qui ont une longue durée. Vous devez vous concentrer sur ces éléments et rechercher la raison pour laquelle ils sont longs à se charger sur la page de rapport.

Pour analyser vos requêtes plus en détail, vous pouvez utiliser DAX Studio, outil open source gratuit fourni par un autre service.

Résoudre les problèmes et optimiser les performances

Les résultats de votre analyse identifient les domaines à améliorer et les possibilités d’optimisation des performances. Vous constaterez peut-être que vous devez apporter des améliorations aux visuels, à la requête DAX ou à d’autres éléments de votre modèle sémantique. Les informations suivantes fournissent des conseils sur les éléments à rechercher et les modifications que vous pouvez apporter.

Visuels

Si vous identifiez des visuels comme goulot d’étranglement entraînant des performances médiocres, vous devez trouver un moyen d’améliorer les performances avec un impact minimal sur l’expérience utilisateur.

Regardez le nombre de visuels dans la page du rapport ; moins de visuels est synonyme de meilleures performances. Demandez-vous si un visuel est vraiment nécessaire et s’il ajoute de la valeur pour l’utilisateur final. Si la réponse est non, vous devez supprimer ce visuel. Plutôt que d’utiliser plusieurs visuels dans la page, envisagez d’autres moyens de fournir des détails supplémentaires, tels que des pages d’extraction et des info-bulles de page de rapport.

Examinez le nombre de champs dans chaque visuel. Plus le nombre de visuels dans le rapport est grand, plus les risques de problèmes de performances sont élevés. En outre, plus le nombre de visuels est grand, plus le rapport peut sembler encombré et perdre en clarté. La limite supérieure pour les visuels étant de 100 champs (mesures ou colonnes), un visuel avec plus de 100 champs est lent à charger. Demandez-vous si vous avez vraiment besoin de toutes ces données dans un visuel. Vous constaterez peut-être que vous pouvez réduire le nombre de champs que vous utilisez actuellement.

Requête DAX

Quand vous examinez les résultats dans le volet Analyseur de performances, vous pouvez voir combien de temps il a fallu au moteur Power BI Desktop pour évaluer chaque requête (en millisecondes). Une requête DAX qui prend plus de 120 millisecondes est un bon point de départ. Dans cet exemple, vous identifiez une requête qui a une longue durée.

Capture d’écran d’un exemple de temps de grande durée dans l’analyseur de performances.

L’Analyseur de performances met en évidence les problèmes potentiels, mais ne vous indique pas ce qui doit être fait pour y remédier. Vous souhaiterez peut-être effectuer des investigations supplémentaires afin de déterminer la raison pour laquelle le traitement de cette mesure prend tant de temps. Vous pouvez utiliser DAX Studio pour étudier vos requêtes plus en détail.

Par exemple, sélectionnez Copier la requête pour copier la formule de calcul dans le presse-papiers, puis collez-la dans DAX Studio. Vous pouvez ensuite examiner l’étape de calcul. Dans cet exemple, vous essayez de compter le nombre total de produits dont la quantité commandée est supérieure ou égale à cinq.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    FILTER ( Order, Order[OrderQty] >= 5 )
)

Après l’analyse de la requête, vous pouvez utiliser vos propres connaissances et expérience pour identifier où se situent les problèmes de performances. Vous pouvez également essayer d’utiliser différentes fonctions DAX pour déterminer si elles améliorent les performances. Dans l’exemple suivant, la fonction FILTER a été remplacée par la fonction KEEPFILTER. Quand le test a été réexécuté dans l’Analyseur de performances, la durée a été plus courte en raison de la fonction KEEPFILTER.

Count Customers =
CALCULATE (
    DISTINCTCOUNT ( Order[ProductID] ),
    KEEPFILTERS (Order[OrderQty] >= 5 )
)

Dans ce cas, vous pouvez remplacer la fonction FILTER par la fonction KEEPFILTER pour réduire considérablement la durée d’évaluation de cette requête. Quand vous apportez cette modification, pour vérifier si la durée a été améliorée ou non, videz le cache de données, puis réexécutez le processus de l’Analyseur de performances.

Capture d’écran d’un exemple de temps de petite durée dans l’analyseur de performances.

Modèle sémantique

Si la durée des mesures et visuels affiche des valeurs basses (en d’autres termes, ils ont une durée courte), ils ne sont pas à l’origine des problèmes de performances. En revanche, si la requête DAX affiche une valeur de durée élevée, il est probable qu’une mesure est mal écrite ou qu’un problème a affecté le modèle sémantique. Le problème peut être dû à des relations, des colonnes ou des métadonnées dans votre modèle, ou bien à l’état de l’option Date/heure automatique, comme expliqué dans la section suivante.

Relations

Vous devez examiner les relations entre vos tables pour vérifier que vous avez établi les bonnes relations. Vérifiez que les propriétés de cardinalité des relations sont correctement configurées. Par exemple, une colonne « un » contenant des valeurs uniques peut être configurée de manière incorrecte en tant que colonne « plusieurs ». Vous en apprendrez davantage sur la façon dont la cardinalité affecte les performances plus loin dans ce module.

Colonnes

Il est conseillé de ne pas importer de colonnes de données dont vous n’avez pas besoin. Pour éviter de supprimer des colonnes dans l’Éditeur Power Query, vous devez essayer de les traiter à la source lors du chargement de données dans Power BI Desktop. Toutefois, s’il est impossible de supprimer les colonnes redondantes de la requête source ou que les données ont déjà été importées dans leur état brut, vous pouvez toujours utiliser l’Éditeur Power Query pour examiner chaque colonne. Demandez-vous si vous avez vraiment besoin de chaque colonne et essayez d’identifier l’avantage que chacune d’elles apporte à votre modèle sémantique. Si vous constatez qu’une colonne n’ajoute aucune valeur, vous devez la supprimer de votre modèle sémantique. Supposons, par exemple, que vous disposiez d’une colonne ID avec des milliers de lignes uniques. Comme vous n’utiliserez pas cette colonne dans une relation, elle ne sera utilisée dans aucun rapport. Vous devez donc considérer cette colonne comme inutile et admettre qu’elle gaspille de l’espace dans votre modèle sémantique.

Quand vous supprimez une colonne inutile, vous réduisez la taille du modèle sémantique et, par là même, la taille de fichier et la durée d’actualisation. En outre, étant donné que le modèle sémantique contient uniquement des données pertinentes, les performances globales du rapport sont améliorées.

Pour plus d’informations, consultez Techniques de réduction des données pour la modélisation des importations.

Métadonnées

Les métadonnées sont des informations sur d’autres données. Les métadonnées Power BI contiennent des informations sur votre modèle sémantique, telles que le nom, le type de données et le format de chacune des colonnes, le schéma de la base de données, la conception des rapports, la date de dernière modification du fichier, la fréquence d’actualisation des données et bien plus encore.

Quand vous chargez des données dans Power BI Desktop, il est recommandé d’analyser les métadonnées correspondantes afin de pouvoir identifier les incohérences avec votre modèle sémantique et normaliser les données avant de commencer à créer des rapports. L’exécution d’une analyse sur vos métadonnées améliore les performances du modèle sémantique, car, au cours de cette opération, vous identifiez les colonnes inutiles, les erreurs au sein de vos données, les types de données incorrects, le volume de données chargées (le chargement des modèles sémantiques volumineux, notamment les données transactionnelles ou historiques, prend plus de temps) et bien plus encore.

Vous pouvez utiliser l’Éditeur Power Query dans Power BI Desktop pour examiner les colonnes, les lignes et les valeurs des données brutes. Vous pouvez ensuite utiliser les outils disponibles, tels que ceux mis en évidence dans la capture d’écran suivante, pour apporter les modifications nécessaires.

Capture d’écran des options de l’onglet d’accueil de l’éditeur de requête.

Les options Power Query sont les suivantes :

  • Colonnes inutiles : évalue la nécessité de chaque colonne. Si vous n’envisagez pas d’utiliser une ou plusieurs colonnes dans le rapport, vous devez les supprimer à l’aide de l’option Supprimer les colonnes sous l’onglet Accueil, car elles ne sont pas nécessaires.

  • Lignes inutiles : vérifie les premières lignes du modèle sémantique pour voir si elles sont vides ou si elles contiennent des données dont vous n’avez pas besoin dans vos rapports. Si c’est le cas, vous pouvez supprimer ces lignes à l’aide de l’option Supprimer les lignes de l’onglet Accueil.

  • Type de données : évalue les types de données de colonne pour s’assurer que chacun d’eux est correct. Si vous identifiez un type de données incorrect, changez-le en sélectionnant successivement la colonne, l’option Type de données sous l’onglet Transformer et le type de données approprié dans la liste.

  • Noms des requêtes : examine les noms des requêtes (tables) dans le volet Requêtes. À l’image des noms d’en-tête de colonne, vous devez changer les noms de requête inhabituels ou qui n’aident pas pour des noms qui sont plus évidents ou qui sont plus familiers à l’utilisateur. Vous pouvez renommer une requête en cliquant dessus avec le bouton droit, en sélectionnant Renommer, en modifiant le nom comme il se doit, puis en appuyant sur Entrée.

  • Détails de la colonne : l’Éditeur Power Query dispose des trois options d’aperçu des données suivantes, que vous pouvez utiliser pour analyser les métadonnées associées à vos colonnes. Ces options se trouvent sous l’onglet Affichage, comme l’illustre la capture d’écran suivante.

    • Qualité de la colonne : détermine le pourcentage d’éléments de la colonne qui sont valides, comportent des erreurs ou sont vides. Si le pourcentage de validité n’est pas 100, vous devez en rechercher la raison, corriger les erreurs et remplir les valeurs vides.

    • Distribution en colonnes - affiche la fréquence et la distribution des valeurs dans chacune des colonnes. Vous étudierez cela plus loin dans ce module.

    • Profil en colonnes - affiche un graphique de statistiques en colonnes et un graphique de distribution en colonnes.

Capture d’écran des options de profil de colonne.

Notes

Si vous examinez un grand modèle sémantique contenant plus de 1 000 lignes et que vous souhaitez analyser l’ensemble du modèle sémantique, vous devez changer l’option par défaut en bas de la fenêtre. Sélectionnez Profilage de la colonne en fonction des 1000 premières lignes>Profilage de colonne basé sur l’ensemble du jeu de données.

Capture d’écran des lignes de profil de colonne.

Les autres métadonnées que vous devez prendre en compte sont les informations sur le modèle sémantique dans son ensemble, telles que la taille de fichier et la fréquence d’actualisation des données. Vous pouvez trouver ces métadonnées dans le fichier Power BI Desktop (.pbix) associé. Les données que vous chargez dans Power BI Desktop sont compressées et stockées sur le disque par le moteur de stockage VertiPaq. La taille de votre modèle sémantique a un impact direct sur ses performances ; un modèle sémantique de taille inférieure utilise moins de ressources (mémoire) et permet d’accélérer l’actualisation des données, les calculs et le rendu des visuels dans les rapports.

Fonctionnalité Date/heure automatique

Un autre élément à prendre en compte lors de l’optimisation des performances est l’option Date/heure automatique dans Power BI Desktop. Par défaut, cette fonctionnalité est activée globalement, ce qui signifie que Power BI Desktop crée automatiquement une table calculée masquée pour chaque colonne de date, à condition que certaines conditions soient remplies. Les nouvelles tables masquées s’ajoutent aux tables que vous avez déjà dans votre modèle sémantique.

L’option Date/heure automatique vous permet d’utiliser l’Assistant Time Intelligence pour le filtrage, le regroupement et l’exploration des périodes calendaires au niveau du détail. Nous vous recommandons de conserver l’option Date/heure automatique activée uniquement quand vous utilisez des périodes calendaires et quand le modèle présente des exigences simples par rapport à l’heure.

Si votre source de données définit déjà une table de dimension de date, cette table doit être utilisée pour définir de manière cohérente l’heure au sein de votre organisation, et vous devez désactiver l’option Date/heure automatique globale. La désactivation de cette option peut réduire la taille de votre modèle sémantique et le temps d’actualisation.

Vous pouvez activer/désactiver cette option Date/heure automatique de manière globale afin qu’elle s’applique à tous vos fichiers Power BI Desktop, ou bien l’activer ou la désactiver pour le fichier actuel afin qu’elle ne s’applique qu’à un fichier spécifique.

Pour activer/désactiver cette option Date/heure automatique, accédez à Fichier>Options et paramètres>Options, puis sélectionnez la page Global ou Fichier actuel. Sur l’une ou l’autre des pages, sélectionnez Chargement des données puis, dans la section Time Intelligence, cochez ou décochez la case en fonction des besoins.

Capture d’écran qui montre comment configurer l’heure de la date automatique.

Pour obtenir une vue d’ensemble et une présentation générale de la fonctionnalité Date/heure automatique, consultez Appliquer l’option de date/heure automatique dans Power BI Desktop.