Qlikview 简明教程

QlikView - Synthetic Key

如果两个表之间要使用哪个键存在歧义,则 Synthetic Key 是 QlikView 创建虚假键的解决方案。当两个表有两个或更多个通用字段时,就会出现这种情况。QlikView 的在内存中创建关联的功能会自动检测此场景,并创建其他表,该表将保存新创建的键的值。

Input Data

让我们考虑以下两个 CSV 数据文件,它们用作进一步说明的输入。

Sales:
ProductID,ProductCategory,Country,SaleAmount
1,Outdoor Recreation,Italy,4579
2,Clothing,USA,4125
3,Costumes & Accessories,South Korea,6521

Product:
ProductID, Country
3,Brazil
3,China
2,Korea
1,USA

Load Script

我们使用脚本编辑器加载以上输入数据,可以通过按 Control+E 调用脚本编辑器。选择选项 Table Files 并浏览输入文件。

synthetic key load script

Data Model

然后,我们使用表查看器的菜单命令 Control+T 查看数据模型。将弹出现以下屏幕,该屏幕显示第三个表的创建,该表将合成键的值作为 ProductID 和 Country 作为匹配键的两个表提供。

synthetic key data model

Impact of Synthetic key

合成键指出所用数据模型中的缺陷。它们不会导致数据正确性或报告性能方面出现任何问题。如果大数据模型中有一个或两个合成键实例,则运行良好。但是,如果我们有太多合成键,则意味着需要重新设计数据模型。