Circular references, circular loops and synthetic keys in QlikView
Circular Loop (circular references):
If there are circular references ("loops") in a data structure, the tables are associated in such a way that there is more than one path of associations between two fields.
This type of data structure should be avoided as much as possible, since it might lead to ambiguities in the interpretation of data.
QlikView solves the problem of circular references by breaking the loop with a loosely coupled table. When QlikView finds circular data structures while executing the load script,
a warning dialog will be shown, and one or more tables will be set as loosely coupled. QlikView will typically attempt to loosen the longest table in the loop, as this is often a transaction table,
which normally should be the one to loosen. In the table viewer, loosely-coupled tables are indicated by the red dotted links to other tables.
Loosely coupled tables:
When data that includes circular references is loaded into QlikView, loosely coupled tables are created automatically.
This prevents that the circular references create a loop in the internal logic. The loosely coupled tables need to be handled in order to visualize data in a way that is expected and understandable.
Avoid Synthetic Keys to handle Circular Loop (Circular Reference).
When two or more internal tables have two or more fields in common, this implies a composite key relationship.
QlikView handles this by creating synthetic keys automatically. These keys are anonymous fields that represent all occurring combinations of the composite key.