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

DAX IF函数语法错误排查及Power Query重复行删除问题

解决Power Query批量删除指定特征重复行的问题

一、修正条件列公式的语法错误

你写的公式有两处关键问题:

  1. 括号语法错误:AND函数的两个条件需放在同一括号内,你错误地给第一个条件单独加了闭合括号;另外ISBLANK函数的参数必须用括号包裹列名,正确写法是ISBLANK([Voters_BirthDate]),而非ISBLANK[Voters_BirthDate]。
  2. 日期匹配逻辑错误:Voters_OfficialRegDate是日期类型列,不能直接用字符串"7/17/1989"匹配,必须用Power Query的日期构造函数#date(年,月,日)来生成标准日期值。

正确的条件列公式应为:

=IF(AND(ISBLANK([Voters_BirthDate]), [Voters_OfficialRegDate] = #date(1989,7,17)), "Y", " ")

二、批量删除目标行的实用方法

方法1:筛选后一键删除匹配行

  1. 在Power Query编辑器中,同时设置两个筛选条件:Voters_BirthDate列选空值,Voters_OfficialRegDate列选7/17/1989;
  2. 选中筛选结果里的任意一行,右键选择「删除行」→「删除匹配的行」,或者直接点击主页选项卡的「删除行」→「删除匹配的行」,就能一次性删掉所有42条目标行。

方法2:用高级编辑器直接过滤行

打开Power Query的高级编辑器,找到最后一步的代码,替换成以下逻辑(把PreviousStep换成你实际的上一步骤名称,比如Source或移除错误):

= Table.SelectRows(PreviousStep, 
    each not (ISBLANK([Voters_BirthDate]) and [Voters_OfficialRegDate] = #date(1989,7,17))
)

这段代码会直接保留所有不符合目标特征的行,自动剔除那42条重复行。

方法3:标记后筛选删除

  1. 用上述正确公式添加一个临时条件列(比如命名为IsDuplicate);
  2. 筛选IsDuplicate列为Y;
  3. 删除匹配的行后,再删掉这个临时列即可。

三、关于原生删除重复项误删的说明

如果Power Query自带的删除重复项功能误删非重复行,基本是因为你勾选的重复判断列不全。建议检查删除重复项时选择的列,确保包含所有能唯一标识单条记录的字段(比如选民ID、姓名+出生日期+注册日期的组合等),避免因列选择过少导致误判。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:28:14