Qlik Community

QlikView Scripting

Discussion Board for collaboration on QlikView Scripting.

Announcements
QlikView Fans! We’d love to hear from you.
Share your QlikView feedback with the product team… Click here to participate in our 5-minute survey.
Rules, plus terms and conditions, can be found here.
Not applicable

Set fixed color for single values

Hi all,

I'm looking for a solution for the problem that the same selection has a different color in different charts.

My goal is to set a "global color" for every specific value (Value 'A' should always be blue).

An example:

You have 2 pie charts - the first shows value 'A' in red - the second shows value 'A' in blue.

I tried it with a load command:

Load * INLINE [
X,Y,Z,Function
0,2,3,A
200,123,12,B
0,122,232,C
212,121,121,D
124,123,121,E
]
;

then I used "RGB(X,Y,Z)" as background color in the expression.

The described procedure works perfectly but now is the challenge: I try to make that selection dynamic (for example if Selection <> Function it should take another inline as basis for coloring). It seems that the background color function doesn't allow any functions.

When I try =if(Selection='Function',RGB(X,Y,Z),if(Selection='Sector',RGB(A,B,C),...) it always shows the 'else' value. Does anyone have an idea how to solve that issue?

An idea how the color selection could be made dynamically (in reason of changes in the dataset) would be awesome!

Looking forward. Thanks!

Alex

1 Solution

Accepted Solutions
Not applicable

Re: Set fixed color for single values

Hey,

thanks for your input. I got it with a mix of "Load * INLINE" in combination with background color of expressions.

Here is how I managed it:

---------------------

Load command:

Load * Inline [

Selection

Function

Sales man

];

Load * Inline [
A,B,C,Function

0,2,3,A
200,123,12,B
0,122,232,C
212,121,121,D
124,123,121,E

];

Load * Inline [
D,E,F,Sales man

120,242,123,ASD
123,231,152,BEAS
0,12,232CEFAS
212,21,121,DASDA
124,3,121,EEAS

];

-----------------------

Background Color in Expression

if(Selection='Function',RGB(A,B,C),
if(Selection='Sales man',RGB(D,E,F).

------------------------

Whenever I select Function, the function 'A' has the same color in every chart (if the background color expression is set).

8 Replies
crystles
Contributor III

Re: Set fixed color for single values

If the formula you are using always uses the "else" then it is not finding the first part of the if statement. I see where you have "Sector" as the 'else'. I don't know where that is coming from in the table?

If the values you want to change color are numbers you can simply set up ranges?

Or if they are specific values, you could simply add a field to the table that has the RGB and whenever that selection is made, it automatically selects the RGB associated with it in the table?

MVP
MVP

Re: Set fixed color for single values

what's Selection?

If Selection is a field with Function and Sector values it works

If not could you explain?

crystles
Contributor III

Re: Set fixed color for single values

Did not mean to confuse you.

I have a document that has buttons, and when selected, these buttons change the value of a variable.

Action in Button = Variable: vButton=1

So to help show the user which button is selected, when the button is selected and the value of the variable changes, then the color of the button changes.

Here is the code that is in the Background Expression of the button.I have the RGB codes as variables so I can easily change the colors, for every button in the group at one time.

=if(Field=1, $(vcButtonBGColor1),$(vcButtonBGColor2))

Does that help it make more sense?

jonas_rezende
Valued Contributor

Re: Set fixed color for single values

Hi, Alexander Muller.

How did the relationship in the data model with the second InLine?

Could you share with us?

MVP
MVP

Re: Set fixed color for single values

like this?

see also the attachment

1.png

crystles
Contributor III

Re: Set fixed color for single values

Yes, exactly like that. You can use that logic with the variable, just replace the numbers with the Fields you want.

Not applicable

Re: Set fixed color for single values

Hey,

thanks for your input. I got it with a mix of "Load * INLINE" in combination with background color of expressions.

Here is how I managed it:

---------------------

Load command:

Load * Inline [

Selection

Function

Sales man

];

Load * Inline [
A,B,C,Function

0,2,3,A
200,123,12,B
0,122,232,C
212,121,121,D
124,123,121,E

];

Load * Inline [
D,E,F,Sales man

120,242,123,ASD
123,231,152,BEAS
0,12,232CEFAS
212,21,121,DASDA
124,3,121,EEAS

];

-----------------------

Background Color in Expression

if(Selection='Function',RGB(A,B,C),
if(Selection='Sales man',RGB(D,E,F).

------------------------

Whenever I select Function, the function 'A' has the same color in every chart (if the background color expression is set).

crystles
Contributor III

Re: Set fixed color for single values

Excellent. Glad you were able to get it working.

Community Browser