私はかなり単純なことをしており、単純なステートメントが欠けていることを願っています.group byと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 に合計が必要であることはわかっていますが、まだ見つけていません。