Rendre le rapport dynamique
Créer des titres et des textes qui reprennent la sélection du lecteur ; piloter couleurs, icônes et images par des mesures ; laisser le lecteur choisir l'axe ou la mesure d'un graphique ; afficher la date de dernière actualisation.
Pourquoi ?
Un titre fixe ne dit pas au lecteur qu'il regarde seulement l'Allemagne, et une couleur saisie à la main doit être corrigée dans chaque visuel. Les techniques de cette page déplacent ces choix dans le modèle (mesures, paramètres) : le rapport s'adapte aux sélections et la logique est écrite une seule fois.
Notions clés
| Besoin | Technique | Où la régler |
| Titre qui reprend la sélection | Mesure texte avec SELECTEDVALUE ou CONCATENATEX | Bouton fx du titre du visuel, ou Valeur d'une zone de texte |
| Icône texte colorée | Mesure avec UNICHAR et mesure de couleur | Couleur de police > fx > Valeur du champ |
| Couleur pilotée par le calcul | Mesure qui renvoie un code hexadécimal | fx > Valeur du champ |
| Mini-graphique dans une cellule | Mesure qui renvoie une image SVG, catégorie URL de l'image | Table ou matrice |
| Format qui change selon la valeur | Chaîne de format dynamique | Outils de mesure > Format : Dynamique |
| Choisir la mesure ou l'axe d'un graphique | Paramètre de champ | Modélisation > Nouveau paramètre > Champs |
| Filtrer la requête envoyée à la source | Paramètre M dynamique (DirectQuery) | Propriétés du champ > Lier au paramètre |
Exemple : le PBIP TitresIcones
Le projet de démonstration TitresIcones consacre une page à chaque technique : explication, visuels, segments pour tester et formule DAX.
Ouvrez TitresIcones.pbip dans Power BI Desktop. Les mesures de la table Ventes sont rangées par dossier d'affichage :
| Page | Mesure | Usage |
| 0. Base | Montant vente, Montant 2024, Montant 2025, % évolution, % du total | Mesures de départ utilisées par les autres |
| 1. Titre SELECTEDVALUE | Titre par pays, Titre carte | Titre de matrice et phrase de carte qui reprennent le pays choisi, « tous les pays » sinon |
| 2. Titre CONCATENATEX | Titre couleurs, Titre catégories | Liste des couleurs choisies, triée ; au-delà de trois, leur nombre |
| 3. Icônes UNICHAR | Tendance, Couleur tendance | Triangle vers le haut, vers le bas ou rond selon l'évolution, coloré en vert, rouge ou gris |
| 4. Couleur de fond | Couleur fond part, Couleur texte part | Fond orange fort, clair ou blanc selon la part du total, texte blanc sur fond foncé |
| 5. Icônes intégrées | Statut évolution | Renvoie 1, 0 ou -1 pour simplifier une règle d'icônes (exercice) |
| 6. Images SVG | Barre part SVG, Pastille évolution SVG | Barre de progression et pastille colorée dessinées en SVG |
| 7. Format dynamique | Montant format dynamique | Affiche 623,1 k€ ou 1,2 M€ selon l'ordre de grandeur, la valeur restant un nombre |
Quelques formules clés du projet :
Titre couleurs =
VAR n = COUNTROWS ( VALUES ( Produit[Couleur] ) )
RETURN
"Ventes par pays | "
& IF (
NOT ISFILTERED ( Produit[Couleur] ),
"toutes les couleurs",
IF (
n <= 3,
CONCATENATEX ( VALUES ( Produit[Couleur] ), Produit[Couleur], ", ", Produit[Couleur], ASC ),
n & " couleurs sélectionnées"
)
)Tendance =
VAR e = [% évolution]
RETURN
IF (
ISBLANK ( e ),
BLANK (),
SWITCH ( TRUE (), e > 0.05, UNICHAR ( 9650 ), e < -0.05, UNICHAR ( 9660 ), UNICHAR ( 9679 ) )
& " " & FORMAT ( e, "+0.0 %;-0.0 %" )
)Points à retenir du projet :
- ISFILTERED distingue « rien de sélectionné » de « tout sélectionné ».
- Une mesure SVG doit avoir la catégorie de données URL de l'image, et
#s'écrit%23dans le texte SVG. Réduisez la hauteur des images dans le volet Format (16 px dans l'exemple). - FORMAT renvoie du texte ; une chaîne de format dynamique garde un nombre, donc des tris et des totaux justes.
- Exercice de la page « Icônes intégrées » : règle d'icônes sur % évolution fondée sur le champ Statut évolution (flèche verte si 1, jaune si 0, rouge si -1).
Pas à pas
Afficher une valeur dynamique dans une zone de texte
L'objectif est d'afficher les couleurs sélectionnées dans un segment :

1. Créez la mesure qui liste les couleurs sélectionnées, ou une variante qui demande de n'en choisir qu'une :
Couleurs sélectionnées =
SELECTEDVALUE (
'Product'[Color],
CONCATENATEX ( VALUES ( 'Product'[Color] ), 'Product'[Color], ", " )
)Couleur sélectionnée =
SELECTEDVALUE ( 'Product'[Color], "Sélectionnez une couleur" )2. Insérez une zone de texte et saisissez le début de la phrase, par exemple « Vous affichez les couleurs : » (1).

3. Cliquez sur Valeur (2), saisissez tout ou partie du nom de la mesure (3), choisissez la mesure proposée puis cliquez sur Enregistrer (4).
Pour le titre d'un visuel, activez Titre dans le volet Format > Général, cliquez sur fx à côté du texte du titre et choisissez la mesure.
Fixer la couleur de chaque catégorie
Une couleur choisie dans Format > Colonnes > Couleurs ne vaut que pour ce visuel. Pour qu'une catégorie garde la même couleur partout, créez une mesure qui renvoie un code couleur par catégorie et utilisez-la avec fx > Valeur du champ, comme la mesure Couleur tendance du PBIP. Les deux vidéos suivantes présentent d'autres approches.
Ajouter des icônes personnalisées par le thème
Vous pouvez déclarer vos propres icônes SVG dans le fichier JSON du thème, puis les choisir dans une règle d'icônes.
1. Dessinez les icônes dans PowerPoint (une par diapositive), puis Enregistrer sous au format SVG en acceptant un fichier par diapositive.
2. Exportez le thème actif (Affichage > Thèmes > Enregistrer le thème actuel) et ouvrez le fichier JSON dans un éditeur de texte comme Visual Studio Code.
3. Avant la dernière accolade, ajoutez une virgule puis une section icons, avec une entrée par icône (nom à adapter à votre projet) :
"icons": {
"Statut avancement projet 1": {
"description": "Statut avancement projet 1",
"url": "data:image/svg+xml;utf8,<svg ...>...</svg>"
}
}Avant :

Après :

4. Ouvrez chaque fichier SVG dans l'éditeur, remplacez les guillemets doubles par des apostrophes et # par %23 (Ctrl + H), puis collez le code après le préfixe data:image/svg+xml;utf8, de la ligne url. Dupliquez l'entrée pour les icônes 2, 3 et 4.
5. Enregistrez le fichier, puis importez-le dans Power BI Desktop (Affichage > Thèmes > Rechercher les thèmes).
6. Cliquez avec le bouton droit sur le champ à mettre en forme > Mise en forme conditionnelle > Icônes, et choisissez vos icônes dans les règles.


Les fichiers de l'exemple (icônes SVG et thème) :
Créer des axes et des mesures dynamiques avec les paramètres de champ
Les paramètres de champ sont disponibles sans activation particulière dans Power BI Desktop.
1. Créez des mesures explicites, par exemple Quantité = SUM ( Ventes[Qte] ) : les paramètres de champ n'acceptent pas les mesures implicites.
2. Cliquez sur Modélisation > Nouveau paramètre > Champs.
3. Nommez le paramètre (ici Valeurs) et faites glisser les mesures de la liste Champs vers la liste Ajouter et réorganiser des champs.
[Capture : fenêtre Paramètres de champ nommée Valeurs, avec trois mesures dans la liste Ajouter et réorganiser des champs]
4. Créez un second paramètre, nommé par exemple Axe X, avec des colonnes des tables de dimension (Catégorie, Pays, Couleur).
5. Insérez un graphique, placez le champ Axe X dans la zone Axe X et le champ Valeurs dans la zone Axe Y. Les segments créés automatiquement permettent au lecteur de choisir.

Filtrer la source avec un paramètre M dynamique
Objectif : un segment choisit le nombre de lignes renvoyées par la source (SELECT TOP N côté serveur), ce qui réduit le volume transféré. La fonctionnalité exige une source en mode DirectQuery (base de données, pas un fichier Excel).

1. Dans Power Query, cliquez sur Gérer les paramètres > Nouveau paramètre et créez le paramètre paramTopRows (type Nombre décimal), sans espace dans le nom.
2. Utilisez le paramètre dans la requête DirectQuery (requête native ou étape de filtre M).
3. Créez une table qui contient les valeurs proposées au lecteur (10, 50, 100...), par exemple une table calculée ou une table saisie, dont la colonne ne porte pas le nom d'une colonne existante.
4. Cliquez sur Fermer et appliquer, puis affichez la vue Modèle.
5. Sélectionnez la colonne TopRows de la table Top N, puis dans le volet Propriétés > Avancé, choisissez paramTopRows dans la liste Lier au paramètre.
6. Placez la colonne TopRows dans un segment à sélection unique.
Afficher la date de dernière actualisation
Créez une table calculée qui mémorise l'heure de l'actualisation, puis affichez-la dans une carte :
DateDernierMAJ = { NOW () }NOW n'est évaluée qu'à l'actualisation du modèle, ce qui est l'effet recherché. Dans le service Power BI, elle renvoie l'heure UTC : précisez-le dans le libellé, ou calculez l'heure locale dans Power Query.
Pièges et bonnes pratiques
- Paramètres de champ : pas de mesures implicites, pas d'utilisation comme champ d'extraction ou d'info-bulle, pas de prise en charge par les visuels d'IA ; ne rien sélectionner revient à tout sélectionner.
- Paramètres M dynamiques : non pris en charge avec la sécurité au niveau des lignes, les agrégations ni Power BI Report Server. Une valeur concaténée dans une requête SQL expose à l'injection : préférez un filtre M (
Table.SelectRows) ou une procédure stockée. - Un titre fondé sur une mesure n'est pas conservé lorsque le visuel est épinglé à un tableau de bord.
- Limitez la longueur des titres dynamiques (comptez les valeurs au-delà d'un seuil, comme Titre couleurs).
À retenir
- Une mesure texte avec SELECTEDVALUE ou CONCATENATEX rend titres et zones de texte vivants.
- Une mesure qui renvoie un code couleur, une icône UNICHAR ou une image SVG centralise la mise en forme.
- La chaîne de format dynamique change l'affichage sans transformer le nombre en texte.
- Les paramètres de champ laissent le lecteur choisir l'axe ou la mesure d'un même graphique.
- Les paramètres M dynamiques filtrent la source elle-même, en DirectQuery.
Pour aller plus loin
- Créer des titres basés sur des expressions. Source (Microsoft Learn)
- Fonctions SELECTEDVALUE, CONCATENATEX et UNICHAR. Source | Source | Source (Microsoft Learn)
- Créer des chaînes de format dynamique pour les mesures. Source (Microsoft Learn)
- Utiliser les paramètres de champ. Source (Microsoft Learn)
- Paramètres de requête M dynamiques. Source (Microsoft Learn)
- Fonction NOW. Source (Microsoft Learn)
- Vidéo en anglais : Revisiting a Power BI solution with Dynamic M Parameters (YouTube)