如何在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