Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

How to resolve the issue of syntactic key

Please brother and sisters I am new to Application. And i feel little bit uncomfortable with syntactic key concept,have some question on it.

What is Syntactic key?

What happend If i ignore generated syntactic key, does the data comes is correct or ?

What are the steps to resolve the issue?

3 Replies
Not applicable
Author

I think you mean synthetic keys.

These are created by Qlikview when 2 or more tables have more than 1 matching fieldnames and it creates a synthetic key which is a single value to combine all these matching fieldnames. You can see them in the 'table viewer'.

There has been a lot of dicussions on the subject and they are not always a really bad thing, but its always best to avoid them as they can cause serious performance issues.

One way is to create your own combined key in the data tables using for example hash256 if you just want to create a simple link between tables and do not need the actual fields themselves in the document. You can also create your own combined fields in a seperate table which also holds the underlying individual fields then just have the new composite key in the data tables themselves.

Search the forum for more details.

Regards,

Gordon

Not applicable
Author

Brother,

Thanks

    

   If I've two fields say for example order_id and Date , which are of different formate and  i am trying to create combined fields as

order_id&Date as or_id_date

does it work and if so can i use only the Date field to perform agg. functions on it.

Most important  do am i suppose to comment

//order_id,

//Date

order_id&Date As or_id_date

Not applicable
Author

There must have been something wrong with the website on Satudray because my reply hasnt appeared so lets try again:

Try something like this (there are tidier ways but this may be easier to understand):

table1:

Load ....

     order_id,

     Date,

     hash256(order_id, Date) as hashkey

from table1

hashtable:

load order_id,

     Date,

     hashkey

resident table1;

table2:

Load .... 

     order_id,

     Date,

     hash256(order_id, Date) as hashkey

from table2

hashtable:

load order_id,

     Date,

     hashkey

resident table2;

drop fields order_id, Date from table1, table2;

Hope this helps.

Regards,