如何使用DAX筛选主表,排除出现在指定断开表中的内容
实现主表排除表2记录的DAX方案
你可以通过以下两种DAX方法实现从主表中排除出现在rangeBefore(表2)中的记录:
方法1:FILTER + NOT IN 直接筛选
这种方式更直观,直接判断主表行的关键列组合是否不在表2中:
主表_排除表2 = FILTER ( '你的主表名称', // 替换为实际主表名,比如'Campaign Overview' NOT ( ( '你的主表名称'[campaign], '你的主表名称'[range_name] ) IN SELECTCOLUMNS ( rangeBefore, "campaign", rangeBefore[campaign], "range_name", rangeBefore[range_name] ) ) )
- 这里以
campaign和range_name的组合作为判断依据(和表2的SUMMARIZE列对应),如果只需要单一列判断(比如仅campaign),去掉其中一列即可。
方法2:EXCEPT + NATURALINNERJOIN 组合筛选
先提取主表与表2的关键列组合,找出不重叠的部分后再关联回主表获取完整数据:
主表_排除表2 = VAR 不重叠的关键组合 = EXCEPT ( SELECTCOLUMNS ( '你的主表名称', "campaign", '你的主表名称'[campaign], "range_name", '你的主表名称'[range_name] ), SELECTCOLUMNS ( rangeBefore, "campaign", rangeBefore[campaign], "range_name", rangeBefore[range_name] ) ) RETURN NATURALINNERJOIN ( '你的主表名称', 不重叠的关键组合 )
内容的提问来源于stack exchange,提问作者jcoke
相关产品推荐
相关产品推荐

