跳到主要内容

合成钥

在该页面上

合成钥

当两个或多个内部表格拥有两个或多个共同字段时,这意味着存在复合的关键字段关系。Qlik Sense 会通过合成钥来处理。这些关键字段是一种匿名字段,表示所有发生的复合关键字段的组合。

当合成钥数量增加时(这取决于数据总数,表格结构和其他因素),Qlik Sense 可能会,也可能不会处理。例如,它们可能影响性能并增加内存使用量。只要有多个合成钥彼此依赖,那么最佳实践是将其删除。

现在需要加载数据的最终集合。

执行以下操作:

  1. Scripting Tutorial 应用程序中,打开数据加载编辑器
  2. 单击 Create new以新增脚本段。
  3. 命名部分为 Customers
  4. 在右菜单的 DataFiles 下,单击选择数据

  5. 上传然后选择 Customers.xlsx。数据预览窗口打开。
  6. 选择 Sheet1
  7. 单击插入脚本
  8. 单击加载数据
  9. 现在您可以在数据加载进度窗口中看到,合成钥已经创建。

    带有合成密钥警告的数据加载进度窗口
    Data load progress window with synthetic key warning.

  10. 打开数据模型查看器
  11. 看到已经创建了新表格 $Syn 1 Table,我们便可看到已经创建了一个合成钥。其包含连接的表格 Sheet1Region 共同具有的所有字段、RegionRegion code。在此情况下,会使连接让人混淆并产生误导,因此不需要保留。

    显示合成钥的数据模型查看器
    Data model viewer showing synthetic key.

解决合成钥

消除合成钥的最简单方法是以重命名表格中的一个或多个字段。可以在加载数据时进行此操作。现在,我们将逐步进行如何删除合成钥的步骤。

  1. 打开数据加载编辑器
  2. 单击段 Customers 并删除 LOAD 语句中的以下行:
  3. Region,

  4. 单击加载数据
  5. 打开数据模型查看器
  6. 已删除了合成钥。

    显示出合成钥已被删除的数据模型查看器
    Data model viewer showing that synthetic key has been removed.