Skip to main content

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
QFabian
Specialist III
Specialist III

nice post @robert_mika 

i use qualify at the beggining of a project, when i dont know the data, so i can load every table without synthetic keys!

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