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

Synthetic Keys problem

Hi,

i've a strange situation please see attachment. All table present in attachment are Transaction table (Fact Table). In this case i've to resolve synthetic keys? I can't join any table because different granularity. I can concatenate only Article_Promotion and Article_Discount, but this do not resolve any synthetic keys... i cannot concatenate the others tables.

I know that exist link table, but with this solution i just replay the same solution that qlik suggest me with the syntethic keys..

This situation (with synthetic keys) can create data inconsistency?

Please help me thank you.

13 Replies
sathishkumar_go
Partner - Specialist
Partner - Specialist

You have to rename the field otherwise we can't avoid the synthetic keys.

Don't worry about association. Becuase while you creating the key file will associative.

-Sathish

Not applicable
Author

ok, i understand. Only one doubt: in your example:

e.g. Add a new field TRANSACTION_ID & HASH_CODE_Article as HASH_KEY  to Article table and ArticleDiscount tables and remove the TRANSACTION_ID & HASH_CODE_Article fields from ArticleDiscount.

do you suggest me to remove the TRANSACTION_ID & HASH_CODE_Article fields from ArticleDiscount and not from Article table, because ArticleDiscount is a subset of Article? Right? In this case all  HASH_CODE_Article from ArticleDiscount table are a subset of all HASH_CODE_Article from Article table. In qlik HASH_CODE_Article from Article table has SUBSETRATIO = 100%, on the contrary HASH_CODE_Article from ArticleDiscount has a SUBSETRATIO < 100%

Right? So i need only to pay attention on wich table i drop the field?

thanks!

Not applicable
Author

I adjust and fix the syn keys. See attachment, it is correct?

Best regards

Colin-Albert

Yes, keep the two fields in that master table as well as the concatenated key, and just add the concatenated key to the other table.

Try adding the tables one at a time in your load script and resolving any synthetic keys table by table, it will make the task much easier.