Qlik Community

Groupe des Utilisateurs Francophones

Announcements
BI & Data Trends 2021. Discover the top 10 trends emerging in today. Join us on Dec. 8th REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Not applicable

Couleurs fixes pour graphique en secteurs

bonsoir

je découvre Qlik sense et suis vraiment impressionné.

je dispose d'une table dont un champ peut prendre 4 valeurs A,B,C,D

je souhaite réaliser un graphe en secteur avec en dimension ce champ et donc en mesure le nombre d'occurrence(count) de A,de B,de C,de D.

Jusque la ça va.

Mon PB :

je souhaite que le secteur de A soit toujours de couleur rouge, que B soit toujours jaune, que C soit toujours bleu, et que D soit toujours vert.

et ça je ne sais pas faire et je n'ai toujours pas trouvé la solution.

Quelqu'un a t il la solution ?

merci d'avance.

MH

1 Solution

Accepted Solutions
Highlighted
Specialist II
Specialist II

Bonjour

Sous Qlik Sense pour un graphique en secteur :

sélectionner couleur et légende / Par expression et rentrer cette mesure :

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))

A noter que tu peux utiliser la fonction rgb() pour adapter exactement ta teinte de couleur , avec les valeurs rouges vert bleue : rgb(255,50,120)

Bruno

View solution in original post

14 Replies
Highlighted
Specialist II
Specialist II

Bonjour

Sous Qlik Sense pour un graphique en secteur :

sélectionner couleur et légende / Par expression et rentrer cette mesure :

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))

A noter que tu peux utiliser la fonction rgb() pour adapter exactement ta teinte de couleur , avec les valeurs rouges vert bleue : rgb(255,50,120)

Bruno

View solution in original post

Highlighted
Not applicable

Merci pour la réponse qui répond à mon besoin.

je l'ai validée; maintenant pour aller plus loin j'ai essayé de remplacer les multiples IF par un switch /case .:

switch MonChamp

   case 'A'

      lightred();

   case 'B'

       yellow();

case 'C'

    blue();

  case 'D'

    green()

end switch

pour le moment ça ne marche pas, dommage .

Y a t il une raison ?

Merci encore pour l'aide.

Highlighted
Partner
Partner

Bonjour,

Le switch case ne fonctionne pas dans les expressions sur les feuilles , cette syntaxe est uniquement disponible dans le script.

Dans les expressions de graphiques, il faut passer par des if imbriqués

Martin

Highlighted
Not applicable

ok merci, dommage.

le problème est que j'ai beaucoup de graphes à faire, alors je cherche à minimiser le nombre de fois où apparait le nom du champ.

maintenant que je commence à regarder les fonctions ; est ce pareil avec pick et match ?

Highlighted
Not applicable

Bon en fait je viens de trouver une solution qui fonctionne dans le graph :

pick(Match(MonChamp,'A','B','C','D'),red(),yellow(),blue(),green())

le champ n'est donc qu'une fois, c'est nettement plus transportable

Highlighted
Not applicable

encore une question pour simplifier  : est il possible de remplacer le nom du champ dimension par une expression ?

Highlighted
Specialist II
Specialist II

Bonjour

pick - fonction de script et fonction de graphique

match - fonction de script et fonction de graphique

Sinon pour simplifier tu peux utiliser des variables :

VmonchampColor =

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))

Ensuite dans les panneaux couleurs par expression : =$(VmonchampColor)

Avec ce principe en combinant avec valuelist il doit être possible de faire une seule mesure reprenant les différent code couleur suivant la dimension présente. :

voir ICI

enfin voici une autre approche pour laquelle j'ai fait ce post :

ICI

Bruno

Highlighted
Not applicable

bon en fait je découvre qu'il y a plein de solutions:

mais encore une question basique, ce code :

VmonchampColor =

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))

Où dois je l'écrire ?

Highlighted
Specialist II
Specialist II

Re,

soit dans le script , soit dans l'éditeur de variable

1: dans le script :

SET VmonchampColor =

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))

2 Dans l'éditeur de variable :

bouton en bas a gauche dans QlikSense :

créer un nouvel élément :

puis dans le champ Nom : nommer la variable VmonchampColor

et dans le champs mesure , la mesure :

if(MonChamps='A',redlight(),

if(MonChamps='B',Yellow(),

if(MonChamps='C',blue(),

if(MonChamps='D',green()))))