我是集成和MuleSoft的新手,所以我需要你的帮助。我有一个平面文件,每个salesID有不同的发票行项目,如下所示:
SalesOrderID OrderQty UnitPrice
43659 70 2024.994
43659 70 2024.994
43660 1 419.4589
43660 1 874.794
43661 1 809.76
我想使用Mule在另一个CSV文件中插入总发票金额和数量,如下所示:
SalesOrderID OrderQty UnitPrice
43659 140 4049.988
43660 2 1294.4589
43661 1 809.76
我知道如何在informatica中做到这一点,但我试图在MuleSoft中找到一种方法。如何汇总所有订单项并按SalesOrderID对其进行分组?任何帮助/线索将非常感激。 感谢。
答案 0 :(得分:0)
有很多方法可以做到这一点,让我解释一下我个人最喜欢的假设您正在使用Mule社区版。
使用优秀的库:SuperCSV,它不仅可以解析数据(包括那些点号),还可以对其进行验证并提供有关文件损坏原因的确切报告,以防万一
这可以在变换器中完成,该变换器转换入站流并返回映射映射(或者更好的迭代器来处理整个事情,但这更难)或带有错误报告的自定义异常。
答案 1 :(得分:0)
鉴于这一要求即使在今天仍是面向Mule开发人员的,因此查看基于Mule 4.x运行时和Dataweave 2.x的解决方案非常有用。
如果数据来自文件或其他形式的文本流,请使用splitBy()函数获取文本行数组。
有效载荷按'\ n'
删除第一行,因为不应计算标题
payload [1到-1] //这是我最喜欢的方法
现在使用reduce()函数依次遍历每行,每次都更新累加器以考虑数量和价格。
希望有帮助