Support formation Rapports Power BI

Calculs visuels

En bref

  • Objectifs : créer un calcul visuel ; utiliser PREVIOUS, RUNNINGSUM, MOVINGAVERAGE et COLLAPSEALL ; piloter une couleur de graphique par un calcul visuel ; savoir quand préférer une mesure.
  • Prérequis : « Découvrir DAX ».
  • Niveau : intermédiaire.

Pourquoi ?

Certains calculs ne dépendent que de ce qui est affiché : l'écart avec la ligne précédente, un cumul le long de l'axe, une moyenne mobile, la part de chaque ligne dans le total du visuel. Écrits en mesures, ils demandent des formules de time intelligence ou de fenêtre parfois complexes. Les calculs visuels simplifient ces calculs : ils s'écrivent directement sur le visuel, ne référencent que ses champs, et sont souvent plus simples à maintenir et plus performants.

Notions clés

  • Un calcul visuel est stocké dans le visuel, pas dans le modèle : il n'est pas réutilisable dans un autre visuel.
  • Il ne peut utiliser que les champs présents dans le visuel (colonnes, mesures, autres calculs visuels). Ajoutez d'abord les champs nécessaires, quitte à les masquer ensuite : un champ masqué reste utilisable par les calculs.
  • Il dispose de fonctions propres, qui parcourent la matrice visuelle :
FamilleFonctions
FenêtreRUNNINGSUM, MOVINGAVERAGE, PREVIOUS, NEXT, FIRST, LAST, RANGE
HiérarchieCOLLAPSE, COLLAPSEALL, EXPAND, EXPANDALL, ISATLEVEL
RechercheLOOKUP, LOOKUPWITHTOTALS
  • Le paramètre facultatif Axis fixe le sens du parcours : ROWS (de haut en bas, par défaut pour la plupart des visuels), COLUMNS (de gauche à droite), ROWS COLUMNS ou COLUMNS ROWS.
  • Le paramètre facultatif Reset fait repartir le calcul, par exemple à chaque année d'une hiérarchie : RUNNINGSUM ( [Montant vente], HIGHESTPARENT ).
  • Des modèles prêts à l'emploi sont proposés en mode Édition : Somme cumulée, Moyenne mobile, Pourcentage du parent, Pourcentage du total général, Par rapport à la précédente, à la suivante, à la première, à la dernière, et deux modèles de recherche.

Pas à pas

image.png

1. Faites un clic droit sur un visuel, puis choisissez Nouveau calcul visuel (repère 1) : le mode Édition s'ouvre.

2. Saisissez la formule dans la barre de modification de formule (repère 2) ; le résultat s'affiche dans le visuel au fur et à mesure (repère 3).

3. Pour créer un autre calcul, validez le calcul actuel avec la coche, puis cliquez dans la barre de formule redevenue vide.

4. Pour le format, ouvrez Format > Propriétés > Format des données, sélectionnez le champ, puis le format.

Exemple

Écart avec la période précédente

Écart au précédent = [Montant vente] - PREVIOUS ( [Montant vente] )
image.png
Période précédente = PREVIOUS ( [Montant vente] )
image.png

Sur la première ligne, il n'y a pas de période précédente : l'écart vaut le montant lui-même. Pour laisser la cellule vide :

Écart au précédent v2 =
IF (
    NOT ISBLANK ( PREVIOUS ( [Montant vente] ) ),
    [Montant vente] - PREVIOUS ( [Montant vente] )
)
image.png

Somme cumulée

Cumul = RUNNINGSUM ( [Montant vente] )

Il n'existe pas de fonction RUNNINGAVERAGE : pour une moyenne glissante, utilisez MOVINGAVERAGE.

image.png

Moyenne mobile

Moyenne mobile = MOVINGAVERAGE ( [Montant vente], 2 )

Le second argument est la taille de la fenêtre (ici 2 lignes).

image.png

Pourcentage du total général

% du total général = DIVIDE ( [Montant vente], COLLAPSEALL ( [Montant vente], ROWS ) )

COLLAPSEALL évalue le montant au niveau le plus haut de l'axe des lignes, c'est-à-dire le total général du visuel.

image.png

Colorer la plus grande valeur d'un graphique

1. Choisissez un graphique à barres ou à colonnes empilées.

2. Ajoutez un nouveau calcul visuel :

image.png

3. Saisissez la formule ci-dessous, qui renvoie la couleur LightGreen pour la plus grande valeur affichée :

Montant max = IF ( [Montant] = MAXX ( ROWS, [Montant] ), "LightGreen" )
image.png
image.png

4. Dans le volet Format, rubrique Colonnes, ouvrez la mise en forme conditionnelle de la couleur :

image.png

5. Sélectionnez le champ Montant max (règle « Est LightGreen »). Vous pouvez ensuite changer l'axe X sans réécrire la formule :

image.png

Variante avec le vert pour le maximum et le rouge pour le minimum, à associer à des règles de couleur sur les valeurs 1 et 2 :

Min max =
SWITCH (
    TRUE (),
    MAXX ( ROWS, [Montant] ) = [Montant], 1,
    MINX ( ROWS, [Montant] ) = [Montant], 2
)
image.png

Évolution d'un mois sur l'autre, en vert si le montant augmente, en rouge sinon (mettez le calcul au format Texte) :

MtoM = IF ( [Montant] > PREVIOUS ( [Montant], ROWS ), "LightGreen", "LightCoral" )
image.png

Pièges et bonnes pratiques

  • Pas de réutilisation : un calcul visuel ne se copie pas d'un visuel à l'autre. Si le calcul sert dans plusieurs visuels, écrivez une mesure.
  • Visuels non pris en charge : segments, visuels R et Python, influenceurs clés, arbre de décomposition, Questions et réponses, petits multiples, visuels personnalisés, entre autres.
  • Fonctionnalités non prises en charge : filtrer ou trier sur un calcul visuel, chaînes de format dynamiques, épinglage sur un tableau de bord, publication sur le web ; les exports de données ne contiennent pas les résultats des calculs visuels.
  • Pas de fonctions de relation : RELATED, RELATEDTABLE et USERELATIONSHIP ne fonctionnent pas dans un calcul visuel.
  • Nom des couleurs : les noms de couleurs s'écrivent sans espace (LightCoral) ; un code hexadécimal ("#1E8E3E") est plus sûr.

À retenir

  • Un calcul visuel s'écrit sur le visuel et ne référence que ses champs.
  • PREVIOUS, RUNNINGSUM, MOVINGAVERAGE et COLLAPSEALL couvrent les besoins courants : écart, cumul, moyenne mobile, pourcentage du total.
  • Axis fixe le sens du parcours, Reset fait repartir le calcul.
  • Pour un calcul réutilisé dans plusieurs visuels, préférez une mesure.

Pour aller plus loin

  • Source (Microsoft Learn, calculs visuels)
  • Source (Microsoft Learn, créer des calculs visuels)
  • Source (Microsoft Learn, COLLAPSEALL)
  • Source (Microsoft Learn, RUNNINGSUM)
  • Source (SQLBI, la forme visuelle des calculs visuels)

Exercice

Dans le PBIP du thème 2 | Comparaisons dans le temps, refaites les questions 2.3 (mois précédent) et 2.4 (moyenne mobile) avec des calculs visuels, puis comparez avec vos mesures.