如何在Talend中为以下数据实现Row_number () over (partition by colname)
Product_Category Product_Item
100 A123
200 B678
200 B234
100 A456
200 B345
可以在tmap组件中完成吗?
答案 0 :(得分:2)
您可以使用Numeric.sequence函数来完成此任务。
例如: tFixedFlowInput - > tMap - > tLogRow
步骤。
使用您的样本数据,这是输出
.----------------+------------+---.
| tLogRow_1 |
|=---------------+------------+--=|
|product_category|product_item|seq|
|=---------------+------------+--=|
|100 |A123 |1 |
|200 |B678 |1 |
|200 |B234 |2 |
|100 |A456 |2 |
|200 |B345 |3 |
'----------------+------------+---'
https://help.talend.com/display/TalendDataIntegrationStudioUserGuide61EN/E.1+Numeric+Routines
答案 1 :(得分:0)
这里有一个问题,我将数值序列应用于输入..我的输出只有一个序列行添加变得混乱
我希望我的行号从2开始,以列发票为基础增加1,所以在变量字段中我创建了一个变量var_rw并将其定义为Numeric.sequence(Invoice,2,1)并指向它作为Var.var_rw
到rwnbr列但是我的输出出错了:(如果你看到输出,如果我有两张发票,它会跳过一个数字并将其编号为4.
实际预期的发票代码 i123 ASD 4 2 i123 DFG 5 3 i234 DTH 6 2 i234 RDF 7 3 i234 SDF 8 4 i234 WES 9 5