我的列中有一个数据集如下:
报告月份 | 对象ID | 旗帜 |
---|
Flag
列的值可以为 1
或 0
。 Reporting Month
列有五月和六月的数据。
我想要所有
Object ID
的列表,其中Flag
是1
中的June
,并且是1
中的不是
May
。
我想在Qlik的前端通过表达式来实现这一点。
我尝试使用设置表达式,但无法完成最终输出。
我创建了两个变量:
Concat({<[Flag]={'1'}>} Distinct [ObjectID],', ')
Concat({<[Flag]={'1'},[Reporting Month]={"$(vPreviousMonth)"}>} Distinct [ObjectID],', ')
有没有办法在 qliksense 中比较两个数据集(数组)/字符串?
如果我正确地回答了你的问题,那么你的数据看起来有点像这样:
Data:
Load [Object ID], Flag, Date#([Month], 'MM-YYYY') as [Reporting Month]
Inline [
Object ID, Flag, Month
72, 0, 05-2023
83, 1, 05-2023
99, 0, 05-2023
12, 1, 05-2023
43, 0, 05-2023
23, 0, 05-2023
72, 1, 06-2023
83, 0, 06-2023
99, 1, 06-2023
12, 0, 06-2023
43, 0, 06-2023
];
您正在寻找
Object ID
的串联,例如:
Concat({$<[Flag]={'1'}>*<[Object ID] = E({<[Reporting Month] = {'05-2023'}, [Flag]={'1'}>})>} Distinct [Object ID],', ')
因为
Object ID
99 和 72 是我的虚拟数据中唯一的 6 月有 Flag = 1
但 5 月有 Flag = 0
集合表达式基本上创建了所有
Object Id
与 Flag = 1
以及 5 月没有 Object ID
的 Flag = 1
的交集。 E 代表“排除”。