Power BI中按条件过滤移除CatS类型下DateChecked为Null的重复行
解决Power BI中指定重复行的过滤问题
问题核心
你需要移除的是SubIDNo=21、Type为"CatS"且DateChecked为空的行,同时保留其他所有行(包括MainIDNo相关的空白行)。原DAX公式存在三个关键问题:
- 未限定
SubIDNo=21的条件,会误删所有Type="CatS"且DateChecked为空的行 - 文本值
CatS未加双引号,DAX会将其识别为列名而非字符串,触发语法错误 - 若错误在计算列中使用公式,会返回布尔值而非过滤后的表,导致可视化区域显示异常
正确DAX公式
以下两种写法均可实现需求,任选其一即可:
写法1:使用FILTER函数
CleanedGeog = FILTER( 'Geog', NOT( 'Geog'[SubIDNo] = 21 && 'Geog'[Type] = "CatS" && ISBLANK('Geog'[DateChecked]) ) )
写法2:使用CALCULATETABLE函数
CleanedGeog = CALCULATETABLE( 'Geog', NOT( 'Geog'[SubIDNo] = 21 && 'Geog'[Type] = "CatS" && ISBLANK('Geog'[DateChecked]) ) )
操作步骤
- 切换到Power BI的「建模」选项卡
- 点击「新建表」按钮
- 将上述公式粘贴到公式栏,按回车生成名为
CleanedGeog的新表 - 用这个新表替换原
Geog表作为报表的数据源
内容的提问来源于stack exchange,提问作者Pendragon
相关产品推荐
相关产品推荐

