来自完整的Noob的问候!
我正试图在最新的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"
的参数加入它们。OR
我正在寻找一个适用于" DISTINCT"的参数。只到代码的T2部分。
任何建议或帮助都非常欢迎!
答案 0 :(得分:1)
我认为你是在思考它。如果您只是在没有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次,所以你必须强迫它不要,如果这是你想看到的。但是数据仍然可以正确存储,但是你想看到它。
如果你不介意唯一的标识符是随意的并且随着数据的变化而容易改变,那么这是第二个版本的更简洁的方法:
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
];