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

[Agile] De l’importance d’écrire des taches claires pour vos User Stories

Dans le monde de l'agilité, le Product Owner se doit d'écrire des user stories simples,… Read More

4 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

5 ans ago

[Actu] Élections présidentielles 2017

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

7 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

8 ans ago

[Actu] Ces fous qui attaquent Paris

Si quelqu'un m'avait dit en Janvier que je réécrirais un article dans l'année sur des… Read More

8 ans ago

[Actu] Fin des vacances, c’est la rentrée 2015 !

Il y a quelques semaines, mois, voire années (tout est subjectif) nos enfants (et nos… Read More

9 ans ago