【发布时间】:2021-09-01 09:35:23
【问题描述】:
我有两张 Excel 表格,我想使用 talend 作业进行比较
第一个名为 Compare_Me_1 的 Excel
| PN | STT | Designation |
|---|---|---|
| AY73101000 | 20 | RC0402FR-0743K2L |
| AY73101000 | 22 | RK73H1ETTP4322F |
| AY73101000 | 22 | ERJ-2RKF4322X |
| Ac2566 | 70 | CRCW040243K2FKED |
名为 Compare_Me_2 的第二个 excel
| PN | STT | Designation |
|---|---|---|
| AY73101000 | 20 | RC0402FR-0743K2L |
| AY73101000 | 22 | RK73H1ETTP4322F |
| AY73101000 | 21 | ERJ-2RKF4322X |
| Ac2566 | 70 | CRCW040243K2FKED |
我想要实现的是这个输出
| PN1 | STT1 | STT2 | STT_OK_Ko | Designation1 | Designation2 | Designation_Ok_Ko |
|---|---|---|---|---|---|---|
| AY73101000 | 20 | 20 | ok | RC0402FR-0743K2L | RC0402FR-0743K2L | ok |
| AY73101000 | 22 | 22 | ok | RK73H1ETTP4322F | RK73H1ETTP4322F | ok |
| AY73101000 | 22 | 21 | ko | ERJ-2RKF4322X | ERJ-2RKF4322X | ok |
| Ac2566 | 70 | 70 | ok | CRCW040243K2FKED | CRCW040243K2FKED | ok |
因此,为了实现这一目标,我开发了一个如下所示的天才工作:
在我的 tMap 中,我将 PN 与 leftouterjoin 和 All Matches 对应联系起来。
为了获得例如 STT_Ok_KO,我使用下面的代码来比较我的两个输入:
(!Relational.ISNULL(row14.STT) && !Relational.ISNULL(row13.STT) &&
row14.STT.equals(row13.STT) ) ||
(Relational.ISNULL(row14.STT) && Relational.ISNULL(row13.STT))
?"ok":"ko"
这是实现我的输出的正确方法吗?如果没有,建议我使用其他方法
欢迎提出任何建议。
【问题讨论】:
标签: talend