集成方案配置聚合运算if(xxxx=xxxx),字段取数使用REF.属性,映射目标字段为空问题解析。原创
10次浏览
编辑于2024年08月23日 18:23:58
问题描述:
集成方案配置了聚合运算:if(expenseitem=100019,100010,100011), 源字段取数使用REF.属性,通过执行日志看到,转换后的目标数据与预期聚合运算的结果不一致,目标字段和源字段无法完成id值映射比较。
启动方案执行日志如下:
实际想要结果为目标bussesExpenseTax字段应该为108.170000000,但转换结果为null,
问题解析:
聚合运算这块,不支持基础资料.属性作为判断条件,因为之前仅取了expenseitem表头属性,因此取值默认仅取id属性,这意味着聚合运算虽然可以正常工作,但在后续的个性化需求调整中,我们需要从 expenseitem 中获取更多属性(如 name 等)。在这种情况下,聚合运算的原始逻辑会遇到问题,因为此时从 expenseitem 中获取的实际值是一个HashMap,而不再是简单的 id, 无法通过if(expenseitem=100019,100010,100011)这种方式直接获取expenseitem的id。
解决方案:
涉及到REF.属性比较直接利用来源数据处理脚本,自定义个属性承接REF.属性即可,然后同步将聚合运算逻辑的判断值同步改下即可。
推荐阅读