背景關系:我有一個從 SQL DB 中提取資料的資料流,當資料到來時只是一列用制表符分隔的字串,為了正確操作資料,我試圖將每一列與其對應的資料分開:

- 首先,為了正確“重建”表格,我使用了“派生列”活動,用分號替換制表符 (1)
dropLeft(regexReplace(regexReplace(regexReplace(descripcion,[\t],';'),[\n],';'),[\r],';'),1) - 所以,在那之后使用'split()'函式來獲取一個陣列并構建列(2)
split(descripcion, ';')

問題:當我嘗試使用“Flatten”活動(如這里
預期輸出:
| 列2 | 第一列 | 第3列 |
|---|---|---|
| 2000017 | ENVASE CORONA CLARA 24/355 ML 抓斗 | PC13 |
| 2004297 | ENVASE V FAM GRAB 12/940 ML USADO | PC15 |
伙計們,你能告訴我我做錯了什么嗎?順便謝謝。
uj5u.com熱心網友回復:
您可以使用派生列活動本身,嘗試如下。
在第一個派生列之后,您擁有的是一個字串陣列,可以使用派生架構修飾符再次拆分它。
其中firstc代表與您的列等效的源列descripcion
Column1: split(firstc, ';')[1]
Column2: split(firstc, ';')[2]
Column3: split(firstc, ';')[3]

(可選)您可以選擇需要寫入 SQL 接收器的列


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/313783.html
