Как я могу увеличить значение переменной внутри функции mapobject datawave 2.0?

Как я могу увеличить значение переменной внутри mapobject (я не хочу использовать индекс) в mule4 datawave2.0? Мой код:


"Employees":{(inputData.*Employees.*Employee map{

  "Employee": ($) mapObject(v,k) -> {
 ---Increment variable value here
    (k):updateReferenceId(v,($$)+1,v)

  }

})}


person user2231233    schedule 02.12.2019    source источник
comment
Возможно, вам нужно объяснить свой вариант использования входным образцом и то, что вы ожидаете в качестве результата. Тогда мы сможем предоставить вам решения   -  person George    schedule 03.12.2019


Ответы (2)


Вы можете увеличивать значения в аккумуляторе операции сокращения, а затем добавлять их в план структурированных данных для вывода. В учебном курсе MuleSoft DataWeave есть несколько примеров.

flightsInput reduce ( ( flight, acc={ american: {price: 0, count: 0}, delta: {price: 0, count: 0}, united: {price: 0, count: 0} } ) -> flight.airlineName match { case american if(lower(american) contains "amer") -> acc - "american" ++ american: { price: acc.american.price + flight.price, count: acc."american".count + 1 } case delta if(lower(delta) contains "del") -> acc - "delta" ++ delta: { price: acc.delta.price + flight.price, count: acc."delta".count + 1 } case united if(lower(united) contains "uni") -> acc - "united" ++ united: { price: acc.united.price + flight.price, count: acc."united".count + 1 } else -> acc } )

Это создает структуру данных с тремя различными ключевыми показателями эффективности:

введите здесь описание изображения

person Ethan Port    schedule 18.12.2019