Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Guys,
I got several synthetic keys and circular references...i have used the following approach to resolve them please let me know if it is good way to do it...
Qualify *;
[Transactions]:
Load ItemListID,
Quantity
From Transactions.qvd;
Unqualify*;
Qualify *
Unqualify Transactions.ItemListID;
[Item]:
Load
ListID as Transactions.ItemListID,
ListID as ItemListID
From Item.qvd;
Unqualify*;
Qualify *;
Unqualify Item.ItemListID;
[Site]:
Load
ListID,
ItemListID as Item.ItemListID;
From Site.qvd;
Unqualify *;
Basically i am using creating two fields with different name for ListID in Item table and using them to connect to different tables to avoid circular reference.
Regards,
Saurabh
It looks to me like you could simply leave out the Item table. It is totally redundant. If you do need that table because you're using fields from it that you didn't show us in your example then you could simply rename the ListID field to ItemListID.
[Transactions]:
Load ItemListID,
Quantity
From Transactions.qvd (qvd);
[Site]:
Load
ListID,
ItemListID;
From Site.qvd (qvd);
optionally:
[Item]:
Load ListID as ItemListID,
FieldX,
FieldY
...
From Item.qvd (qvd);
yeah i am using other fields from item table...
BTW i missed to add that In transaction table we have SiteListID and that is causing the circular references...
Transactions]:
Load ItemListID,
SiteListID,
Quantity
From Transactions.qvd;
Unqualify*;
Qualify *
Unqualify Transactions.ItemListID;
[Item]:
Load
ListID as Transactions.ItemListID,
ListID as ItemListID
From Item.qvd;
Unqualify*;
Qualify *;
Unqualify Item.ItemListID;
Unqualify Transactions.SiteListID;
[Site]:
Load
ListID as Transactions.SiteListID,
ItemListID as Item.ItemListID;
From Site.qvd;
Unqualify *;