Utilisation de calculs visuels (préversion)
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 combinent la simplicité de contexte des colonnes calculées avec la flexibilité de 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
Pour utiliser des calculs visuels, vous devez 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.
Ajout d’un calcul visuel
Pour ajouter un calcul visuel, sélectionnez un visuel, puis sélectionnez le bouton Nouveau calcul 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 le Montant des ventes et le Coût total du produit par Exercice financier, vous pouvez ajouter un calcul visuel qui calcule le bénéfice de chaque année en tapant simplement : *:::no-loc text="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 d’é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 :
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.
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.
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 | Description |
---|---|---|
![]() |
ROWS | Calcule verticalement les lignes de haut en bas. |
![]() |
COLUMNS | Calcule horizontalement 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
Vous pouvez uniquement utiliser des valeurs d’axe disponibles dans le visuel sur lequel vous travaillez. Tous les visuels ne fournissent pas tous les axes, et certains visuels ne fournissent aucun axe.
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. Le paramètre Reset est défini sur None par défaut, ce qui signifie que le calcul visuel n’est jamais redémarré. La réinitialisation s’attend à ce qu’il y ait plusieurs niveaux sur l’axe. S’il n’existe qu’un seul niveau sur l’axe, vous pouvez utiliser PARTITIONBY. La liste suivante décrit les seules valeurs valides pour le paramètre Reset :
- NONE est la valeur par défaut et ne réinitialise pas le calcul.
- HIGHESTPARENT réinitialise le calcul lorsque la valeur du parent le plus élevé sur l’axe change.
- LOWESTPARENT réinitialise les calculs lorsque la valeur du parent le plus bas sur l’axe change.
- Une valeur numérique, faisant référence aux champs de l’axe, avec le champ le plus élevé étant égal à un.
Pour comprendre HIGHESTPARENT et LOWESTPARENT, envisagez un axe qui comporte trois champs sur plusieurs niveaux : Année, Trimestre et Mois. Le HIGHESTPARENT est Année, tandis que le parent le moins bas est Trimestre. Par exemple, un calcul visuel défini comme RUNNINGSUM([Sales Amount], :::no-loc text="HIGHESTPARENT":::)
ou RUNNINGSUM([Sales Amount], 1)
retourne une somme en cours d’exécution du Montant des ventes qui commence à partir de 0 pour chaque année. Un calcul visuel défini comme RUNNINGSUM([Sales Amount], :::no-loc text="LOWESTPARENT":::)
ou RUNNINGSUM([Sales Amount], 2)
retourne une somme en cours d’exécution du Montant des ventes qui commence à partir de 0 pour chaque année. Enfin, un calcul visuel défini comme RUNNINGSUM([Sales Amount])
ne se réinitialise pas et continuera d’ajouter la valeur du Montant des ventes pour chaque mois aux valeurs précédentes, sans redémarrer.
Axis et Reset par rapport à 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 et/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 que les fonctions de la fenêtre DAX.
Remarque
Utilisez seulement les fonctions spécifiques de calcul de visuel mentionnées dans le tableau ci-dessous. Les autres fonctions spécifiques aux calculs de visuel sont pour l’instant destinées à une utilisation interne uniquement et ne doivent pas être utilisées. Consultez le tableau ci-dessous pour connaître les éventuelles mises à jour des fonctions disponibles au fur et à mesure de l’évolution de cette préversion.
Fonction | Description | 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) |
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 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 d’une chaîne de mise en forme de niveau visuel. Utilisez les options de Mise en forme des données dans la section Propriétés du volet de mise en forme de votre visuel pour définir le format :
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 :
- Graphique en courbes et histogramme empilé
- Treemap
- 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 utiliser la fonctionnalité Publier sur le web avec des rapports qui utilisent des calculs visuels ou des champs masqués.
- Vous ne pouvez pas exporter des données sous-jacentes à partir de visuels qui utilisent des calculs visuels ou des champs masqués.
- 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 appliquer la mise en forme conditionnelle sur les calculs visuels.
- 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 à SQL Server Analysis Services ne sont pas prises en charge.
- Vous ne pouvez pas utiliser les paramètres de champ avec des calculs visuels.
- 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 une chaîne de mise en forme dynamique sur un calcul visuel ni utiliser un calcul visuel comme chaîne de mise en forme dynamique pour un champ ou une mesure.
Étapes suivantes
Les articles suivants peuvent être utiles lors de l’apprentissage et de l’utilisation de calculs visuels :