qlikview语法 - 唯一键

时间:2012-08-22 09:04:33

标签: excel uniq qlikview

我有一个包含4个字段的excel文件:a,b,c,key。 我需要检查QV脚本,每行a,b,c只有key。 具有不同键的行应该是结果。 例如,这是一个我需要抓住的不正确的情况:

键| c | b |一个

111 | test3 | test2 | TEST1

222 | test3 | test2 | TEST1

任何人都知道如何在qlikview中完成?

感谢, 海伦。

1 个答案:

答案 0 :(得分:0)

有趣的问题。我建议将列c + b + a视为复合键,并为每个复合键计算字段key中唯一值的数量。这是一种方法(QlikView脚本):

DATA:
LOAD key, c, b, a
FROM some_file.xls;

LEFT JOIN(DATA)
LOAD c, b, a, COUNT(DISTINCT key) AS key_count
RESIDENT DATA
GROUP BY c, b, a;

您的数据模型现在有一个名为key_count的第5列。您现在可以在图表或列表框中使用key_count,或者在WHERE子句中使用另一个LOAD语句来过滤字段key中具有2个或更多值的行。要扩展您的示例数据:

key | c | b | a | key_count
111 | 3 | 2 | 1 | 2
222 | 3 | 2 | 1 | 2
333 | 4 | 3 | 2 | 1
444 | 5 | 4 | 3 | 1

在列表框或LOAD语句中,您现在可以轻松找到key_count > 1的行。我希望这有帮助!