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

If Match Statement

Hello,

I need help to make my IF (MATCH) statement more specific to my needs.

My current statement ...

If(Match(transcript_status_code, 'A', 'X') and category = 'Skill Area 01/08',

employee_first_name&' '&employee_last_name) as [Skill Area 1 Complete]

Each 'Category' has 'Levels' and each 'Level' has 'Courses'.

Right now, this is giving me the employee who has an A or a X in any Course within the Category.

Lets say I want to add 'Level' = Level 1 and any Course that falls into that Level.

But I only want the name of the employee who has an A or a X in ALL of the Courses within Level 1. Not the employee who has at least 1 A or a X in a course within Level 1.

Any help helps!

6 Replies
Not applicable
Author

I thought maybe like this ... but it doesn't like it.

If(Match(transcript_status_code, 'A', 'X') and category = 'Skill Area 01/08' and course_name = p({<level = {'Level 1'}>}),

employee_first_name&' '&employee_last_name) as [Skill Area 1 Complete],

shubham_singh
Partner - Creator II
Partner - Creator II

I am unable to understand your problem. However I'll still try to guess.

Try this

If(Match(transcript_status_code, 'A', 'X') and category = 'Skill Area 01/08' and Level='Level 1',1,0) as [EmployeeScore]

then take the resident of this table use this

if(Sum(EmployeeScore)=count(Course),employee_first_name&' '&employee_last_name) as [Skill Area 1 Complete]

*use proper group by statement otherwise it won't work.

If an emplyee has 5 courses and he gets an A or X in all of them that shoud generate a total score of 5 that is equal to number of courses.


Hope it Helps

-Shubham Singh

shubham_singh
Partner - Creator II
Partner - Creator II

You want to do this on UI or script ?

Not applicable
Author

There is no physical score - I just want the names of the employees who has a A or X in every course for the Level = 1 for the category. I don't want to assign values or do a sum.

This is being done in script.

shubham_singh
Partner - Creator II
Partner - Creator II

Since this is being done in script

course_name = p({<level = {'Level 1'}>})

this is an incorrect syntax of set analysis that is used in UI not script.

It doesn't matter if there are physical score or not. I just assigned value to a score field. If an employee has an A or X in every course then his/her score will be 1 for each course. Since there are multiple courses the sum of the score for an employee for Level=1 for the category will be equal to number of courses for that employee i.e. count.

Get it ?

Not applicable
Author

Okay - I get what you are saying now lol . Let me try this!