如何在Talend中实现Row_number() over (partition by colname)
以下数据?在talend中执行Row_number()(由colname分区)
Product_Category Product_Item
100 A123
200 B678
200 B234
100 A456
200 B345
这可以在tmap组件中完成吗?
如何在Talend中实现Row_number() over (partition by colname)
以下数据?在talend中执行Row_number()(由colname分区)
Product_Category Product_Item
100 A123
200 B678
200 B234
100 A456
200 B345
这可以在tmap组件中完成吗?
您可以使用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
谢谢,这工作,但如果我需要在另一列的订单工作将是可能的?例如,row_number()over(由col1按col2分区)直到现在我们刚刚实现了row_number()(由 – user6673748
分区)此外,必须在日期列上完成顺序以将记录是最新的日期。 – user6673748
你当然可以改变顺序。如果您按产品项目进行排序,则在tMap之前,它仍然有效,您将得到稍微不同的序列号。例如:B234将得到seq 1. – dbh
这里有,我申请的数字序列输入..加入我的输出,只是有一个序列行的一个问题结果搞砸了
我希望我的行号从2开始,在列发票的基础上增加1,所以在变量字段中,我创建了一个变量var_rw并将其定义为Numeric.sequence(Invoice,2, 1),它指的rwnbr列Var.var_rw
但我的输出来了错误的:(如果你看到的输出,如果我有两张发票会跳过一个数字和数字作为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
道歉的输出格式..我从我的手机发布..所以我不能格式化它的权利 – user6673748
你有什么..如果它的数据库中的数据的源,它将更容易得到这个row_number()在tDBXInput组件中完成.. – garpitmzn
Source是一个文件ñ目的地也是一个文件 – user6673748