2014-10-04 101 views
0

我做了一個這樣的結構來檢查每個客戶ID給定的最高貸款金額。Talend - tAggregateRow

tOracleInput (2) --> tMap --> tOracleOutput --> tAggregateRow --> tMap --> tOracleOutput 

我的第一tOracleInput就是客戶和我的第二個tOracleInput名單是協議和貸款金額都存儲在哪裏,然後我用TMAP客戶映射到他們的協議。 (這是好的 - 它獲取所有信息),然後我將這些信息存儲在我的tOracleOutput(這是好的 - 它獲取所有信息),然後使用tAggregateRow按客戶ID分組並獲取每個客戶ID的最大loanAmount。所以,我希望每個客戶ID有1個貸款金額。它這樣做了。 (但其他信息變爲空)然後,我將這個記錄映射到我的最後一個tOracleOutput上,其中包含所有其他信息,如興趣,姓名和其他信息....但是,它只存儲客戶ID和loanAmount。

我有以下的領域,它是從tOracleOutput的AggregateROw之前映射到最後tOracleOutput

Customer_ID -> Customer_ID 
Customer_Name -> Customer_Name 
loanAmount -> loanAmount 
loanInterest -> loanInterest 
delStatus -> delStatus 

但它只專賣店: CUSTOMER_ID |空| 10000 |空|空

爲什麼其他信息在tAggregateRow後變爲空,有沒有辦法在確定最大值後獲取我需要的所有信息?

感謝您的幫助。

+0

您需要包含作業佈局和關鍵組件配置(在本例中爲tAggregateRow和tMaps)的屏幕截圖,否則很難爲您提供幫助。如果你鏈接到一些外部圖像,有人會在這裏爲你編輯內聯,你可能會得到upvotes你的問題,並將能夠自己動手 – ydaetskcoR 2014-10-04 09:22:54

回答

1

它爲空,因爲您還需要爲其他字段指定聚合操作。例如,可以使用「第一個元素」來獲取輸入數據中遇到的第一個值。

+0

我剛纔做的是添加一個tSortRow然後得到第一w/tAggregateRow 。感謝您的建議。 – 2014-10-06 03:37:32