Formats dynamiques : piloter chaque réglage d'un visuel Plume par une formule DAX
Couleur du titre selon l'évolution, taille du texte calculée, style choisi par un segment : dans tous les visuels Plume Studio, chaque réglage du volet Format peut venir d'une mesure DAX, avec le bouton fx ou le champ « Format dynamique ».
Read in EnglishDans les visuels Plume Studio, chaque réglage du volet Format peut venir d'une formule DAX : la couleur d'un titre qui passe au rouge quand le chiffre d'affaires baisse, un sous-titre qui affiche la moyenne de l'année, une taille de texte ou un style choisis par un segment, un axe qui garde la même échelle quand on filtre… Deux chemins y mènent.
| Bouton fx | Champ « Format dynamique » | |
|---|---|---|
| Réglages | Toutes les couleurs et tous les textes | Tous les réglages : tailles, nombres, interrupteurs, listes, polices, couleurs, textes |
| Comment | Cliquez sur fx à côté du réglage | Glissez une mesure dans le champ et nommez-la carte.réglage |
| Visuels | Tous les visuels Plume (graphiques, segments, Ridgeline Plume, Map Plume…), sauf Table Plume, Matrix Plume et KPI Plume | Tous les visuels Plume, y compris Table Plume, Matrix Plume et KPI Plume |
1. Le bouton fx (couleurs et textes)
C'est la mise en forme conditionnelle habituelle de Power BI. Le bouton fx se trouve dans le volet Format, à droite de chaque réglage de couleur ou de texte, dans toutes les cartes : titre, sous-titre, note de source, couleurs personnalisées, couleurs des données, étiquettes, axes, cadre…
- Dans le volet Format, repérez une couleur ou un texte (par exemple Titre › Couleur (vide = texte)).
- Cliquez sur fx.
- Choisissez Valeur du champ et une mesure qui renvoie une couleur (
"#C0392B") ou un texte, ou bien Règles / Dégradé.
Couleur selon l'évolution =
IF ( CALCULATE ( [Évolution 2025], ALLSELECTED () ) >= 0, "#2E7D4F", "#C0392B" )
Dans Couleurs des données, une règle fx colore chaque catégorie, comme dans les visuels natifs. Pas de bouton fx sur la carte Licence ni sur les couleurs par série (recommandation de Microsoft).
Pourquoi pas de fx dans Table Plume, Matrix Plume et KPI Plume ? Power BI n'autorise pas la mise en forme conditionnelle dans les visuels personnalisés de type tableau ou matrice : ces trois visuels ne peuvent pas afficher le bouton. Les mêmes réglages s'y pilotent par le champ « Format dynamique » (section 2). Pour colorer les cellules selon une valeur, Table Plume et Matrix Plume ont la carte gratuite Éléments de cellule (fond, police, icônes, URL web, avec le champ Champs des éléments de cellule) ; KPI Plume a les champs Titre (mesure texte), Note (mesure texte), Icône (mesure texte) et Libellés de référence.
Power BI ne propose pas non plus le bouton fx pour les tailles, les interrupteurs et les listes : utilisez alors le champ « Format dynamique ».
2. Le champ « Format dynamique » (tous les réglages)
- Créez une mesure qui renvoie la valeur voulue : un nombre, un texte, une couleur, VRAI / FAUX.
- Glissez-la dans le champ Format dynamique du visuel (sous les autres champs). Vous pouvez y mettre plusieurs mesures.
- Nommez-la carte.réglage : clic droit sur la mesure dans le champ › Renommer pour ce visuel, par exemple
title.fontSizeoutitle.color. La mesure garde son nom dans le modèle.
Taille du titre = IF ( HASONEVALUE ( Ventes[Région] ), 20, 14 )
Style du rapport = SELECTEDVALUE ( Habillage[Style], "none" ) -- à renommer style.preset
Les noms ne tiennent pas compte des majuscules ni des accents : Title Color, title/color et title.color désignent le même réglage. Les clés les plus courantes :
| Clé | Réglage | Valeurs |
|---|---|---|
title.text, title.subtitle | Titre, sous-titre | texte |
title.color, title.fontSize | Couleur, taille du titre | #RRGGBB ; nombre |
style.preset | Style | none, nordic, press, neon, dark… |
style.palette | Palette du dégradé | auto, viridis, warmingStripes… |
style.customColors | Personnaliser les couleurs | VRAI / FAUX |
style.colorAccent, style.series1… | Couleurs personnalisées | #RRGGBB |
container.bgColor, container.radius, container.border | Cadre : couleur de fond, coins arrondis, bordure | #RRGGBB ; nombre ; VRAI / FAUX |
dataColors.single, dataColors.mode | Couleur des données | #RRGGBB ; single, category… |
gridlines.hShow, gridlines.valShow | Quadrillage horizontal (Line, Scatter…) ; des valeurs (Bar Plume) | VRAI / FAUX |
columnHeaders.background | En-têtes de colonnes (Table, Matrix Plume) | #RRGGBB |
header.title, header.fontSize | En-tête des segments | texte ; nombre |
Valeurs acceptées. Couleurs : #RGB, #RRGGBB, rgb(…) et quelques noms (red, navy, gold…). Nombres : un nombre DAX ou un texte comme « 12,5 », borné au minimum et au maximum du réglage. Interrupteurs : VRAI / FAUX, 1 / 0, « oui » / « non ». Listes : la valeur technique (center) ou le libellé du volet (« Centre »). Écrivez le libellé tel qu'il est affiché dans le volet, « ★ » compris : le moteur ne reconnaît pas encore un libellé sans son ★ (« Néon ★ », pas « Néon » ; la valeur technique neon marche aussi).
En mode édition, une mesure au nom inconnu ou à la valeur inutilisable est signalée dans le visuel (« Format dynamique : réglage inconnu… ») et simplement ignorée : le réglage du volet s'applique.
3. Les anciens noms restent acceptés
Le 30/10/2026, le volet Format de tous les visuels Plume a été réorganisé : certaines cartes ont été renommées ou regroupées pour porter le même nom partout. Une mesure nommée avec l'ancien nom continue de fonctionner, et un rapport existant garde ses réglages. Pour une nouvelle mesure, utilisez le nouveau nom (celui de la référence technique du visuel).
| Ancien nom | Nouveau nom | Visuels |
|---|---|---|
style.radius, style.bgShow, style.bgColor, style.bgColor2 | container.radius, container.bgShow, container.bgColor, container.bgColor2 (carte Cadre) | graphiques (style.radius aussi dans les segments) |
header.fontSize, header.background… | columnHeaders.fontSize, columnHeaders.background… (carte En-têtes de colonnes) | Table Plume, Matrix Plume |
valAxis.grid, valAxis.gridColor, catAxis.grid | gridlines.valShow, gridlines.valColor, gridlines.catShow (carte Quadrillage) | Bar Plume |
yAxis.grid, yAxis.gridColor, xAxis.grid | gridlines.hShow, gridlines.hColor, gridlines.vShow | Line Plume, Scatter Plume, Hexbin Plume, Stream Plume |
bars.orientation, bars.layout | layout.orientation, layout.type (carte Disposition) | Bar Plume |
display.mode | layout.mode | Ridgeline Plume |
labels.* (noms des catégories) | categoryLabels.* (carte Étiquettes des catégories) | Sankey Plume, Chord Plume, Ridgeline Plume |
compare.* | comparison.* (carte Comparaison) | Period Plume, KPI Plume, Heatmap, Radar, Word Cloud, Beeswarm Plume… |
Chaque visuel liste ses noms changés dans son historique des versions.
4. Garder la même échelle quand le rapport est filtré
Quand un segment ou un clic filtre le rapport, les axes se recalculent : la plus haute barre touche toujours le haut du graphique, et on ne voit plus que les valeurs ont baissé. Pour garder l'échelle, pilotez le minimum et le maximum de l'axe par une mesure qui ignore les filtres.
- Créez la mesure du maximum, calculée sur toutes les données :
Max de l'axe =
CALCULATE ( MAXX ( VALUES ( Produits[Catégorie] ), [CA] ), REMOVEFILTERS () )
-- ou, quand chaque point est une ligne : CALCULATE ( MAX ( Ventes[Montant] ), ALL ( Ventes ) )
- Glissez-la dans Format dynamique et renommez-la avec la clé de l'axe du visuel :
valAxis.max(Bar Plume),yAxis.max(Line, Waterfall, Candle, Stream Plume),xAxis.maxetyAxis.max(Scatter, Hexbin Plume),scale.max(Gauge, Heatmap, Radar, Shape Gauge Plume),timeAxis.min/timeAxis.max(Gantt, Timeline Plume). Faites de même pour le minimum si besoin (valAxis.min,yAxis.min…). - Filtrez le rapport : les barres raccourcissent, l'axe ne bouge plus.
Utilisez REMOVEFILTERS (), REMOVEFILTERS ( Table ) ou ALL ( Table ), pas ALLSELECTED () : ALLSELECTED suit les segments et les filtres croisés, donc l'échelle bougerait encore.
Les clés exactes de chaque visuel (Minimum, Maximum, Début de l'axe…) sont dans sa page « Champs et réglages » et dans sa référence technique.
5. Quelle valeur est retenue ?
Power BI calcule la mesure pour chaque élément du visuel (chaque barre, chaque crête). Pour un réglage global comme le titre, le visuel retient la valeur du total quand Power BI la fournit (Matrix Plume, KPI Plume), sinon la valeur commune à tous les éléments, sinon celle du premier. Pour obtenir la valeur du visuel entier tel qu'il est filtré, entourez le calcul de CALCULATE ( …, ALLSELECTED () ), comme dans les exemples ci-dessus ; pour une valeur qui ignore les filtres (échelle fixe), utilisez REMOVEFILTERS ou ALL (section 4).
Ordre de priorité : la formule DAX l'emporte sur le réglage du volet, sur le style et sur le thème JSON ; le champ « Format dynamique » l'emporte sur une règle fx ; seul le contraste élevé de Windows passe avant.
6. Bon à savoir
- Performances : une mesure du champ « Format dynamique » qui ne renvoie jamais de valeur vide peut faire apparaître des combinaisons sans données quand deux champs de tables différentes sont en catégories. Écrivez-la pour qu'elle reste vide là où le visuel n'a pas de données, par exemple
IF ( NOT ISBLANK ( [CA] ), 14 ). - Fonctions ★ : piloter un réglage par DAX est gratuit ; un réglage ★ (un style payant, par exemple) reste ★ et affiche le filigrane « Aperçu premium » sans clé de licence, comme s'il était choisi à la main.
- Rapports modèles : chaque rapport d'exemple montre un format dynamique (titre ou couleur calculés, échelle gardée sous un filtre) et le rappelle dans sa page Astuces.