# 了解循环引用

如果数据结构中存在循环引用（“循环”），则两个表格在关联时存在不止一条关联路径。

应尽可能避免此类数据结构，因为这可能会导致数据解释模糊不清。

QlikView 通过松散耦合表来打破循环，解决循环引用的问题。如果 QlikView 在执行加载脚本时发现循环数据结构，将会显示一个警告对话框，并设置一个或多个表格为松散耦合。QlikView 通常会尝试设置循环中的最长表格成为松散耦合表，因为它往往是交易表格，通常也是应该作松散处理的表格。在表格查看器中，松散耦合表通过连接到其他表格的红色虚线表示。

示例：

从三个图表中加载的数据包括以下：

* 一些国家足球队的名字
* 一些城市的足球俱乐部
* 一些欧洲国家的城市

![Three tables: The NationalTeams table, containing Country and Team fields; the Clubs table, containing City and Team fields; and the Cities table, containing the Country and City fields.](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ex_gen_CircularRefData.png)

源数据表格的视图

此数据结构并不是很好，因为字段名 Team 有两个不同的使用目的：国家队名和地方俱乐部名。不可能的逻辑情况因表格中的数据而呈现于前。

当加载表格到 QlikView 时，QlikView 确定不重要的数据连接，然后松散处理表格。

选择表格查看器可查看 QlikView 解释数据连接关系的方式：

![QlikView strongly connects the Team fields and loosely connects the Country and City fields.](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_Circular_TableViewer.png)

城市与及它们所属的国家现在处理成不同国家的国家队和不同城市的当地俱乐部的松散耦合表。