Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW

Do you Qualify?- How to use QUALIFY statement

cancel
Showing results for 
Search instead for 
Did you mean: 
robert_mika
Master III
Master III

Do you Qualify?- How to use QUALIFY statement

Last Update:

Feb 17, 2015 5:15:46 PM

Updated By:

robert_mika

Created date:

Feb 17, 2015 5:15:46 PM

Attachments


What it is used for?

The Qualify statement is used for switching on the qualification of field names, i.e. field names will get the table name as a prefix.’

In situation where we have two (or more) Tables with the same field names:

ProductPayment
product.jpgpayment.jpg

The Qualify statement will assign name of the Table to fields:

Remember ligtbulb.jpg

  • To use the script below the Excel file must be saved in the same folder that your qvd file

        Otherwise you will need to make changes the this path - [Qualify.xlsx]

QUALIFY *;
Product:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Product);

QUALIFY *;
Payment:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Payment);

The Outcome:

6.jpg

Table Viewer:

TV1.jpg

Read only if you need to know more....


If we have not used ‘QUALIFY’ statement in situation as above Qlikview would map both of the Tables with outcome like below:

 

TV2.jpg

The end result  -merge of those two Tables is correct only for the “Serial No” fields

The “Value” and “Category” fields although merged is none of use to us.

To fix this we can only Qualify fields that we do not want to associated:

QUALIFY Category,
Value;
Product:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Product);

QUALIFY Category,
Value;
Payment:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Payment);


or by using UNQUALIFY statement:

(which works as opposite to QUALIFY)

QUALIFY *;
UNQUALIFY [Serial No];
Product:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Product);

QUALIFY *;
UNQUALIFY [Serial No];

Payment:
LOAD [Serial No],
Category,
Value
FROM
Qualify.xlsx
(
ooxml, embedded labels, table is Payment);

In second example the ‘QUALIFY *’ part will add Table name to all fields and the UNQUALIFY statement will remove those names only from specified fields(this method is very useful if we got large numbers of fields)

Outcome is as below:

Fields:

TV2.jpg

Table Viewer:

tv3.jpg

Feeling Qlikngry?

How To /Missing Manual(18 articles)

Comments
Not applicable

Hi Robert,

Very useful. Looks like the excel file is missing Value '4' showing in the qvw. If so, I can't get my head around as to how it is being loaded in the qvw?

Thanks in advance

Tanalex
Creator II
Creator II

Simple, informative article.  Extremely helpful.  Thanks robert_mika.

Also, good point by colin_albertto use UNQUALIFY * at the end of an script.

Anonymous
Not applicable

very useful

Not applicable

Very usefull Robert.

passionate
Specialist
Specialist

Good and Simplified

robert_mika
Master III
Master III

Thank you

robert_mika
Master III
Master III

Thank you

Anonymous
Not applicable

Very useful document.

Thanks a lot.

Kieli
Contributor II
Contributor II

Hi guys,

thanks for the post.

Unfortunately, I have a problem with the Qualify statement: whenever I qualify a certain table it is not possible any longer to automatically refresh it. It turns both documents to a "script" and both are no longer connected to my QlikServer. Do you know why?

 

Thanks for the help!
Elisabeth

Jayachandra
Contributor
Contributor

Good One for Beginners….

Version history
Last update:
‎2015-02-17 05:15 PM
Updated by: