Aller au contenu

Couleur conditionnelle dans une zone de texte (Power BI)

Aujourd’hui, je vous présente une astuce que j’ai récemment dû utiliser pour appliquer un code couleur en fonction d’une condition dans une zone de texte.

L’exemple ci-dessous permet d’illustrer l’idée : sélectionnez « Français » puis « Mathématiques » dans la démo ci-dessous :

Jeu de données

Le script de création de la table pour la démo (DAX) :

Mesures

Comme vous le savez certainement, depuis quelques mois, on peut intégrer des mesures dans les zones de texte :

C’est devenu un automatisme (et c’est une bonne pratique pour l’organisation de ses mesures), j’ai créé ma table « Mesures« , dans laquelle je vais créer les mesures que je veux utiliser dans ma zone de texte :

Segment & zone de texte

Sur ma page, j’ai simplement créé :

  • un segment (sélection unique), reprenant les valeurs possibles de le colonne « Matière« 
  • une zone de texte, qui intègre les mesures créées plus haut

Le hic, c’est que la possibilité de sélectionner une couleur basée sur une variable n’existe pas (encore ?) pour cette nouvelle fonctionnalité. Nous allons donc filouter un peu pour arriver au résultat souhaité.

Solution

On va utiliser le comportement d’affichage par défaut des mesures dans les zone de texte : lorsque la mesure ne retourne pas de valeur, celle-ci est simplement masquée.

On va donc créer 2 mesures, une pour chaque élément que l’on souhaite colorer, en faisant en sorte qu’elles ne retournent une valeur QUE lorsqu’on souhaite qu’elles soient affichées. Par exemple, pour gérer la « Note« , on va avoir :

Ainsi, on va pouvoir intégrer dans la zone de texte ces deux mesures, cote à cote, avec les couleurs qu’on souhaite leur associer, avec l’outil de coloration de base du texte :

A l’affichage, seule l’une des deux sera retournée :

Si on « éclate » également la mesure « Supérieur/Inférieur » et qu’on l’intègre (en réalisant la même manipulation de choix de couleur), dans la zone de texte, on se retrouve avec le résultat :

L’indication qu’il existe un élément masqué disparait après publication dans Power BI Service.

On aboutit donc bien au résultat souhaité !

J’espère que tu pourras rapidement utiliser cette astuce dans tes TdB :).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *