Qlik Community

QlikView App Development

Discussion Board for collaboration related to QlikView App Development.

Announcements
Modernize Your QlikView Deployment webinar, Nov. 3rd. REGISTER
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor III
Contributor III

List the names of the Students who have not enrolled for Java course

I have 3 tables

Student:

SQL SELECT NAME,

    ORIGIN,

    sid as SID,

    TYPE

FROM School.dbo.StudentMaster;


Course:

SQL SELECT CATEGORY,

    CID,

    FEE,

    NAME as CNAME

FROM School.dbo.CourseMaster;


Enrollment:

SQL SELECT CID,

    DOENROOL,

    FREEWAIVERFIAG,

    GRADE,

    SID

FROM School.dbo."ENROLL_MASTER";


I can write the code in SQL using subqurey  , but I am unable to write expression / set analysis in qlikview . Can any one help.
     

Select name

from StudentMaster

where sid not in

                            (select distinct Sid from ENROLL_MASTER e

                             join CourseMaster c on e.cid = c.CID

                              where c.name = 'java')



9 Replies
Highlighted
Specialist II
Specialist II

Use NAME as the dimension and expression as

Count({<CNAME = {'java'}>}SID)

Highlighted
Contributor III
Contributor III

I don't think this is completely correct , because when I execute SQL code I get only 13  students which is the correct , but when i write the expression given by you in a straight table I get all the students which is 16  


Count({<CNAME - = {'java'}>}SID)

more over I do not understand why you wrote both dimension and expression to resolve this issue because I only need names of student who DID NOT enrolled for JAVA. I think a text object would be sufficient to display the names like a list.

Highlighted
Champion III
Champion III

may be this Neelam?

= Count({<CNAME -= {'java'}>}SID)

Highlighted
Contributor III
Contributor III

Yep I tried that too, But no change

Highlighted
Specialist II
Specialist II

You are right, I missed that it was a 'not' condition.

Highlighted
Champion III
Champion III

may be this?

= Count({<CNAME /= {'java'}>}SID)

Highlighted
Contributor III
Contributor III

I don't need count ,I only need names of students who did not enrolled to JAVA as a list .

Highlighted
Specialist II
Specialist II

There are multiple ways to get it work. i mentioned dimension and expression because I thought you are using it in a table. I don't think text box is the best way to approach this.

If you are just looking for the list either go with straight table (hiding the expression field) or you you can go with the list box as well with the above expression.

Highlighted
MVP & Luminary
MVP & Luminary

The Qlik Expression equivalent of your SQL query would be:

concat({<SID=E({<CNAME={'Java'}>})>}NAME, ', ')

-Rob

http://masterssummit.com

http://qlikviewcookbook.com