Categories: Visual Studio / SSRS

[SSRS] Comment changer dynamiquement la couleur des diagrammes avec SSRS ?

Dans un article précèdent ([SSRS] Comment créer sa palette de couleur pour les diagrammes) nous avons vu comment créer sa propre palette de couleur pour les graphismes. C’est bien mais c’est malheureusement insuffisant si la plage de données que vous visualisez évolue dans le temps. Une même donnée pourrait ainsi changer de couleur en fonction du temps.


En effet, la méthode précédente se contente de distribuer la couleur à une série de données pour votre courbe en fonction de son arrivée dans le dataset. Ainsi, la série A présente au mois de Janvier peut très bien ne plus exister en février. Or si vous affichez votre graphique en Janvier, puis que vous le réafficher en février la série B correspondante à la couleur B en Janvier correspondra à la couleur A de janvier du fait de son arrivée en première position dans les séries de la deuxième interface.

Exemple de gestion des couleurs d’un graphique

Nous allons donc utiliser les expressions et par la même occasion faire un peu de VB pour résoudre ce problème. Quel que soit le type de graphique (Chart) que vous utilisez (Column, line, Shape etc.…) la méthode décrite ci-dessous fonctionne.

Donc insérez dans votre report un nouveau diagramme (chart via la toolbox)
Sélectionnez votre chart.
Sélectionnez vos courbes en cliquant dessus, si vous les avez sélectionnées correctement des petits ronds devraient apparaitre dessus)
Puis faites un clic droit, ‘Series properties’

Propriétés de la série

Dans la boite de propriétés, sélectionnez ‘Fill’ puis cliquez sur le bouton d’expression (Fx) pour la propriété couleur de Pick color.
Collez ensuite dans l’interface d’expression le code suivant (à modifier suivant votre dataset)

   
=SWITCH(
     Fields!Batch.Value = "Elephant", "Pink"
   , Fields!Batch.Value = "Girafe", "Orange"
   , Fields!Batch.Value = "Poisson", "Red"
   , Fields!Batch.Value = "Grenouille", "Green"
)
option Fill Expression


Pour aller plus loin :
[SSRS] Comment créer sa palette de couleur pour les graphismes ?
[SSRS] Comment créer un dégradé de couleur?
Comment écrire l’instruction switch?


Arnaud

Webmaster & Administrateur de UIOP.

View Comments

Share
Published by
Arnaud

Recent Posts

Joyeux Noel 2024, bonnes fêtes de fin d’année

Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More

4 mois ago

Fin des vacances d’halloween (1er novembre), bon retour en classe

Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More

6 mois ago

Agile | L’importance d’écrire des tâches pour une User Story

Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More

5 ans ago

[Actu] Printemps des poètes

Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More

6 ans ago

[Actu] Élections présidentielles 2017

Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More

8 ans ago

[Linux] Activer/Désactiver l’UTC en ligne de commande

Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More

9 ans ago