Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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,
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?
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
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.