如何使用Talend将ONE表的不同列映射到ONE表中的一列

By simon at 2018-02-07 • 0人收藏 • 55人看过

我有一个不同列的表。这些列属于* Id,x和 Ÿ。我想将这些列映射到一个独特的ID,X和Y 使用 talend:我有一个从MySQL到Talend的连接。我添加我的表 作为“MySQLInput”。 *该表看起来像:

idN| XN  |YN   | idT |XT   | YT
1  | 2.5 | 4.5 | 2   | 6.9 | 2.7
2  | 6.9 | 2.7 | 7   | 9.9 | 2.1
5  | 4.6 | 6.6 | 9   | 1.3 | 5.5
7  | 3.2 | 7.8 | 6   | 3.2 | 3.1
我想要这个表格作为一个结果与talend映射后:
idU | XU | YU
1   | 2.5 | 4.5
2   | 6.9 | 2.7
5   | 4.6 | 6.6
6   | 3.2 | 3.1
7   | 3.2 | 7.8
7   | 9.9 | 2.1
9   | 1.3 | 5.5
我试图做到这一点:enter image de.ion here但结果不是我所期望的:
IDU | XU | YU
1 | 2.5  | 4.5
2 | 6.9  | 2.7
5 | 4.6  | 6.6
7 | 3.2  | 7.8
我也试过这样做:enter image de.ion here使用该表达式,但代码给我一个错误。 我也尝试创建自己的例程,并在“表达式”构建器中使用它但仍然不能工作。 有没有人有暗示如何进行这个映射,或者什么组件 使用。事情是我做的没有只有2倍相同的列,但三个或 更多的在同一张桌子上,我需要把它们全部映射到最后,唯一的 合作每个类似的变量都有一个lumn。 感谢您花时间阅读本文,并感谢您的回答 :)

2 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

这是一个简单的解决方案,使用tSplitRow: [![输入图片说明 这里](https://i.stack.imgur.com/FT2Tr.png)(https://i.stack.imgur.com/FT2Tr.png) 您需要将每个传入的行分成两行:一个与idN, XN, YN和 第二个有柱子ns idT, XT, YT. tSplitRow具有列 id, X, Y。 然后使用tUniqRow过滤掉重复的内容,如下所示: [![E图像描述 这里](https://i.stack.imgur.com/A4yyL.png)(https://i.stack.imgur.com/A4yyL.png) 而输出:

.--+---+---.
|tLogRow_5 |
|=-+---+--=|
|id|X  |Y  |
|=-+---+--=|
|1 |2.5|4.5|
|2 |6.9|2.7|
|7 |9.9|2.1|
|5 |4.6|6.6|
|9 |1.3|5.5|
|7 |3.2|7.8|
|6 |3.2|3.1|
'--+---+---'

2018-02-07   #2

这是一个简单的解决方案,使用tSplitRow: [![输入图片说明 这里](https://i.stack.imgur.com/FT2Tr.png)(https://i.stack.imgur.com/FT2Tr.png) 您需要将每个传入的行分成两行:一个与idN, XN, YN和 第二个有柱子ns idT, XT, YT. tSplitRow具有列 id, X, Y。 然后使用tUniqRow过滤掉重复的内容,如下所示: [![E图像描述 这里](https://i.stack.imgur.com/A4yyL.png)(https://i.stack.imgur.com/A4yyL.png) 而输出:

.--+---+---.
|tLogRow_5 |
|=-+---+--=|
|id|X  |Y  |
|=-+---+--=|
|1 |2.5|4.5|
|2 |6.9|2.7|
|7 |9.9|2.1|
|5 |4.6|6.6|
|9 |1.3|5.5|
|7 |3.2|7.8|
|6 |3.2|3.1|
'--+---+---'

登录后方可回帖

Loading...