@ Tek_Datt вот два способа, которыми вы можете сделать это, и все зависит от того, будете ли вы делать это снова и снова.
Этот метод использует ваш подход поиска с помощью функции filter
:
%dw 2.0
output application/dw
var data = [
{
"ssn": "999999991",
"contributionCode": "1",
"amt": -100.000000
},
{
"ssn": "999999991",
"contributionCode": "2",
"amt": 1200.000000
}
]
---
(data filter ($.ssn == "999999991" and $.contributionCode ~= 1)).amt[0]
Этот следующий более эффективен, если вы хотите запустить несколько таких поисков для преобразования:
%dw 2.0
output application/dw
var data = [
{
"ssn": "999999991",
"contributionCode": "1",
"amt": -100.000000
},
{
"ssn": "999999991",
"contributionCode": "2",
"amt": 1200.000000
}
] groupBy ($.ssn ++ "_" ++ $.contributionCode)
---
data["999999991_1"].amt[0]
Выберите тот, который вам нравится.