2020-08-25 20:30发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们要求数据通过两个... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我们要求数据通过两个不同的查询进入SF,我已将这两个信息收集到CSV文件中
但是它具有一些具有相同数据的重复值,我需要忽略一个以避免重复值。
请任何人分享我如何使用常规方法或其他方法实现此CPI。
此致
阿卜杜勒·拉希姆
嗨,Abdul
假设您拥有CSV有效负载,以下Groovy脚本将删除重复的行:
import com .sap.gateway.ip.core.customdev.util.Message def消息processData(消息消息){ //获取有效负载中的行列表。 定义行= message.getBody(String).readLines() //从列表中删除重复项,然后转换回 //一个字符串,每行之间用\ n分隔。 def newPayload = lines.unique()。join(" \ n") //设置新的有效负载,我们完成了。 message.setBody(newPayload) 返回讯息 }
一些注意事项。
大部分工作是通过Groovy列表的unique()方法完成的。 如果行数较少,则处理时间并不重要。 如果您有很多行,那么确实很重要。 在这种情况下,您需要测量执行时间并确定执行时间是否足够。
如果我在寻找正确的源代码,则unique()方法似乎具有O(n ^ 2) 复杂。 即 如果输入大小增加一倍,执行时间将增加四倍。 删除重复项可以在线性时间内完成,即,输入结果翻倍,执行时间翻倍。 但是-再次-如果输入很小,可能没关系。
此外,请注意输出中的行如何用\ n分隔。 如果您还需要其他东西,请进行相应的调整。
问候
Morten
最多设置5个标签!
嗨,Abdul
假设您拥有CSV有效负载,以下Groovy脚本将删除重复的行:
一些注意事项。
大部分工作是通过Groovy列表的unique()方法完成的。 如果行数较少,则处理时间并不重要。 如果您有很多行,那么确实很重要。 在这种情况下,您需要测量执行时间并确定执行时间是否足够。
如果我在寻找正确的源代码,则unique()方法似乎具有O(n ^ 2) 复杂。 即 如果输入大小增加一倍,执行时间将增加四倍。 删除重复项可以在线性时间内完成,即,输入结果翻倍,执行时间翻倍。 但是-再次-如果输入很小,可能没关系。
此外,请注意输出中的行如何用\ n分隔。 如果您还需要其他东西,请进行相应的调整。
问候
Morten
一周热门 更多>