合成钥
当两个或多个内部表具有两个或多个公共字段时,这表示存在复合键关系。Qlik Sense 通过合成钥来处理此问题。这些键是代表复合键所有出现组合的匿名字段。
复合键数量的增加可能会导致内存使用量上升,并可能影响性能。这也可能取决于数据量、表结构和其他因素。每当有多个相互依赖的合成钥时,最佳做法是将其删除。
现在是加载我们最后一组数据的时候了。
执行以下操作:
- 在Scripting Tutorial应用程序中打开数据加载编辑器。
- 单击
以新增脚本段。
- 将该部分命名为 Customers。
-
在右菜单的 DataFiles 下,单击选择数据。
- 上传并选择 Customers.xlsx。 单击 继续。 数据预览窗口将打开。
- 选择 Sheet1。
- 单击 添加。
- 单击加载数据。
- 打开数据模型查看器。
现在您可以在数据加载进度窗口中看到已创建了一个合成钥。
带有合成钥警告的数据加载进度窗口

我们通过看到创建了一个新表 $Syn 1 Table,可以得知已创建了一个合成钥。它包含连接的表 Sheet1 和 Region 所共有的所有字段:Region 和 Region code。在这种情况下,它会使连接显得有些混乱和误导,因此不希望保留。
显示合成钥的 数据模型查看器

解决合成钥
消除合成钥最简单的方法是重命名表中的一个或多个字段。这可以在加载数据时完成。现在我们将逐步介绍如何删除合成钥。
执行以下操作:
- 打开数据加载编辑器。
- 单击部分 Customers 并删除 LOAD 语句中写有以下内容的一行:
- 单击加载数据。
- 打开数据模型查看器。
Region,
合成钥已被删除。
显示合成钥已被删除的数据模型查看器
