Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Qlikers,
Is there a way seletc a specific color for a dimension value ?
Let say I have a dimension 'Country' with values like 'UK, Italie, Spain, etc...I know that in a chart I can put color by expression like : if(Country='UK',green(),if(Country='Spain',blue(), etc...
The thing is that my dimension can change using a variable extension. So if my dimension changes to 'City' the color conditions wil not work anymore...
Is there a way in the script to set a specific color for each dimension values?
Or to load a table with color assigned for each dimension value?
Or something else?
Thanks for your help!
Hi Xavier
It seems you use variable and variable extension to change the dimension in your graph or table
for exemple vDimGEO with value 1 for country and value 2 for city.
so try in the color panel menu this mesure ( to adapt to your requierment)
pick(match($(vDimGEO),1,2),if(Country='UK',green(),if(Country='Spain',blue())),if(City='London',lightgreen(),if(City='Barcelone',lightblue())))
easy if your number of country and city is low
If you have a lot of country and city another approch would be better as you mentionned a table with distinct colors attached to each value of countries and cities.
Hope it helps otherwise
Regards
Bruno
Within QlikView you could do it in this way: Colors in charts. If this could be used respectively adpated in Qlik Sense I don't know - maybe this is helpful as starting point: Qlik Sense: How to set custom colors by measure in a bar chart
- Marcus
Hi Xavier
It seems you use variable and variable extension to change the dimension in your graph or table
for exemple vDimGEO with value 1 for country and value 2 for city.
so try in the color panel menu this mesure ( to adapt to your requierment)
pick(match($(vDimGEO),1,2),if(Country='UK',green(),if(Country='Spain',blue())),if(City='London',lightgreen(),if(City='Barcelone',lightblue())))
easy if your number of country and city is low
If you have a lot of country and city another approch would be better as you mentionned a table with distinct colors attached to each value of countries and cities.
Hope it helps otherwise
Regards
Bruno
Wonderful,
This works perfectly. You are right this is very usefull if the dimensions have a few values. So I have set the colors for the dimensions that have lest than 10 possible values. And I would like for the other dimensions to let Qlik choose the colors. But in the expression if I do not set a specific color for each value than the value not specified are set in a light grey. Is there a function to call the standard color from Qlik?
Or, how does it work to define color by loading a table? because this could be very usefull anyway for me in the futur. I did a few trails but it doesn't work... I looked if there was already a topic on this but I found nothing...
Thanks again for your help
Hi
Glad to read it works.
"Is there a function to call the standard color from Qlik?" :
No rather than you use default setting colors , or color defining by expression but not twice as the same time.
Or, how does it work to define color by loading a table? : never use this possibility but i'am sure i'had read a post about this. let me chek
bruno
Hi
Don't find the post about this but see attached qvf example with excel data
the trick is to create a table with red green blue field and value for each basic RGB color and field for country and the same table but with cities ( in my example i took 4 frenchs departement and some towns)
Then in your bar chart you have a variable to jump from departement or cities dimension with this mesure as dimension :
pick(match($(vdimgeo),0,1),Ville,Departement)
you add this in your script for each color table :
[dept_color]:
LOAD [Departement],
rgb("Red","Green","blue") as color_dept
FROM [lib://Desktop/testcolor.xlsx]
(ooxml, embedded labels, table is dept_color);
and for cities :
[town_color]:
LOAD [Ville],
rgb("Red","Green","blue") as color_ville
FROM [lib://Desktop/testcolor.xlsx]
(ooxml, embedded labels, table is town_color);
and in the color panel add this mesure :
pick(match($(vdimgeo),0,1),color_ville,color_dept)
and that's ok
Bruno
Perfect ! Perfect !
Thanks a lot for your great help
There is an efficient way of doing this, just create a new master Dimension, add your dimension and then within the same window switch to 'Value Colors' tab, select the value and the required color and you're done :). no need to write complex codes. hope this would help!
Thanks Bruno. This is exactly what I was looking for.