Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
when and how to use qualifier and Unqualifier
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
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
];
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
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.
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
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.
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