Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Filter 使用特定逻辑筛选talend中的行_Filter_Talend - Fatal编程技术网

Filter 使用特定逻辑筛选talend中的行

Filter 使用特定逻辑筛选talend中的行,filter,talend,Filter,Talend,我在tHashInput组件中有这样一个数据集: event1, event2, user 1, 1, paul 1, 2, paul 2, 1, paul 2, 2, paul 3, 3, paul 1, 1, michael 2, 1, michael 1, 1, karla 事件在其列中按照发生顺序顺序顺序排列,这意味着具有更高的id发生的事件。user-列将它们匹配到一个数据集中,条件是event2发生在event1之后。见下图 我想筛选这些行,以便同一用户的event1和event2

我在tHashInput组件中有这样一个数据集:

event1, event2, user
1, 1, paul
1, 2, paul
2, 1, paul
2, 2, paul
3, 3, paul
1, 1, michael
2, 1, michael
1, 1, karla
事件在其列中按照发生顺序顺序顺序排列,这意味着具有更高的
id
发生的事件。
user
-列将它们匹配到一个数据集中,条件是
event2
发生在
event1
之后。见下图

我想筛选这些行,以便同一用户的
event1
event2
中没有重复项,并且每个
event1
都有最接近的
event2
(因为没有重复项,所以还没有将其用于另一个
event1

因此,结果如下所示:

event1, event2, user
1, 1, paul
2, 2, paul
3, 3, paul
1, 1, michael
1, 1, karla
(实际上,
event1
event2
的ID不同,它们是大整数

我尝试了tSortRow和tUniqRow的组合,但它不起作用

我想我需要某种循环,它迭代
event1
,用最接近的
event2
过滤行,将其存储在结果集中,并从原始数据集中删除
event1
及其最接近的
event2
,以便下一个
event1
过滤另一行,第二个
event2
作为其最接近的match


我不知道这是否可以通过组件实现,或者我是否需要tJavaFlex中的java代码,例如

如果第2,2,Paul行不存在,会发生什么?结果中没有event1=2行?或者一行有2,1,Paul(即使event1=1使用)?感谢您提出的问题:根据定义,同一用户的一个事件1和两个事件2不会发生。对于第二个问题:如果有两个事件1和一个事件2,则过滤事件1(1)-事件2(1)(一般逻辑)并丢弃第二个事件1(2)。对不起,如果我不清楚,我的问题是针对只有1,1,paul/1,2,paul/2,1,paul的情况。那么应该发生什么?好的,那么定义是event1必须在event2之前发生。这意味着在您描述的情况下,paul将有以下序列:
event1(1)-event1(2)-event2(1)-event2(2)
然后还会有2,2,Paul,否则就不会发生。然后我想保留1,1,Paul和2,2,Paul。如果第2,2,Paul行不存在该怎么办?结果中没有event1=2的行?或者有2,1,Paul的行(即使event1=1使用该行)?感谢您提出的问题:根据定义,同一用户的一个事件1和两个事件2不会发生。对于第二个问题:如果有两个事件1和一个事件2,则过滤事件1(1)-事件2(1)(一般逻辑)并丢弃第二个事件1(2)。对不起,如果我不清楚,我的问题是针对只有1,1,paul/1,2,paul/2,1,paul的情况。那么应该发生什么?好的,那么定义是event1必须在event2之前发生。这意味着在您描述的情况下,paul将有以下序列:
event1(1)-event1(2)-event2(1)-event2(2)
然后也会有2,2,保罗,这是不可能发生的。然后我想保留1,1,保罗和2,2,保罗。
event1, event2, user
1, 1, paul
2, 2, paul
3, 3, paul
1, 1, michael
1, 1, karla