Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
demarest
Contributor III
Contributor III

Color expression in Charts, Do I need to nest 25 Ifs?

Hi,  I want to have the same of 24 industry groups to be displayed in the same color across charts.  I realized that this can be done if I just use the same color expression in the different charts.  However, for this purpose anyway, it seems Qliksense does not have a "case" or "switch" syntax and I need to compose 23 nested if statements.  Here is what I have and it works, so non-urgent but if someone knows of a better way please let me know:

if([GICS Industry Group] = 'Automobiles & Components',red(),

if([GICS Industry Group] = 'Banks',blue(),

if([GICS Industry Group] = 'Capital Goods',black(),

if([GICS Industry Group] = 'Commercial & Professional Services',DarkGray(),

if([GICS Industry Group] = 'Consumer Durables & Apparel',LightBlue(),

if([GICS Industry Group] = 'Consumer Services',rgb(255,218,185),

if([GICS Industry Group] = 'Diversified Financials',green(),

if([GICS Industry Group] = 'Energy',lightGreen(),

if([GICS Industry Group] = 'Food & Staples Retailing',Cyan(),

if([GICS Industry Group] = 'Food Beverage & Tobacco',rgb(255,165,0),

if([GICS Industry Group] = 'Health Care Equipment & Services',rgb(192,192,192),

if([GICS Industry Group] = 'Household & Personal Products',rgb(255,105,180),

if([GICS Industry Group] = 'Insurance',rgb(192,192,192),

if([GICS Industry Group] = 'Materials',LightGray(),

if([GICS Industry Group] = 'Media',rgb(176,196,222),

if([GICS Industry Group] = 'Pharmaceuticals Biotechnology & Life Sciences',rgb(0,0,0),

if([GICS Industry Group] = 'Real Estate',rgb(255,20,147),

if([GICS Industry Group] = 'Retailing',yellow(),

if([GICS Industry Group] = 'Semiconductors & Semiconductor Equipment',rgb(255,0,255),

if([GICS Industry Group] = 'Software & Services',rgb(186,85,211),

if([GICS Industry Group] = 'Technology Hardware & Equipment',rgb(75,0,130),

if([GICS Industry Group] = 'Telecommunication Services',magenta(),

if([GICS Industry Group] = 'Transportation',lightRed(),

rgb(255,0,255))))))))))))))))))))))))

1 Solution

Accepted Solutions
petter
Partner - Champion III
Partner - Champion III

Alternatives:

1) You can do a Pick( Match ( ..... )) like this:

Pick( Match( [GICS Industry Group] ,

   'Automobiles & Components',

   'Banks',

   .....

   ) ,

   Red(), Blue(), .....

)

2) Let the associative model in Qlik do the work for you by having a separate table with key value pairs where the key is [GICS Industry Group] and just keep the key also in the main table.

View solution in original post

3 Replies
petter
Partner - Champion III
Partner - Champion III

Alternatives:

1) You can do a Pick( Match ( ..... )) like this:

Pick( Match( [GICS Industry Group] ,

   'Automobiles & Components',

   'Banks',

   .....

   ) ,

   Red(), Blue(), .....

)

2) Let the associative model in Qlik do the work for you by having a separate table with key value pairs where the key is [GICS Industry Group] and just keep the key also in the main table.

aworrall
Luminary Alumni
Luminary Alumni

Hi - it may not be of any use and a bit of an amateur tip but for me I create master items and place those into the various visuals.  Each master item has a selectable colour, which allows me to theme the same measure throughout the app.

Ivan_Bozov
Luminary
Luminary

Create a master dimension and assign colors: Dimension Colors

vizmind.eu