Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Calculated dimension including if condition

Hi,

I need to write a calculated dimension which includes many if conditions.

What I want is to see data in Field I in dimension column if the calculated value(in if condition below) is smaller than or equal to 0.58. 

However I get an 'error in calculated dimension'.

What is wrong, please advise...

=if(

((((if(

(sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C])) > 2, 2, (sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E])) > 2, 2, (sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G])) > 2, 2, (sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G]))

)))/3)

*

(avg({ <[Field A]={50}>}  Field H)))

<= 0.58 , [Field I])

1 Solution

Accepted Solutions
lironbaram
Partner - Master III
Partner - Master III

change to

=aggr(if(

((((if(

(sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C])) > 2, 2, (sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E])) > 2, 2, (sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G])) > 2, 2, (sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G]))

)))/3)

*

(avg({ <[Field A]={50}>}  Field H)))

<= 0.58 , [Field I]) , [Field I])

View solution in original post

2 Replies
lironbaram
Partner - Master III
Partner - Master III

change to

=aggr(if(

((((if(

(sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C])) > 2, 2, (sum({ <[Field A]={50}>}  [Field B])

/

sum({ <[Field A]={50}>}  [Field C]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E])) > 2, 2, (sum({ <[Field A]={50}>}  [Field D])

/

sum({ <[Field A]={50}>}  [Field E]))

))

+

(if(

(sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G])) > 2, 2, (sum({ <[Field A]={50}>}  [Field F])

/

sum({ <[Field A]={50}>}  [Field G]))

)))/3)

*

(avg({ <[Field A]={50}>}  Field H)))

<= 0.58 , [Field I]) , [Field I])

Not applicable
Author

it works perfectly, thank u!

I need your help for another problem. now I need to add one more constraint for the same table:

if( [Field X]<= 6 and [Field A]= 80, [Field I] )

I could not combine this with the above.

Any idea?