Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
alenb
Partner - Contributor III
Partner - Contributor III

How to solve this circular reference?

This is a very simplified example of what I have in my data, but the requirement is similar. I want one dimension TER to serve as a filter for two other dimensions: TEAM and PROD, which are then used to further filter the fact table.

If I load it as is, the filters DO WORK as I want them to, but it I'm getting circular reference warning so I'd rather restructure the data to get rid of it. I also wouldn't want to use Loosen Table as it seems hackish. 

 

TER:
Load Territory, Country Inline [
Territory, Country
EU, DE
EU, FR
ASIA, JP
];

TEAM:
Load Team, Country Inline [
Team, Country
Team1, DE
Team2, DE
Team3, JP
];

PROD:
Load Territory, Product Inline [
Territory, Product
EU, A
EU, B
ASAI, A
];

SALES:
Load Team, Product, Sales Inline [
Team, Product, Sales
Team1, A, 100
Team1, B, 50
Team2, A, 10
Team3, A, 100
];

2 Replies
Dalton_Ruer
Support
Support

You need to fully qualify one of the fields names. 

If Teams "reside in a" Country then you should name it like that "Office Location"

If Products can be "sold in a" Country then you should name it like "Available In"

Your fact table should then be very specific about which Country it was sold in. 

Here is 1 example: 

NewDataModel.png

alenb
Partner - Contributor III
Partner - Contributor III
Author

Interesting, so I did this and it works, except in one case. If I add product C to ASIA, then this product is not selectable through filter, when I select ASIA as a territory. I also know why, it is because it is not assigned to TEAM and subsequently also not to the COUNTRY and TERRITORY. But my idea is, I'd like it to be selectable. 

 

PROD:
Load Territory as AvailableIn, Product Inline [
Territory, Product
EU, A
EU, B
ASIA, A
ASIA, C
];

 

However, if that is truly impossible, I'll leave with something like the above.