that's just a command - QUALIFY and UNQUALIFY (look it up in the help file).
Take care, though - we worked with those and ended up with ever-growing fieldnames (like Table1.Table1.Table1.Table1.Field1) - can happen when you have incremental LOADs.
There are other methods, that would depend on your scenario, renaming is the most basic one.
Yes as suggested by Kourosh add the following to the top of your script:
This adds the table name to all field names (e.g. tablename.fieldname) making all fields unique.
You could then unqualify certain fields if you did want associations, e.g.:
unqualify TransactionId, ProductId;
However please note that QlikView expects an associated data model and may refuse to work and display a warning if there are too many data islands (tables with no associations). That was the case in older versions of QlikView at least.
Qualify will prefix the table name to a field. e.g.
Field1 is the field name.
In the example:
A.Field1 is the field name. Field2 is still Field2.
You can also Qualify *; And you can Unqualify if you want to remove it.
QlikView will associate field names that are the same, you can't override that behaviour.
Association is resolved once the script is complete, qualification once the statement is complete. So be careful with preceding loads or concatenation when using this.
You can mark one of the tables as "loosely coupled".
As if oft the case Henric has a Blog Post,Circular References that introduces the concept of "loosely coupled" tables, which I quote from below. [I am a big advocate of Henric's Blog Posts]
To avoid ambiguous results, QlikView marks one of the tables as “loosely coupled”, which means that the logical inference cannot propagate through this table. In the document properties you can decide which table to use as the loosely coupled table. You will get different results from the logical inference depending on which you choose.
Best Regards, Bill