Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Multiple If Statements in Script

Hi,

I'm trying to write a case when statement in my script but am having trouble getting it to work properly. Here is what I have in SQL which give me the results I would expect.

case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then 'No Survey'

when (((((case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then null else RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 end in (1,2))

or (case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then null else RV_CUSTOMER_SURVEY_DATA.Data_Scale_4 end in (1,2)))

or (case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then null else RV_CUSTOMER_SURVEY_DATA.Data_Scale_5 end in (1,2)))

or (case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then null else RV_CUSTOMER_SURVEY_DATA.Data_Scale_2 end in (1,2)))

or (case when (((((RV_CUSTOMER_SURVEY_DATA.Data_Scale_1 + RV_CUSTOMER_SURVEY_DATA.Data_Scale_2) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_3) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_4) + RV_CUSTOMER_SURVEY_DATA.Data_Scale_5) is NULL) then null else RV_CUSTOMER_SURVEY_DATA.Data_Scale_3 end in (1,2))) then 'Not Satisfied' else 'Satisfied' end as Survey_Customer_Satisfied,

Here is what I cam up with in Qlikview, which I felt was close but it's definitely not right.

,if([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] = ' ', 'No Survey'

or(if ([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] = ' ','null', [Data_Scale_5]

or(if ([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] =' ','null', [Data_Scale_4]

or(if ([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] =' ','null', [Data_Scale_5]

or(if ([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] =' ','null', [Data_Scale_2] 

or(if ([Data_Scale_1] + [Data_Scale_2] + [Data_Scale_3] + [Data_Scale_4] + [Data_Scale_5] =' ','null', [Data_Scale_3]))))))))))),'Not Satisfied','Satisfied' as [Survey Customer Satisfied];

If someone could kindly provide me with some advise I would appreciate it.

Thank you,

Mark

1 Reply
el_aprendiz111
Specialist
Specialist

Hi,

Would you be able to share a sample data