Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
My question is does anyone know further work arounds for the limitations of the conditional logic function provided in Qlikview?
It would be ideal to be able to invoke CASE WHEN logic in an expression. I have tried the IF() function, as well as the blended PICK(MATCH()) function. The following describes the limitations I have encountered:
In short the nested IF solution has a row limitation, and the PICK(MATCH()) combo is too inflexible.
I ended up using VBA scripting to accomplish my design.
Hi Michael,
would be very helpful to have example of table where you have fields modality and short_modality.
Not sure if it's gonna work but you can try following for pick condition
pick(
if(match(short_modality,'AX','CR','MI','MR','SY','US','XP')>0,match(short_modality,'AX','CR','MI','MR','SY','US','XP'),
match(modality
,'AX AXA'
,'AX ECS'
,'CR CT'
,'CR RO'
,'MI PCL'
,'MI PET'
,'MI SPECT'
,'MR'
,'SY VIA'
,'US'
,'XP RF'
,'XP SU'
,'XP UR'
,'XP WH'
) + 7,
...
As an addition I see relation between your condition and field name.
I believe it is possible to use universal expression which will use variable instead of field name. Variable itself will be filled based on you condition. Any way data sample is needed
I ended up using VBA scripting to accomplish my design.