Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qlik sense: Couleur dans un bar chart

Bonjour,

Je vous explique un peu le contexte, sur un système j'ai 6 caméras dont le but est d'observer les défaut les enregistrer dans une base et ensuite je voudrais les ressortir sous formes graphique. Les colonnes de ma table qui nous serviront seront la caméra variant de 0 à 5, et l'erreur trouvé sur le produit de 0 à 255(rayure, cassure...). Plus l'erreur est élevée plus le taux d'importance l'est également exemple si la caméra 1 capte le défaut 255 c'est le niveau le plus critique!!

Donc voila, j'ai ma table et sur qlik sense j'ai commencé à faire pas mal de choses, j'ai des camemberts, das bargraphes...

Le souci c'est que j'ai laissé la couleur automatique et je voudrais la changer.

J'ai un bar chart avec le nombre d'erreur (count(CODE_ERREUR)) par rapport à la caméra, ici je voudrais savoir combien d'erreur voit une caméra précise. Et ensuite comme expliqué j'ai répartis en fonction du taux de critique, un petit exemple:

Camera 1: nombre d'erreur dont le code erreur est inférieur à 100

                  nombre d'erreur dont le code erreur est inférieur à 150 et supérieur à 100

                  nombre d'erreur dont le code erreur est inférieur à 200 et supérieur à 150

                  nombre d'erreur dont le code erreur est supérieur à 200

... pour les 6 caméras!! (Si nécessaire je peux poster une photo)

Maintenant je voudrais dans ce bar chart, mettre de la couleur mais par niveau de critique par exemple taux de critique faible (=code erreur<100) en bleu, taux de critique moyen en rouge...

J'ai effectué des recherches, et essayer de nombreuses choses mais sans succès je n'arrive pas à dissocier le bargraphe en partie je peux lui adressé une couleur mais que dans l'ensemble. J'ai par exemple essayé ceci: sur ma camera 1 j'ai 804 erreurs inférieur à 100, 419 inférieur à 150 et supérieur à 100 .... le total revient à 2081 erreurs détectées sur la caméra 1. Et bien j'ai fait dans Appearance, Colors, Custom->By expression if(count(CODE_ERREUR)=804,rgb(0,0,255) en gros je voulais sélectionner que les erreurs faibles et mettre la barre en bleu, ça fonctionne pas alors que si je remplace 804 par 2081 soit le nombre d'erreur au total il met de la couleur sur toute la barre de la camera 1 sans distinction (se qui est effectivement normal)

Voila si quelqu'un à une idée pour mettre de la couleur sur chaque taux de critique,

Merci d'avance,

1 Solution

Accepted Solutions
Not applicable
Author

Mine looks much better ;D

Since the camera ID (0 to 5) is stored in a field, it's pretty easy, you just need to use that field as a dimension. Make sure the 'stacked' option is selected (in your case 'grouped' is used). You also need to use CODE_ERREUR as a dimension.

Your measure would not be count(CODE_ERREUR) but something like Count(ID) or a field that identifies uniquely your lines (or alternatively A dedicated counter ("1" for each line and sum it up)

As for the colouring, you should use an expression like the following:

=If(CODE_ERREUR<100, Rgb(x,x,x),

     If(CODE_ERREUR<200, Rgb(y,y,y),

          Rgb(z,z,z)

     )

)

View solution in original post

7 Replies
Michael_Tarallo
Employee
Employee

Veuillez noter que j'utilise Google translate , donc je ne suis pas sûr de savoir comment cela est clair .

Bonjour Herve - je crois que cela pourrait vous aider à démarrer . Avez-vous vu cette vidéo :

http://community.qlik.com/docs/DOC-7012 ?

Il couvre dimension groupement - où vous pouvez utiliser une expression pour regrouper vos mesaures en catégories que vous pouvez tracer sur un graphique comme une nouvelle dimension . En outre, vous pouvez également utiliser la couleur par l'expression de la couleur de la carte basée sur la valeur logique que vous définissez. S'il vous plaît laissez -nous savoir .

Cordialement,

Mike Tarallo

Qlik

Regards,
Mike Tarallo
Qlik
Not applicable
Author

Hi,

First thing, thank you very much to try help me and sorry for that i'll try explain in english.

i created a bar chart which i count number of error on a piece by  camera.

i have 6 camera and 4 different part of error from 0 to 100 it's "faible" = little default not really important and more number is high more default is important. (from 100 to 150; from 150 to 200; from 200 to +++)

So if you understand i have one bar separe in 4 part!!

Now what i want it's have different color for each default exemple blue for error from 0 to 100, red for ...

As i said but in french i already try with "by expression" but i just find to select all the bar not by error

I'll saw video and i'll tell you if i try,

else if you want i can send a picture?

thanks in advanced!

Herve

Michael_Tarallo
Employee
Employee

Hi Herve - send a quick picture - for reference. I will create you a sample that closely matched what you want to achieve.

Mike

Regards,
Mike Tarallo
Qlik
Not applicable
Author

Hi Hervé,

Are you trying to produce a stacked bar chart which would have:

-1 bar per video Camera

-Each portion of the bars representing the number of errors, per gravity

Screen Shot 2014-09-18 at 13.48.56.png

If so you should use Set analysis in your expressions and a stacked bar chart (I'll explain further if that fits your need)

Jerome Couzy

Not applicable
Author

Hi guys,

Yes Jerome it's exactly that i want!!

For the picture it's the same: Sans titre.png

CAMERA y axis

CODE_ERREUR x axis

I have that when my expression is : if(CAMERA = '1', rgb(0,0,255))

but when i try if(CAMERA = '1' AND CODE_ERREUR<100, rgb(0,0,255)) just to have the first bar (667.0), all bar are grey

Sorry for my english,

And thanks for help

Hervé

Not applicable
Author

Mine looks much better ;D

Since the camera ID (0 to 5) is stored in a field, it's pretty easy, you just need to use that field as a dimension. Make sure the 'stacked' option is selected (in your case 'grouped' is used). You also need to use CODE_ERREUR as a dimension.

Your measure would not be count(CODE_ERREUR) but something like Count(ID) or a field that identifies uniquely your lines (or alternatively A dedicated counter ("1" for each line and sum it up)

As for the colouring, you should use an expression like the following:

=If(CODE_ERREUR<100, Rgb(x,x,x),

     If(CODE_ERREUR<200, Rgb(y,y,y),

          Rgb(z,z,z)

     )

)

Not applicable
Author

Hi,

Thank you man you're a genius!!

Thanks Jerome, thanks Michael