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
对于同一用户没有重复,并且每个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, event2, user
1, 1, paul
2, 2, paul
3, 3, paul
1, 1, michael
1, 1, karla
event1
(对于and , id 实际上并不相同event2
,它们是大整数。
我尝试了 tSortRow 和 tUniqRow 的组合,但它不起作用。
我想我需要某种循环,它迭代event1
,过滤最接近的行event2
,将其存储在结果集中并从原始数据集中删除event1
它最接近的,以便下一个过滤另一个,第二个作为最接近的匹配。event2
event1
event2
我不知道这是否可以通过组件来完成,或者我是否需要 tJavaFlex 中的 java 代码,例如
解决方案
推荐阅读
- python - 无法更新 .json 文件中的条目
- c - 我怎样才能运行“你好,世界!” 程序?
- mapbox - 如何在上传到 Mapbox Studio 之前优化 GeoJSON 文件大小
- typescript - React Navigation V5 + Typescript 错误:“object”类型上不存在属性“fullName”
- powershell - 在 <% %> 标签内的文本文件中嵌入 powershell 的正确名称是什么
- arrays - 简单的 C 问题:表达式必须有一个常数值,但我的值是常数?可变大小的对象可能没有被初始化?
- python - 从 pydub 创建 AudioSegment 时线程停止运行
- python - Selenium 未连接到 Safari Web 驱动程序
- java - 使用 Intellij 2020 创建 Spring MVC 项目
- html - 我们可以在 VUE.js 中使用 jquery