如何用Power Query移除重复OrderNo中的Cancelled订单
Power Query 处理重复OrderNo并保留有效订单的方法
以下是具体操作步骤:
- 按OrderNo分组,提取每个订单号对应的所有状态
选中OrderNo列,点击顶部菜单栏的「开始」→「分组依据」,设置:
- 新列名:
状态集合 - 操作:
所有行 - 列:
Status(替换成你实际的状态列名称)
确认后每个OrderNo会对应包含其所有状态行的分组。
- 按OrderNo分组,提取每个订单号对应的所有状态
- 添加辅助列判断该订单号是否存在有效订单
点击「添加列」→「自定义列」,输入公式:
= List.Contains([状态集合][Status], "Open") or List.Contains([状态集合][Status], "Closed")将该列命名为
有有效订单,结果为true表示当前OrderNo下存在Open/Closed的有效订单,false表示只有Cancelled订单。- 添加辅助列判断该订单号是否存在有效订单
- 展开分组数据
点击状态集合列右侧的展开按钮,选择展开所有原始数据列(注意取消勾选OrderNo,避免重复)。
- 展开分组数据
- 筛选保留符合要求的行
再次添加自定义列,输入公式:
= if [有有效订单] then [Status] <> "Cancelled" else true将该列命名为
保留标记,结果为true的行就是我们需要保留的。- 筛选保留符合要求的行
- 完成清理
筛选保留标记列为true的行,然后删除状态集合、有有效订单、保留标记这三个辅助列即可。
- 完成清理
内容的提问来源于stack exchange,提问作者michelle
相关产品推荐
相关产品推荐

