Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Manage If Else Conditions in Calculated Dimension Qlikview

Hi,

I am new to Qlikview. This is my first post on community. Can anyone please help me ?

I have written a calculated Dimension but the values are not getting correct. also if i change the If condition sequence in the calculated dimension, the values gets changed. I am writing the below condition -->

=if((Skill= 'Business Cloud' or Skill='DCX & Mobile Solutions' or Skill='DCX & Mobile Solutions/Testing' or Skill='BPM' or Technology=Technology1) and (Technology=Technology1 and [D Type]<>'Traditional'), 'Digital Emerging',

if(Technology=Technology1 and [D Type]='Traditional', 'Digital Traditional',

if(Skill= 'Business Cloud' or Skill='DCX & Mobile Solutions' or Skill='DCX & Mobile Solutions/Testing' or Skill='BPM' or  Technology=Technology1, 'Digital',

if(Skill='Insights & Data', 'Insights & Data',

if(Skill='Testing', 'Testing',

if([Type Of Service]='Application Management' and Skill<>'Insights & Data' or Skill<>'Testing' or Skill<> 'Digital', 'Core AM',

))))))

In the above Expression, I am using 5 columns -> Skill, Technology, Type Of Service (coming from database) and Technology1, D-Type(One separate excel based on that I need to manipulate data) I have attached the excel file and Qlikview appln !.The Table should display in below format.

The above condition is not working correctly.

Please anyone can help me on this?

Thanks in advance

Key SolutionsBooking Amount
Digital
Digital Traditional
Digital Emerging
Insights & Data
Testing
Core AM
Core AD
4 Replies
marcus_sommer

Without looking in your attachments I think the unexpected results are caused from the order your if-checks or that checks itself are incorrect or exclude eachother - therefore you should check this first. Further I suggest to make this matching within the script - you might need an additional load-step with creating from a mapping-table or similar because the fields are from different tables - but most often is this better as to build it within an calculated dimension.

- Marcus

malini_qlikview
Creator II
Creator II

Hello Poonam,

Since your conditions include various columns, the priority conditions need to be preceded as required,

Try the below

=If(Technology=Technology1 and [D Type]<>'Traditional' and Match(Skill,'Business Cloud','DCX & Mobile Solutions','DCX & Mobile Solutions/Testing','BPM'),'Digital Emerging',

If(Technology=Technology1 and [D Type]='Traditional','Digital Traditional',

If((Technology=Technology1 and Match(Skill,'Business Cloud','DCX & Mobile Solutions','DCX & Mobile Solutions/Testing','BPM')),'Digital',

If([Type Of Service]='Application Management' and Match(Skill,'Insights & Data','Testing','Digital')=0,'Core AM',

If(Skill='Insights & Data', 'Insights & Data',

If(Skill='Testing', 'Testing'

))))))

Suggest use the if conditions in the script and make use of match statements where ever possible.

Not applicable
Author

Hi Marcus,

Yes, You are correct. I need to add it in the script only. It is very difficult to use the same field which I am calculating in the same expression.

Thank you for your reply

Not applicable
Author

Hi Malini,

Yes, the match condition would be better. Again,  I guess I cannot get the result with the condition, Technology=Technolgy1. As both are column names.

Better to write it in the script only.

Thank you

- Poonam