如何解决使用特定逻辑过滤talend中的行
我在tHashInput-component中有一个类似的数据集:
event1,event2,user
1,1,paul
1,2,paul
2,paul
3,3,michael
2,michael
1,karla
根据事件的发生顺序,事件在其列内是连续的,这意味着id
较高的事件在后面发生。他们被user
列匹配到一个数据集中,条件是event2
在event1
之后发生。参见下图。
我想过滤这些行,以便在event1
和event2
中没有针对同一用户的重复项,并且每个event1
都有最接近的event2
(没有还没有用于其他event1
-因为没有重复项。
sequence for paul:
event1(1) - event1(2) - event2(1) - event2(2) - event1(3) - event2(3)
pairs:
event1(1) event1(2) event1(3)
event2(1) event2(2) event2(3)
所以结果看起来像:
event1,karla
({{1}和event1
的ID实际上并不相同,它们是大整数。
我尝试了tSortRow和tUniqRow的组合,但是它不起作用。
我想我需要某种循环,该循环遍历event2
,过滤最接近的event1
的行,将其存储在结果集中,然后删除event2
及其最接近的{ {1}}来自原始数据集,因此下一个event1
会过滤另一个,第二个event2
是最接近的匹配项。
我不知道这是否可以通过组件来完成,或者我是否需要在tJavaFlex中使用Java代码,例如
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。