[英]Mule DataWeave Group by And Sum
我正在做一些相当简单的事情,希望我只是想写一个简单的声明,我试图做一个总结,但是似乎无法使DataWeave为我完成任务。 任何帮助将非常感激!
我有以下XML
<?xml version="1.0" encoding="UTF-8"?>
<getRecordsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<getRecordsResult>
<company>0a6979a72ba5020092d4a5a667da15ac</company>
<u_billed_amount>504</u_billed_amount>
</getRecordsResult>
<getRecordsResult>
<company>548839a72ba5020092d4a5a667da15e0</company>
<u_billed_amount>29.17</u_billed_amount>
</getRecordsResult>
<getRecordsResult>
<company>0a6979a72ba5020092d4a5a667da15ac</company>
<u_billed_amount>33.75</u_billed_amount>
</getRecordsResult>
然后在dataWeave表达式中-
%dw 1.0
%output application/xml
%namespace ns0 http://www.service-now.com/u_incident_task
---
results: {(
payload.getRecordsResponse.*getRecordsResult groupBy $.company map {
amtToBill: ($.u_billed_amount)
}
)}
这将产生所需的分组,但是我需要对帐单金额进行总计。
<?xml version='1.0' encoding='UTF-8'?>
<results>
<amtToBill>
<u_billed_amount>29.17</u_billed_amount>
</amtToBill>
<amtToBill>
<u_billed_amount>504</u_billed_amount>
<u_billed_amount>33.75</u_billed_amount>
</amtToBill>
</results>
我需要的是以下内容
<?xml version='1.0' encoding='UTF-8'?>
<results>
<amtToBill>
<u_billed_amount>29.17</u_billed_amount>
</amtToBill>
<amtToBill>
<u_billed_amount>537.75</u_billed_amount>
</amtToBill>
</results>
我知道dataWeave中必须有一个求和,但尚未找到。
我找到了自己的答案,只需这样做-
amtToBill: sum $.u_billed_amount
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.