You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate中移除数组部分重复项,保留唯一订单号

在Power Automate中按订单号去重数组

针对你提供的数组,要实现每个订单号(cr52a_ordernumber)仅保留一条记录,下面提供两种实用方法:

方法一:可视化操作步骤(适合新手)

步骤1:提取唯一订单号数组

  • 添加选择操作,输入你的原始数组,映射仅保留cr52a_ordernumber字段,输出会是["123","123","123","456","456"]
  • 添加联合操作,将选择操作的输出作为输入,得到去重后的订单号数组:["123","456"]

步骤2:匹配原数组生成去重结果

  • 初始化一个空数组变量(命名为去重后订单数组)
  • 添加应用到每一个操作,输入步骤1得到的唯一订单号数组
  • 在循环内部:
    1. 添加筛选数组操作,输入原始数组,筛选条件设为cr52a_ordernumber 等于 当前循环的订单号(items('应用到每一个'))
    2. 添加取第一项操作,输入筛选数组的输出(若要保留最新日期,可先对筛选结果按cr52a_date降序排序再取第一项)
    3. 添加追加到数组变量操作,将取到的条目加入去重后订单数组

循环结束后,去重后订单数组就是你要的结果。

方法二:表达式直接去重(高效简洁)

使用XPath表达式一次性完成去重,无需多步操作:

  1. 添加撰写操作,输入以下表达式:
json(xpath(xml(json(concat('{"root":', outputs('原始数组的操作名称'), '}'))), '//root/*[not(cr52a_ordernumber = preceding-sibling::*/cr52a_ordernumber)]'))

注意:将outputs('原始数组的操作名称')替换为你实际存储原始数组的操作名称(比如“初始化变量”的名称)

这个表达式会直接返回每个订单号保留第一条记录的去重数组。如果要保留最新日期的记录,可调整XPath表达式为:

json(xpath(xml(json(concat('{"root":', outputs('原始数组的操作名称'), '}'))), '//root/*[cr52a_date = max(//*[cr52a_ordernumber=current()/cr52a_ordernumber]/cr52a_date)]'))

内容的提问来源于stack exchange,提问作者Robby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 18:31:44