Remarque
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.
S’applique à :✅ Power BI Desktop et service Power BI
Un calcul visuel est un calcul DAX que vous définissez et exécutez directement sur un visuel, au lieu de l’ajouter au modèle sémantique. Étant donné qu’un calcul visuel fonctionne avec les données déjà affichées dans le visuel, vous pouvez exprimer des calculs métier courants, tels que l’exécution de totaux, de moyennes mobiles et de comparaisons de périodes sur période, sans naviguer dans le contexte de filtre ou les relations de modèle. Le résultat est généralement un code DAX plus court, plus facile à maintenir et offrant souvent de meilleures performances qu’une mesure équivalente.
Cet article explique quels sont les calculs visuels, comment ils se comportent dans la matrice visuelle, comment les paramètres qui les contrôlent fonctionnent et comment ils diffèrent des mesures et des colonnes calculées. Vous pouvez donc décider quand un calcul visuel est le bon choix.
Voici un exemple de calcul visuel qui définit une somme en cours d’exécution pour Montant des ventes. Le DAX requis est simple :
Running sum = RUNNINGSUM([Sales Amount])
Un calcul peut faire référence à toutes les données du visuel, y compris les colonnes, les 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. Au lieu de cela, vous les stockez sur le visuel. Cette limitation signifie que les calculs visuels ne peuvent faire référence qu’à ce qui se trouve sur le visuel. Vous devez ajouter n’importe quoi dans le modèle au visuel avant que le calcul visuel puisse y faire référence. Cette restriction empêche les calculs visuels de s’inquiéter 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 Utiliser les options de calcul dans Power BI Desktop.
Les visuels de tableau et de matrice exposent également des calculs visuels par le biais de l’expérience de totaux personnalisés, ce qui vous permet de modifier ce que la ligne totale affiche sans écrire DAX. Pour plus d’informations, consultez les articles sur les visuels tableau et matrice.
Pour savoir comment ajouter ou modifier un calcul visuel, consultez Créer des calculs visuels.
Fonctionnement des calculs visuels
Vous créez des calculs visuels en mode Édition, qui s’ouvre sur le visuel sélectionné. L’aire d’édition comporte trois parties : un aperçu du visuel, une barre de formule pour l’expression DAX et une matrice visuelle qui affiche les résultats au fur et à mesure que vous tapez.
Étant donné que vous stockez un calcul visuel sur le visuel, il peut référencer n’importe quoi sur le visuel ( colonnes, mesures ou autres calculs visuels), mais rien d’autre dans le modèle. La plupart des calculs visuels évaluent les lignes par ligne par rapport à la matrice visuelle, de sorte que les fonctions d’agrégation telles que SUM sont généralement inutiles. Vous ne pouvez pas utiliser de fonctions qui dépendent des relations de modèle - USERELATIONSHIP, RELATED et RELATEDTABLE.
Après avoir ajouté un calcul visuel, il apparaît dans la liste de champs du visuel et s’affiche sur le visuel lui-même.
Fonctions DAX disponibles dans les calculs visuels
De nombreuses fonctions DAX existantes fonctionnent 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. La plupart 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(MOYENNE([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 | Évalue une expression dans la matrice visuelle à l’aide du contexte actuel. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], « 2025 ») | S/O |
| LOOKUPWITHTOTALS | Évalue une 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 = [Profit] - NEXT([Profit]) | OFFSET(1) |
| PREVIOUS | Fait référence à une ligne précédente d’un axe. | ProfitVSPrevious = [Profit] - PREVIOUS([Profit]) | 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 progressive sur un axe. | RunningSumSales = RUNNINGSUM([Montant des ventes]) | WINDOW |
Paramètres qui contrôlent le flux de calcul
Certaines fonctions de calcul visuel acceptent des paramètres facultatifs qui contrôlent la façon dont le calcul traverse la matrice visuelle :
- Axis et Reset sont spécifiques aux calculs visuels. Ils référencent la structure visuelle plutôt que des champs spécifiques.
- OrderBy et PartitionBy fonctionnent également dans les colonnes calculées et les mesures. Ils référencent directement les champs.
Les sections suivantes décrivent chaque paramètre et quand utiliser l’un sur l’autre.
Axis
De nombreuses fonctions ont un paramètre facultatif Axis , que vous pouvez utiliser uniquement dans les calculs visuels. Le Axis paramètre influence la façon dont le calcul visuel traverse la matrice visuelle. Le Axis paramètre est défini par défaut sur le premier axe du visuel. 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, le calcul ignore cet axe.
Reset
De nombreuses fonctions incluent un paramètre facultatif Reset que vous pouvez utiliser uniquement dans les calculs visuels. Le Reset paramètre contrôle si et quand la fonction réinitialise sa valeur à 0 ou bascule vers une autre étendue tout en parcourant la matrice visuelle. Il contrôle ce comportement en partitionnant la colonne cible. Lorsque des calculs se produisent dans une partition, la façon dont la colonne est divisée en partitions détermine si un calcul est réinitialisé.
La valeur par défaut du Reset paramètre est NONE, ce qui signifie que le calcul visuel ne redémarre jamais.
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, le paramètre spécifie un niveau unique dans la hiérarchie de calcul visuel (niveau cible). Toutefois, la façon dont le calcul interprète ce niveau 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, NONEet HIGHESTPARENTque vous pouvez choisir entre ces deux modes par 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. Les sections suivantes décrivent ces deux modes :
Mode de réinitialisation absolue
Le mode absolu est un comportement du Reset paramètre dans les calculs visuels. Ce mode indique que le calcul doit partitionner par la colonne cible et toutes ces colonnes au-dessus. Cette règle s’applique à chaque niveau du calcul. Aux niveaux au-dessus de la colonne cible (où la colonne cible n’est pas présente, ainsi que, éventuellement, d’autres colonnes), le calcul est partitionné selon 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 les partitions de calcul à chaque niveau dépendent 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 de réinitialisation relative
Le mode relatif est un comportement du Reset paramètre dans les calculs visuels. Étant donné une valeur entière négative –X, à chaque niveau, le calcul est partitionné selon toutes les colonnes situées à X niveaux ou plus au-dessus de ce niveau dans la hiérarchie (ou n’est pas partitionné du tout si aucun niveau de ce type n’existe). 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, envisagez un calcul visuel avec ces niveaux hiérarchiques : Année, Trimestre, Mois et Jour. Le tableau suivant montre comment les partitions de calcul à chaque niveau dépendent de la valeur de Reset
| 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 |
Réinitialisation des synonymes de paramètres
Le Reset paramètre 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 du paramètre Reset
Considérez un calcul visuel avec ces niveaux de hiérarchie : Année, Trimestre, Mois et Jour. Les calculs visuels suivants 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 de réinitialisation absolue) :
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 de réinitialisation relative).
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])
OrderBy et PartitionBy
Le OrderBy paramètre accepte ORDERBYet le PartitionBy paramètre accepte PARTITIONBY. Contrairement Axis à et Reset, vous pouvez utiliser ces paramètres dans les colonnes calculées, les mesures et les calculs visuels, et ils font référence directement aux champs.
Toutes les fonctions ne fournissent pas ces paramètres. Les fonctions exclusives de calcul visuel ne fournissent pas de PartitionBy paramètre. Les fonctions de fenêtre fournissent uniquement un Reset paramètre si vous les utilisez dans un calcul visuel. Le Relation paramètre sur les fonctions de fenêtre est disponible si vous l’utilisez ou non dans un calcul visuel, mais il accepte uniquement un Axis si vous l’utilisez dans un calcul visuel.
Choisir entre ces paramètres
Vous n’avez pas besoin de spécifier tous ces paramètres, et vous pouvez les combiner. Pour décider quel paramètre utiliser :
- Préférez Axis et Reset quand vous souhaitez un comportement indépendant du champ qui suit la structure visuelle. La référence à la structure visuelle est plus flexible que de référencer explicitement les champs.
- Utilisez OrderBy et PartitionBy lorsque vous souhaitez épingler le calcul à des champs spécifiques, quelle que soit la disposition visuelle.
- Utilisez PartitionBy plutôt Reset que lorsque l’axe n’a qu’un seul niveau. Reset attend plusieurs niveaux sur l’axe, de sorte qu’il ne fonctionne pas lorsqu’il n’y a qu’un seul champ ou quand plusieurs champs existent dans un seul niveau sur l’axe.
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, dans l’image suivante, vous voyez le modèle Rechercher une valeur avec totaux chargé :
Vous pouvez également activer les sélecteurs de paramètres à l’aide du raccourci clavier Ctrl+ESPACE .
Modèles de calcul visuel
Les calculs visuels incluent des modèles pour faciliter l’écriture des calculs courants. Le bouton modèle en mode d’édition des calculs visuels ouvre un menu de modèles disponibles.
Les modèles suivants sont disponibles :
- Somme cumulée 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 âges des enfants. Calcule la valeur moyenne de l’ensemble des valeurs des 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.
Masquer les champs sur le visuel
En mode d’édition des calculs visuels, vous pouvez masquer les champs du visuel comme vous masquez des colonnes et des tables dans la vue de modélisation. Par exemple, pour afficher uniquement le calcul visuel Profit , masquer le montant des ventes et le coût total du produit à 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é apparaît toujours sur la matrice visuelle, mais n’est pas affiché sur le visuel résultant. Incluez uniquement les champs masqués s’ils sont nécessaires pour que vos calculs visuels fonctionnent.
Mettre en forme un calcul visuel
Mettez en forme un calcul visuel à l’aide des types de données et des options de mise en forme, ou à l’aide d’une chaîne de format de niveau visuel personnalisé. Options de format de données dans la section Général du volet mise en forme contrôlent le format.
Observations et limitations
Types visuels non pris en charge
Les calculs visuels et les champs masqués ne fonctionnent pas avec les visuels suivants :
- Segment, visuel R, visuel Python
- Influenceurs clés, arbre de décomposition, Q&A, Narration intelligente
- Métriques, Rapport Paginé, Power Apps, Power Automate
- Petits multiples, axe de lecture automatique sur le diagramme de dispersion
- Visuels personnalisés
Fonctionnalités non prises en charge
Les fonctionnalités suivantes ne sont pas disponibles avec des calculs visuels :
- Filtrage, tri ou modification des agrégations
- Référencement automatique (un calcul ne peut pas faire référence à lui-même)
- Copier/coller ou réutiliser des visuels
- Catégories de données, limites de données ou affichage d’éléments sans données
- Chaînes de format dynamique (impossible de définir ou d’utiliser comme chaîne de format)
- Personnalisation des calculs visuels ou des champs masqués
- Vous pouvez définir des alertes sur les calculs visuels, mais les modifications apportées aux valeurs de calcul visuel ne déclenchent pas les alertes.
- Voir le détail des enregistrements
- IntelliSense dans Power BI intégré
Limitations de publication et de partage
- Impossible d’épingler aux tableaux de bord
- Impossible d’utiliser Publier sur le web
- Les exportations de données excluent les résultats de calcul visuel ; les champs masqués apparaissent uniquement dans les exportations de données sous-jacentes
Autres limitations
- Les paramètres de champ fonctionnent avec des calculs visuels, mais présentent certaines limitations.
- Les connexions actives à SQL Server Analysis Services nécessitent la version 2025 ou ultérieure.
Contenu connexe
Pour plus d’informations sur l’utilisation de calculs visuels, consultez les ressources suivantes :
- Créer des calculs visuels
- Module de formation : Créer des calculs visuels dans Power BI Desktop
- Utiliser les options de calcul dans Power BI Desktop
- Créer des mesures pour une analyse de données dans Power BI Desktop
- Créer et mettre en forme des visualisations de tableau dans Power BI - inclut des totaux personnalisés, qui sont alimentés par des calculs visuels.