Partager via


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])

Capture d’écran de DAX pour des calculs visuels.

Un calcul peut faire référence à n’importe quelle donnée dans la visualisation, y compris des columns, 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 columns 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 previous, 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 :

Capture d’écran de la sélection du nouveau bouton de calcul visuel dans le ruban.

La window 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.

Capture d’écran illustrant des zones de l’écran de modification des calculs visuels.

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]

Capture d’écran de l’entrée d’un calcul visuel.

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 previous, 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 :

Capture d’écran de calculs visuels affichés dans la liste des champs du visuel.

En outre, le calcul visuel s’affiche sur le visuel :

Capture d’écran de calculs visuels affichés 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 columns 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 :

Capture d’écran d’éléments masqués à partir de l’affichage d’un visuel.

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 :

Capture d’écran de l’utilisation de modèles pour des calculs visuels.

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 window donnée en divisant la somme des valeurs par la taille de la window. 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.
  • Contre previous. Compare une valeur à une valeur précédente en utilisant la fonction PREVIOUS.
  • Contre next. Compare une valeur à une valeur suivante en utilisant la fonction NEXT.
  • Contre first. Compare une valeur à la first valeur en utilisant la fonction FIRST.
  • Contre last. Compare une valeur à la last 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 first axe du visuel par défaut. Pour de nombreux visuels, le first 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 rows de haut en bas.
COLUMNS Calcule horizontalement les columns de gauche à droite.
ROWS COLUMNS Calcule verticalement les rows, de haut en bas, puis horizontalement les colonnes, de gauche à droite.
COLUMNS ROWS Calcule horizontalement les columns, 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 valeurs valides pour le Reset paramètre :

  • 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.
  • Valeur numérique, faisant référence aux champs de l’axe, avec le champ le plus élevé étant un.
  • Référence de champ tant que le champ est sur le visuel.

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, les calculs visuels suivants sont équivalents et retournent la somme du montant des ventes qui commence à partir de 0 pour chaque année :

RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])

En revanche, les calculs visuels suivants retournent la somme du montant des ventes qui commence à partir de 0 pour chaque trimestre :

RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], 2)

Enfin, ce calcul visuel ne réinitialise pas et continue d’ajouter la valeur Sales Amount pour chaque mois aux previous valeurs, 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 columns 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 que les fonctions de la window 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) N/A
FIRST Fait référence à la first 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]) N/A
LAST Fait référence à la last 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 next d’un axe. ProfitVSNext = [Profit] – NEXT([Profit]) OFFSET(1)
PREVIOUS Fait référence à une ligne previous d’un axe. ProfitVSPrevious = [Profit] – PREVIOUS([Profit]) OFFSET(-1)
RANGE Fait référence à une tranche de rows 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 :

Capture d’écran du mode Édition des calculs visuels montrant un calcul visuel qui retourne un pourcentage formaté en pourcentage.

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 :
    • 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.
  • 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 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.
  • 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.
  • Vous ne pouvez pas utiliser l’option Path d’Azure Maps avec des calculs visuels.

Next étapes

Les articles suivants peuvent être utiles lors de l’apprentissage et de l’utilisation de calculs visuels :