Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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
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.
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
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 ?
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
encore une question pour simplifier : est il possible de remplacer le nom du champ dimension par une expression ?
Bonjour
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. :
enfin voici une autre approche pour laquelle j'ai fait ce post :
Bruno
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 ?
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()))))