来自完全菜鸟的问候!
我正在尝试掌握最新 Qlik Sense 应用程序中的编码技巧。该代码在一定程度上类似于 MYSQL,我正在寻找解决某个特定问题的技巧。
这是代码:
T1:
LOAD * Inline [
F1, F2
a, 1
a, 2
b, 3
c, 4
];
T2:
LOAD DISTINCT * Inline [
F1, F2
a, 1
b, 3
b, 3
c, 4
];
生成以下预览:
1. F1 F2
2. a 1
3. a 2
4. b 3
5. c 4
我的目标是:
1. F1 F2
2. a 1
3. a 2
4. b 3
5. c 4
6. a 1
7. c 4
8. b 3
根据代码,我发现 T1 和 T2 不是不同的表,因此我正在寻找一种方法使它们成为不同的表,然后使用“DISTINCT”参数将它们连接起来
或者
我正在寻找一个将“DISTINCT”仅应用于代码的 T2 部分的参数。
非常欢迎任何建议或帮助!
最佳答案
我觉得你想多了。如果您只加载没有 DISTINCT 的数据,那么所有数据都在那里。 DISTINCT 将删除一些数据,因为它从第一个内联加载开始重复。
所以这个:
T1:
LOAD * Inline [
F1, F2
a, 1
a, 2
b, 3
c, 4
];
T2:
LOAD * Inline [
F1, F2
a, 1
b, 3
b, 3
c, 4
];
技巧是列表框只显示每个值一次,但如果你将它们添加到图表中,你会得到 21,我期望这是你想要的答案(如果你保留不同的值,则为 10,因为它已经转储了重复的行)
如果您希望能够在前端看到一行一行的数据,您必须为其提供一个唯一标识符,如下所示:
T2:
LOAD * Inline [
G1, G2,G3
a, 1,1
a, 2,2
b, 3,3
c, 4,4
];
T2:
LOAD DISTINCT * Inline [
G1, G2,G3
a, 1,5
b, 3,6
b, 3,7
c, 4,8
];
这都是因为 Qlik 引擎总是尝试聚合相同的事物。它宁愿说“我有 3 个选项 a”,也不愿写出 3 次选项 a,所以如果你想看到的话,你必须强制它不要这样做。但无论您想如何查看数据,数据仍然会正确存储。
如果您不介意唯一标识符是任意的并且容易随着数据的变化而变化,那么执行第二个版本的更简洁的方法是:
T2:
LOAD rowno() as G3, * Inline [
G1, G2
a, 1
a, 2
b, 3
c, 4
];
T2:
LOAD DISTINCT rowno() as G3, * Inline [
G1, G2
a, 1
b, 3
b, 3
c, 4
];
关于mysql - QlikView 内联代码格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366961/