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: 
Not applicable

loop in database structure

Hello,

I'm using QLikView Developer for Windows, Version 8.50.63226.5.

When I load data from an sql server 2005 I get this message:

"One or more loops have been detected in your database structure.

Loops may cause ambiguous results ........"

I did a quick search and realize that this issue is resolved in QLikview 9.00 but is there any way that I can get around

this in QLikView 8.50.63226.5 that I'm using?

Thanks alot for your help,

Naeemeh

1 Solution

Accepted Solutions
pover
Luminary Alumni
Luminary Alumni

Naeemeh,

The error caused by a loop in database structure is not an error caused by the version. The same error will occur in version 9.

It is an error that is caused by how you design your data model in QlikView. Since the data model in QlikView is bi-directional you have to be careful not to create a data model that is circular like the example data model. In the example if you select a product, the invoice (factura) table would be filtered and then the client table would be filter which would return to filter the product table again and so on. That is the so-called loop that is caused.

Even though you can create complex data models the ideal data model would be a star scheme with a fact table in the center and dimension tables surrounding it. It's both simple and powerful.

Regards, Karl

View solution in original post

5 Replies
pover
Luminary Alumni
Luminary Alumni

Naeemeh,

The error caused by a loop in database structure is not an error caused by the version. The same error will occur in version 9.

It is an error that is caused by how you design your data model in QlikView. Since the data model in QlikView is bi-directional you have to be careful not to create a data model that is circular like the example data model. In the example if you select a product, the invoice (factura) table would be filtered and then the client table would be filter which would return to filter the product table again and so on. That is the so-called loop that is caused.

Even though you can create complex data models the ideal data model would be a star scheme with a fact table in the center and dimension tables surrounding it. It's both simple and powerful.

Regards, Karl

Not applicable
Author

Have you try to use

concatenation to remove circular reference. But I'm not sure, it's will work on QV version 8.5

Just suggestion,



Good luckSmile

Not applicable
Author

Hey,

Thanks for the suggestionSmile

I think it's better if I change the design, because my tables will be pretty big in future and concatenation and join I think will make the application slow, right?Smile

Naeemeh

Not applicable
Author

Karl,

This is a really good example, but how would you go about fixing this particular problem?

Regards,

Tony

Not applicable
Author

It's difficult to see without knowing what was intended but I would break the link between clients & factouras. Either by not bringing the cust_account_id in facturas at all OR renaming it as I brought it in to a different name.

However that may not be what was intended it may be better to delete the link between Facturas and Productos (via Ivnetory_Item_id). It will all depend if Inventory_Item_ID is related directly from Factorus to Productos or it relies on Clients to resolve.

In QV whatever fileds have the same name in differerent tables are assumed (for better or worse) to be keys. Best practice is to have ONE key field per table.

Bruce