Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Les calculs visuels sont actuellement en préversion.
Un calcul visuel est un calcul DAX défini et exécuté directement sur un visuel. Les calculs visuels facilitent la création de calculs qui étaient précédemment difficiles à créer, ce qui permet de simplifier DAX, de faciliter la maintenance et d’améliorer les performances.
Voici un exemple de calcul visuel qui définit une somme en cours d’exécution pour Montant des ventes. Notez que le DAX requis est simple :
Running sum = RUNNINGSUM([Sales Amount])
Un calcul peut faire référence à n'importe quelle donnée dans la visualisation, y compris des colonnes, des mesures ou d'autres calculs visuels. Cette capacité supprime la complexité du modèle sémantique et simplifie le processus d’écriture de DAX. Vous pouvez utiliser des calculs visuels pour effectuer des calculs métier courants tels que l’exécution de sommes ou de moyennes mobiles.
Les calculs visuels diffèrent des autres options de calcul dans DAX :
Les calculs visuels ne sont pas stockés dans le modèle et sont stockés sur le visuel. Cela signifie que les calculs visuels ne peuvent faire référence qu’à ce qui se trouve sur le visuel. Tout ce qui se trouve dans le modèle doit être ajouté au visuel avant que le calcul visuel puisse y faire référence, ce qui évite aux calculs visuels de se préoccuper de la complexité du contexte de filtre et du modèle.
Les calculs visuels associent la simplicité du contexte des colonnes calculées à la flexibilité du calcul à la demande des mesures.
Par rapport aux mesures, les calculs visuels fonctionnent sur des données agrégées au lieu du niveau de détail, ce qui entraîne souvent des avantages en matière de performances. Lorsqu’un calcul peut être réalisé soit par une nouvelle mesure, soit par un calcul visuel, ce dernier permet souvent d’obtenir de meilleurs résultats.
Du fait que les calculs visuels font partie du visuel, ils peuvent faire référence à la structure visuelle, ce qui augmente la flexibilité.
Pour une comparaison plus approfondie des méthodes d’ajout de calculs dans Power BI, consultez Utilisation des options de calcul dans Power BI Desktop.
Une fois que vous avez activé les calculs visuels, vous pouvez :
- Ajouter des calculs visuels à vos rapports
- Masquer certains champs
- Créer rapidement des calculs visuels à l’aide de modèles
- Effectuer des calculs visuels flexibles en faisant référence aux axes du visuel
Les sections suivantes fournissent des détails sur la façon dont chacun des éléments, décrits dans les puces précédentes, fonctionne avec des calculs visuels.
Activer les calculs visuels
Avant septembre 2024, pour utiliser des calculs visuels, vous deviez l’activer dans Options et paramètres>Options>Fonctionnalités d’évaluation. Sélectionnez Calculs visuels et sélectionnez OK. Les calculs visuels sont activés après le redémarrage de Power BI Desktop.
Depuis septembre 2024, cette étape n’est plus nécessaire, car les calculs visuels sont activés par défaut. Bien qu’ils soient toujours en préversion, vous pouvez utiliser les paramètres ci-dessus pour désactiver les calculs visuels si vous le souhaitez.
Ajout d’un calcul visuel
Pour ajouter un calcul visuel, sélectionnez un visuel, puis sélectionnez le bouton Nouveau calcul visuel dans le ruban :
La fenêtre des calculs visuels s’ouvre en mode Édition. L’écran du mode Édition se compose de trois sections principales, comme indiqué de haut en bas dans l’image suivante :
- L’aperçu visuel montrant le visuel avec lequel vous travaillez
- Une barre de formule dans laquelle vous pouvez ajouter des calculs visuels
- La matrice visuelle qui affiche les données dans le visuel et affiche les résultats des calculs visuels lorsque vous les ajoutez. Tout style ou thème que vous appliquez à votre visuel n’est pas appliqué à la matrice visuelle.
Pour ajouter un calcul visuel, tapez l’expression dans la barre de formule. Par exemple, dans un visuel qui contient Sales Amount and Total Product Cost by Fiscal Year, vous pouvez ajouter un calcul visuel qui calcule le bénéfice pour chaque année en tapant :
Profit = [Sales Amount] – [Total Product Cost]
Par défaut, la plupart des calculs visuels sur un visuel sont évalués ligne par ligne, comme une colonne calculée. Dans l’exemple précédent, pour chaque ligne de la matrice visuelle, le Montant des ventes actuel et le Coût total du produit sont soustraits, et le résultat est retourné dans la colonne Profit. Bien que possible, il n’est pas nécessaire d’ajouter une fonction d’agrégation comme SUM comme vous le feriez dans une mesure. En fait, il est préférable de ne pas ajouter de tels agrégats lorsqu’ils ne sont pas nécessaires. Vous pouvez donc facilement faire la distinction entre les mesures et les expressions de calcul visuel.
Lorsque vous ajoutez des calculs visuels, ils sont affichés dans la liste des champs du visuel :
En outre, le calcul visuel s’affiche sur le visuel :
Vous pouvez utiliser de nombreuses fonctions DAX existantes dans les calculs visuels. Les fonctions spécifiques aux calculs visuels sont également disponibles. Étant donné que les calculs visuels fonctionnent dans les limites de la matrice visuelle, les fonctions qui s’appuient sur des relations de modèle telles que USERELATIONSHIP, RELATED ou RELATEDTABLE ne peuvent pas être utilisées.
Masquage des champs du visuel
En mode Édition des calculs visuels, vous pouvez masquer les champs du visuel comme vous pouvez masquer des colonnes et des tables dans la vue de modélisation. Par exemple, si vous souhaitez uniquement afficher le calcul visuel Profit, vous pouvez masquer le Montant des ventes et le coût du Total du profit à partir de l’affichage :
Le masquage des champs ne les supprime pas du visuel ou de la matrice visuelle, de sorte que vos calculs visuels peuvent toujours s’y référer et continuer à fonctionner. Un champ masqué est toujours affiché sur la matrice visuelle, mais il n’est pas affiché sur le visuel résultant. Il est recommandé d’inclure uniquement des champs masqués s’ils sont nécessaires pour que vos calculs visuels fonctionnent.
Utilisation de modèles
Les calculs visuels incluent des modèles pour faciliter l’écriture des calculs courants. Vous pouvez trouver des modèles en sélectionnant le bouton modèle et en choisissant un modèle à utiliser :
Vous pouvez également créer un calcul visuel modèle à partir du ruban en cliquant sur la partie inférieure du bouton Nouveau calcul visuel.
Les modèles suivants sont disponibles :
- Somme en cours d’exécution. Calcule la somme des valeurs, en ajoutant la valeur actuelle aux valeurs précédentes. Utilise la fonction RUNNINGSUM.
- Moyenne mobile. Calcule une moyenne d’un ensemble de valeurs dans une fenêtre donnée en divisant la somme des valeurs par la taille de la fenêtre. Utilise la fonction MOVINGAVERAGE.
- Pourcentage du parent. Calcule le pourcentage d’une valeur par rapport à son parent. Utilise la fonction COLLAPSE.
- Pourcentage du total général. Calcule le pourcentage d’une valeur par rapport à toutes les valeurs en utilisant la fonction COLLAPSEALL.
- Moyenne des enfants. Calcule la valeur moyenne de l’ensemble des valeurs enfants. Utilise la fonction EXPAND.
- Par rapport à la précédente. Compare une valeur à une valeur précédente en utilisant la fonction PREVIOUS.
- Par rapport à la suivante. Compare une valeur à une valeur suivante en utilisant la fonction NEXT.
- Par rapport à la première. Compare une valeur à la première valeur en utilisant la fonction FIRST.
- Par rapport à la dernière. Compare une valeur à la dernière valeur en utilisant la fonction LAST.
- Recherchez une valeur avec le contexte. Recherchez une valeur ou évaluez une expression sur la matrice visuelle dans le contexte actuel, à l’aide de la LOOKUP fonction.
- Trouvez une valeur avec les totaux. Recherchez une valeur ou évaluez une expression sur la matrice visuelle avec des totaux, à l’aide de la LOOKUPWITHTOTALS fonction.
La sélection d’un modèle insère le modèle dans la barre de formule. Vous pouvez utiliser ces modèles comme points de départ. Vous pouvez également ajouter vos propres expressions sans compter sur des modèles.
Sélecteurs de paramètres
Les sélecteurs de paramètres facilitent la sélection de valeurs pour les paramètres dans les fonctions de calcul visuel. Par exemple, ici, nous avons chargé le modèle Rechercher une valeur avec les totaux.
Vous pouvez également activer les sélecteurs de paramètres à l’aide du raccourci clavier Ctrl+ESPACE .
Axis
De nombreuses fonctions ont un paramètre Axis facultatif qui ne peut être utilisé que dans les calculs visuels. Axis influence la façon dont le calcul visuel traverse la matrice visuelle. Le paramètre Axis est défini sur le premier axe du visuel par défaut. Pour de nombreux visuels, le premier axe est ROWS, ce qui signifie que le calcul visuel est évalué ligne par ligne dans la matrice visuelle, de haut en bas. Le tableau suivant présente les valeurs valides pour le paramètre Axis :
Icône Axis | Nom Axis | Descriptif |
---|---|---|
![]() |
ROWS | Calcule verticalement à travers les lignes de haut en bas. |
![]() |
COLUMNS | Calcule à l'horizontale à travers les colonnes de gauche à droite. |
![]() |
ROWS COLUMNS | Calcule verticalement les lignes, de haut en bas, puis horizontalement les colonnes, de gauche à droite. |
![]() |
COLUMNS ROWS | Calcule horizontalement les colonnes, de gauche à droite, puis verticalement les lignes, de haut en bas. |
Remarque
Si vous spécifiez un axe qui n’est pas présent sur le visuel, cet axe est ignoré.
Reset
De nombreuses fonctions disposent d’un paramètre facultatif Reset qui est disponible uniquement dans les calculs visuels. Reset influence si et quand la fonction réinitialise sa valeur à 0 ou bascule vers une autre étendue tout en parcourant la matrice visuelle. Pour ce faire, partitionnez la colonne cible. Lorsque des calculs sont effectués dans une partition, la façon dont la colonne est divisée dans les partitions détermine si un calcul est réinitialisé. Le Reset paramètre est défini NONE par défaut, ce qui signifie que le calcul visuel n’est jamais redémarré. Le Reset paramètre accepte différents types de valeurs :
- entiers
- références de colonne
- Synonymes spéciaux : HIGHESTPARENT, LOWESTPARENT,NONE
Dans tous les cas, il spécifie un seul niveau dans la hiérarchie de calcul visuel (nous allons l’appeler le niveau cible). Toutefois, la façon dont ce niveau est interprété dans le calcul peut varier. Le Reset comportement fonctionne dans deux modes différents : absolu et relatif.
Lorsque vous utilisez des valeurs entières pour le paramètre ou leurs équivalents, et NONE, HIGHESTPARENT vous pouvez choisir entre ces deux modes via le signal de l’entier : les valeurs positives effectuent une réinitialisation en mode absolu et les valeurs négatives LOWESTPARENTeffectuent une réinitialisation en mode relatif (et zéro ne réinitialise pas du tout, le comportement par défaut).
Si vous spécifiez une référence de colonne, vous travaillez également en mode absolu. Ces valeurs déterminent la façon dont la colonne cible est partitionnée et, par conséquent, si elle est réinitialisée. Ces deux modes sont décrits dans la section suivante :
Mode absolu
Ce mode indique que le calcul doit être partitionné par la colonne cible et tous ceux ci-dessus, et cela s’applique à chaque niveau du calcul. Au-dessus de la cible (où la colonne cible n’est pas présente, et éventuellement d’autres), le calcul est partitionné par les colonnes restantes disponibles. La valeur entière positive identifie la colonne cible à partir du haut (la colonne supérieure est 1, la suivante est 2, etc.). Il passe à N (nombre de colonnes dans la hiérarchie) et toutes les valeurs supérieures sont réduites. Vous pouvez également spécifier la colonne directement.
Par exemple, considérez un calcul visuel avec ces niveaux hiérarchiques : Année, Trimestre, Mois et Jour. Le tableau suivant montre comment le calcul sera partitionné à chaque niveau en fonction de la valeur de Reset:
Niveau / valeur | Reset = 1 ou année | Reset = 2 ou trimestre | Reset = 3 ou mois | Reset = 4 ou jour |
---|---|---|---|---|
Niveau quotidien | Année | Trimestre et année | Mois, trimestre et année | Jour, Mois, Trimestre et Année |
Niveau mensuel | Année | Trimestre et année | Mois, trimestre et année | Mois, trimestre et année |
Niveau trimestriel | Année | Trimestre et année | Trimestre et année | Trimestre et année |
Niveau d'année scolaire | Année | Année | Année | Année |
Niveau total général | Aucun | Aucun | Aucun | Aucun |
Mode relatif
Étant donné une valeur entière négative –X, à chaque niveau, le calcul est partitionné par tous les niveaux X de colonnes ou plus au-dessus de celui-ci dans la hiérarchie (ou non partitionné du tout s’il n’existe aucun niveau de ce type). Les valeurs valides pour ce mode sont comprises entre -1 et -N+1 (où N correspond au nombre de colonnes de la hiérarchie) et toutes les valeurs inférieures sont réduites. Là encore, considérez le calcul visuel décrit précédemment. Le tableau ci-dessous montre comment le calcul sera partitionné à chaque niveau en fonction de la valeur de réinitialisation :
Niveau / valeur | Reset = -1 | Reset = -2 | Reset = -3 |
---|---|---|---|
Niveau quotidien | Mois, trimestre et année | Trimestre et année | Année |
Niveau mensuel | Trimestre et année | Année | Aucun |
Niveau trimestriel | Année | Aucun | Aucun |
Niveau d'année scolaire | Aucun | Aucun | Aucun |
Niveau total général | Aucun | Aucun | Aucun |
Synonymes
Reset fournit également les synonymes suivants :
- NONE est la valeur par défaut. Elle ne réinitialise pas le calcul et équivaut à 0.
- HIGHESTPARENT effectue une réinitialisation absolue par le niveau le plus élevé et équivaut à 1.
- LOWESTPARENT effectue une réinitialisation relative par le parent immédiat et équivaut à -1.
Exemples d’utilisation Reset
Par exemple, considérez le calcul visuel décrit précédemment. Les calculs visuels sont équivalents et retournent la somme du montant des ventes qui redémarre pour chaque année, quel que soit le niveau sur lequel le calcul est évalué (voir le mode absolu) :
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
En revanche, les calculs visuels suivants retournent la somme de Sales Amount qui commence à partir de 0 pour chaque parent immédiat, qui dépend du niveau sur lequel le calcul est évalué (voir le mode relatif).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Enfin, ce calcul visuel ne réinitialise pas et continue d’ajouter la valeur Sales Amount pour chaque jour aux valeurs précédentes, sans redémarrer.
RUNNINGSUM([Sales Amount])
Axis et Reset vs ORDERBY et PARTITIONBY
Axis, Reset, ORDERBY et PARTITIONBY sont quatre fonctions que vous pouvez utiliser en paires ou ensemble pour influencer la façon dont un calcul est évalué. Ils forment deux paires qui sont souvent utilisées ensemble :
- Axis et Reset
- ORDERBY et PARTITIONBY
Axis et Reset sont disponibles uniquement pour les fonctions qui peuvent être utilisées dans les calculs visuels et ne peuvent être utilisées que dans un calcul visuel, car elles référencent la structure visuelle. ORDERBY et PARTITIONBY sont des fonctions qui peuvent être utilisées dans les colonnes calculées, les mesures et les calculs visuels et font référence aux champs. Bien qu’elles effectuent la même fonction, elles sont différentes dans le niveau d’abstraction fourni. La référence à la structure visuelle est plus flexible que la référence explicite aux champs à l’aide de ORDERBY ou PARTITIONBY.
La réinitialisation s’attend à ce qu’il y ait plusieurs niveaux sur l’axe. Si vous n’avez pas plusieurs niveaux sur l’axe, soit parce qu’il n’existe qu’un seul champ ou plusieurs champs dans un seul niveau sur l’axe, vous pouvez utiliser PARTITIONBY.
La spécification de l’une ou l’autre paire fonctionne correctement, mais vous pouvez également spécifier Axis, ORDERBY ou PARTITIONBY ensemble, auquel cas les valeurs spécifiées pour ORDERBY et PARTITIONBY remplacent les valeurs dictées par Axis. Reset ne peut pas être combiné avec ORDERBY et PARTITIONBY.
Vous pouvez considérer que la paire ORDERBY et PARTITIONBY épingle des références de champ en spécifiant explicitement les champs, là où Axe et Réinitialiser sont indépendantes des champs (elles font référence à la structure et au champ qui se trouve sur la structure qui est utilisée).
Fonctions disponibles
Vous pouvez utiliser de nombreuses fonctions DAX existantes dans les calculs visuels. Étant donné que les calculs visuels fonctionnent dans les limites de la matrice visuelle, les fonctions qui s’appuient sur des relations de modèle telles que USERELATIONSHIP, RELATED ou RELATEDTABLE ne sont pas disponibles.
Les calculs visuels introduisent également un ensemble de fonctions spécifiques aux calculs visuels. Beaucoup de ces fonctions sont des raccourcis plus faciles à utiliser pour les fonctions de fenêtre DAX.
Fonction | Descriptif | Exemple | Raccourci vers |
---|---|---|---|
COLLAPSE | Le calcul est évalué à un niveau supérieur de l’axe. | Pourcentage du parent = DIVIDE([Montant des ventes], COLLAPSE([Montant des ventes], ROWS)) | S/O |
COLLAPSEALL | Le calcul est évalué au niveau total de l’axe. | Pourcentage du total général = DIVIDE([Montant des ventes], COLLAPSEALL([Montant des ventes], ROWS)) | S/O |
EXPAND | Le calcul est évalué à un niveau inférieur de l’axe. | Moyenne des enfants = EXPAND(AVERAGE([Montant des ventes]), ROWS) | S/O |
EXPANDALL | Le calcul est évalué au niveau feuille de l’axe. | Moyenne du niveau feuille = EXPANDALL(AVERAGE([Montant des ventes]), ROWS) | S/O |
FIRST | Fait référence à la première ligne d’un axe. | ProfitVSFirst = [Profit] – FIRST([Profit]) | INDEX(1) |
ISATLEVEL | Indique si la colonne spécifiée est présente au niveau actuel. | IsFiscalYearAtLevel = ISATLEVEL([Exercice financier]) | S/O |
LAST | Fait référence à la dernière ligne d’un axe. | ProfitVSLast = [Profit] – LAST([Profit]) | INDEX(-1) |
LOOKUP | Évaluez l’expression dans une matrice visuelle à l’aide du contexte actuel. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]) [Year], « 2025 ») | S/O |
LOOKUPWITHTOTALS | Évaluez l’expression dans la matrice visuelle avec des totaux. | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SOMME([Ventes]), [Année], « 2025 ») | S/O |
MOVINGAVERAGE | Ajoute une moyenne mobile sur un axe. | MovingAverageSales = MOVINGAVERAGE([Montant des ventes], 2) | WINDOW |
NEXT | Fait référence à une ligne suivante d’un axe. | ProfitVSNext = [Bénéfice] – NEXT([Bénéfice]) | OFFSET(1) |
PREVIOUS | Fait référence à une ligne précédente d’un axe. | ProfitVSPrevious = [Bénéfice] – PREVIOUS([Bénéfice]) | OFFSET(-1) |
RANGE | Fait référence à une tranche de lignes d’un axe. | AverageSales = AVERAGEX(RANGE(1), [Montant des ventes]) | WINDOW |
RUNNINGSUM | Ajoute une somme en cours d’exécution sur un axe. | RunningSumSales = RUNNINGSUM([Montant des ventes]) | WINDOW |
Mise en forme des calculs visuels
Vous pouvez mettre en forme un calcul visuel à l’aide des types de données et des options de mise en forme. Vous pouvez également définir une chaîne de format de niveau visuel personnalisée. Utilisez les options de format de données dans la section Général du volet de mise en forme de votre visuel pour définir le format :
Exemple 1 : Utilisation du calcul visuel pour retourner un code de couleur hexadécimal pour la mise en forme conditionnelle
Étape 1 : Sélectionnez le visuel dans lequel vous souhaitez utiliser la mise en forme conditionnelle :
Étape 2 : Sélectionnez le bouton Nouveau calcul visuel sous l’onglet Accueil :
Étape 3 : Écrire votre calcul visuel. Voici une instruction IF pour retourner un résultat vert ou rouge en fonction d’une mesure supérieure à .5 :
Conditional Hex Code = IF ( [Progress] > .5, "#5BA300", "#E91C1C" )
Étape 4 : Développez le volet Mise en forme et sélectionnez Propriétés :
Étape 5 : Développez la section Format des données , sélectionnez votre calcul visuel, puis définissez le type de données et le format sur Texte :
Étape 6 : Avant de quitter l’éditeur de calcul visuel, sélectionnez l’icône masquer en regard du calcul visuel dans la section build pour la masquer :
Étape 7 : Utilisez-la dans une section de mise en forme conditionnelle :
Étape 8 : Quittez l’éditeur de calcul visuel en cliquant sur le bouton Retour au rapport :
Étape 9 : Profitez de votre visuel mis en forme conditionnelle !
Observations et limitations
Les calculs visuels sont actuellement en préversion et, pendant la préversion, vous devez connaître les considérations et limitations suivantes :
- Tous les types visuels ne sont pas pris en charge. Utilisez le mode d’édition des calculs visuels pour modifier le type de visuel. En outre, les visuels personnalisés n’ont pas été testés avec des calculs visuels ou des champs masqués.
- Les types visuels et les propriétés visuelles suivants ont été testés et ne fonctionnent pas avec des calculs visuels ou des champs masqués :
- Segment
- Visuel R
- Visuel Python
- Influenceurs clés
- Arborescence de décomposition
- Questions et réponses
- Narration intelligente
- Métriques
- Rapport paginé
- Power Apps
- Power Automate
- Petits multiples
- Axe de lecture sur le nuage de points
- Les performances de cette fonctionnalité ne sont pas représentatives du produit final.
- La réutilisation des calculs visuels à l’aide de copier/coller ou d’autres mécanismes n’est pas disponible.
- Vous ne pouvez pas filtrer sur les calculs visuels.
- Un calcul visuel ne peut pas faire référence à lui-même au même niveau de détail ou à un niveau différent.
- La personnalisation des calculs visuels ou des champs masqués n’est pas disponible.
- Vous ne pouvez pas épingler un visuel qui utilise des calculs visuels ou des champs masqués pour un tableau de bord.
- Vous ne pouvez pas utiliser la fonctionnalité Publier sur le web avec des rapports qui utilisent des calculs visuels ou des champs masqués.
- Lors de l’exportation de données à partir de visuels, les résultats de calcul visuel ne sont pas inclus dans l’exportation de données sous-jacente . Les champs masqués ne sont jamais inclus dans l’exportation, sauf lors de l’exportation des données sous-jacentes.
- Vous ne pouvez pas utiliser la fonctionnalité d’extraction voir les enregistrements avec des visuels qui utilisent des calculs visuels ou des champs masqués.
- Vous ne pouvez pas définir de catégories de données sur les calculs visuels.
- Vous ne pouvez pas modifier les agrégations sur les calculs visuels.
- Vous ne pouvez pas modifier l’ordre de tri pour les calculs visuels.
- Power BI Embedded n’est pas pris en charge pour les rapports qui utilisent des calculs visuels ou des champs masqués.
- Les connexions actives aux versions de SQL Server Analysis Services publiées avant la version 2025 ne sont pas prises en charge.
- Bien que vous puissiez utiliser des paramètres de champ avec des calculs visuels, ils ont certaines limitations.
- Afficher les éléments sans données n’est pas disponible avec les calculs visuels.
- Vous ne pouvez pas utiliser de limites de données avec des calculs visuels.
- Vous ne pouvez pas définir de chaîne de format dynamique sur un calcul visuel ni utiliser un calcul visuel comme chaîne de format dynamique pour un champ ou une mesure.
Contenu connexe
Pour plus d’informations sur l’utilisation de calculs visuels, consultez les ressources suivantes :