消除重复项并插入具有最大编号的唯一记录。通过 Talend 显示的列值

Eliminate duplicates and Insert Unique records having max no. of column values present through Talend

我有一个每天更新的 excel 文件,即每次数据总是不同的。

我正在使用 Talend 将数据从 Excel sheet 提取到 table 中。我在 table.

中定义了一个主键 Company_ID

我遇到的错误是 Excel sheet 几乎没有重复的 Company_ID 值。随着 Excel 文件每天更新​​。

将来它还会拾取更多重复值

我想选择 Company ID 字段为 1 且该记录在其余列中不为空的第一条记录。此外,对于 3Company_ID,有一列有一个空值,这没关系,因为它是 company_id.

的唯一记录

如何选择最大编号的唯一行。存在的列值,例如,在 Talend 中 1Company ID 的情况下?

tUniqRow 通常是处理重复项的最简单方法。 如果您担心进入 tUniqRow 的第一行可能不是您想要的第一行,您可以对行进行排序,以便它们以您喜欢的顺序输入 tUniqRow:

(使用的组件:tFileInputExcel、tJavaRow、tSortRow、tUniqRow、tFilterColumns)

在您的特定情况下,tJava 可能如下所示:

// Code generated according to input schema and output schema
output_row.company_id = input_row.company_id;
output_row.name       = input_row.name;
output_row.et_cetera  = input_row.et_cetera;
// End of pre-generated code

int i = 0;
if (input_row.company_id == null) { i++; }
if (input_row.name       == null) { i++; }
if (input_row.et_cetera  == null) { i++; }
output_row.priority = i;