Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2022, LIVE in Denver CO., May 16-19, 2022. REGISTER NOW TO RECEIVE EARLY BIRD PRICING
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qualifier and Unqualifier.

when and how to use  qualifier and Unqualifier

7 Replies
its_anandrjs

Hi,

When you want to rename the table fields with its table name attached we use Qualify or when we use Unqualify it is to not apply function of qualify

LOAD * Inline

[

Name,Address,Region

A,India,APAC

];

QUALIFY *;

UNQUALIFY Name;

LOAD * Inline

[

Name,Sale,Country,Region

A,150000,India,APAC

];

In this two tables Name and Region is common field then if reload this tables it created synthetic keys if not using Qualify because two fields are common in this two tables. But if use qualify all fields rename as TableName.Name, TableName.Sale, TableName.Region when using unqualify Name we do not rename it by using Unqualify and we get association in this two tables with Name field

Previous post i not add such information.

Regards

Anand

Not applicable
Author

by using  qualify we can make fieldnames are  like tablename.fieldname

ex:

sales:

load * inline[

product,

apple

banana

];

if u use qualify    like

qualify *;

load * inline[

product,

apple

banan];

then u will get names like     product.apple,  product.banana

to remove this we will go for unqualify     ,   (i want unqualify for apple)   then wright unqualify apple;

finnaly these statements are used to remove synthetic keys and circular reference

final ouput like

sales:

qualify *;

unqualify apple,

load * inline [

product

apple

banana

];

Not applicable
Author

Hi,

Qualify means the field which contains prefix with table name.

to avoid the synthetic keys and circuler refferences.

if we are Qualify then we dnt want to do that we can use unqualify.

Qualify *;  it shows all fields are prefix with tablename

Qualify ename; it shows only ename field prefix with table name

san_qliklearn
Contributor III
Contributor III

We use them to Avoid Synthetic keys.

When we have more then one same column names in the different table we use Qualify and Unqualify.

Henric_Cronström

My view is that you shouldn't use Qualify and Unqualify. These commands make the script more difficult to read and understand (for someone who needs to read and maintain an other developers work). Use proper renaming instead.

Read more in How to Rename Fields.

HIC

jagan
MVP
MVP

Hi,

Qualify comes handy to prevent the Synthetic and Circular loops,

Example:

Personal:

LOAD * Inline

[

Name,Address,Region

A,India,APAC

];

QUALIFY *;

UNQUALIFY Name;


Office:

LOAD * Inline

[

Name,Address,Region

A,150000,India,APAC

];

In the above script when you reload normally the synthetic keys are formed between Name, Address and Region columns, but when you used the above script with Qualify we can avoid the Synthetic keys by renaming the fields Address,Region in Office table like below

Office.Address,Office.Region


Hope this helps you.


Regards,

jagan.

mjm
Employee
Employee

Hello Hammad,

Qualify and Unqualify is a technique to resolve synthetic keys and circular references in a data model. Qualify basically places the table name before the field, e.g tablename.fieldname.

I would advise against using this and consider renaming fields separately as doing this for the whole table will make the ultimate end user experience more difficult to understand what the fields are.

Please mark this answer as helpful and complete if this helps