如何通过Talend作业删除减号和加号重复项?

时间:2016-06-16 12:41:45

标签: java etl talend

我已将本地文件加载到talend进程中,并且需要在下面对此文件数据进行条件

在我的csv文件数据下面显示

NO,DATE,MARK
123,2015-03-01,200    
123,2015-03-01,-200    
123,2015-03-01,200    
123,2015-03-01,200 
125,2016-01-01,80

以上"200""-200"有两个值可用。如果我有-200 我之后需要删除相应的+200值如果我有相同的NO,DATE,MARK那么我需要删除重复的两个

" 123,2015-03-01,200"," 123,2015-03-01,200" = " 123,2015-03-01,200"

最后我的结果应该如下所示

 NO,DATE,MARK
 123,2015-03-01,200
 125,2016-01-01,80

之后我需要一些200 + 80 = 125,2016-01-01,280。如何使用talend job完成上述过程。

1 个答案:

答案 0 :(得分:0)

一步一步,我们可以先删除它:

   nii = make_nii(y, {additional arguments, check help make_nii});
   save_nii(nii, 'myfilename.nii')

我们可以通过使用talend compoenet 123,2015-03-01,200 123,2015-03-01,-200 MARKNO分组后对DATE进行求和来实现。之后,我们将得到:

tAggregateRow

现在我们可以使用组件123,2015-03-01,0 删除所有包含tFilterRow的行,使用组件MARK == 0删除重复的行。

最后一步是使用tUniqRow获取MARK的总和,并将其存储在上下文变量中,然后使用tAggregateRow和最新的NO组件DATE然后使用tSortRow仅获取该行。我们可以影响tSampleRow的总和。