Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
derekjones
Creator III
Creator III

How to remove synthetic keys

Hi All

I've read the disussions around synthetic keys being acceptable (or not) and in my example I'm pretty comfortable keeping the one it creates, however just for my own understanding I have no idea on how to remove it if it were necessary to remove synthetic keys. Basically I have 4 tables:

Sales Table = Contains sales data by customer and employee.

Named Account List = Contains which employee owns which customer.

I then have an Employee Table to store all employee info and a Customer Table which contains all Customer Info, that way the Sales and named Account tables just work off ID's (Is this the right way to a qlikview database design?).

Qlikview makes the synthetic joins between Customer_ID and Employee_ID as expected. However when I do try and remove the synthetic key (by creating my own NamedKey) the synthetic key still exists becuase the Employee Info and Customer Info are in seperate tables.

So just for my own better understanding of how to structure the tables and prevent synthetic keys, could anyone explain how I could do this in the attached example?

My thanks in advance for your guidance,

12 Replies
derekjones
Creator III
Creator III
Author

Hi

So in this example are we saying that without using a sythetic key there is no way to replicate the same structure? i.e. You have to use two fields for Employee name and know which one you are using for which report and not able to share the object.

Is this therefore an example of where a synthetic key should be used as you cannot get the same result without one?

kaushiknsolanki
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi,

    Actually where ever you require 2 fields to be joined, there will be a synthetic key. (This is what i have experienced till now).

Regards,

Kaushik Solanki

Please remember to hit the 'Like' button and for helpful answers and resolutions, click on the 'Accept As Solution' button. Cheers!
derekjones
Creator III
Creator III
Author

That's what I can't understand, why is there a resistance to synthetic keys when there appears to be no workaround in certain scenarios.

If you could get the same result without a synthetic key I would half understand to create the joins yourself, but in the example I have provided I have no option but to create a synthetic key if I want to share the employee name field.

Thanks again for your help.