Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
fmazzarelli
Partner - Creator III
Partner - Creator III

sum + case

hi,

I would make the sum of two fields conditioned by another value
example :
case white

     sum(1+10):

case red

     sum(2+20)

else

     sum(3+20)


11 Replies
ogster1974
Partner - Master II
Partner - Master II

You would use an IF statement for this in Qlik.

Either on load to create a new value or in the measure as an expression assuming white and red are dimension values.

Load

.

.

If([Field] = White, sum(1+10), If([Field] = Red, sum(2+20), sum(3+30), 0))) As New Field

petter
Partner - Champion III
Partner - Champion III

You can also combine WildMatch and Pick:

Pick( WildMatch( Color , 'white' , 'red' , '*' )

     Sum( 1 + 10 )

   , Sum( 2 + 20 )

   , Sum( 3 + 20 )

)

jagan
Luminary Alumni
Luminary Alumni

Hi,

If you have many Cases then best approach is to use Pick() and WildMatch() like below

Pick(WildMatch(FieldName, 'white', 'red', '*'),

     Sum(1+10),

     Sum(2+20),

     Sum(3+20))


Hope this helps you.


Regards,

Jagan.

fmazzarelli
Partner - Creator III
Partner - Creator III
Author

hi,

could I apply this formula at a total?

jagan
Luminary Alumni
Luminary Alumni

Hi,

Where you want to get the total?  If it is straight table select

Properties-> Expression-> Sum of Rows

Hope this helps you.

Regards,

Jagan.

qlikviewwizard
Master II
Master II

Hi fmazzarelli

It is better not to use IF statement for better performance. IF will consume more resources.

Thank you.

fmazzarelli
Partner - Creator III
Partner - Creator III
Author

hi,

excuse me, It wasn't clear.

I need.

sum everything except field = VALUE

sasiparupudi1
Master III
Master III

May be try

If([Field] = 'Value',0,if([Field] = 'White', sum(1+10), If([Field] = 'Red', sum(2+20), sum(3+30)))

qlikviewwizard
Master II
Master II

Hi fmazzarelli

Please select Correct Answer and close the thread. Thank you.