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

Power BI中基于拼接列筛选去重并标记重复/非重复记录的DAX需求

解决方案

一、一步生成重复标记列

不用先计算重复次数再判断,直接写DAX计算列就能完成标记:

Duplicate_Flag = 
IF(
    CALCULATE(
        COUNT('SK-RAW'[Concat_UserName_UserInvoice]),
        ALLEXCEPT('SK-RAW','SK-RAW'[Concat_UserName_UserInvoice])
    ) = 1,
    "Non-duplicates",
    "duplicates"
)

这个公式用ALLEXCEPT锁定当前行的Concat_UserName_UserInvoice值上下文,统计该值的出现次数,等于1就标记为唯一,否则标记为重复,比你之前的两步写法更简洁高效。

二、实现唯一记录的切片器筛选

有两种简单方式:

  • 直接用上面生成的Duplicate_Flag列创建切片器,选择Non-duplicates就能筛选出仅出现一次的记录
  • 如果需要单独生成唯一值列表做切片器,创建一张计算表:
Unique_Concat_List = 
SUMMARIZE(
    FILTER(
        'SK-RAW',
        CALCULATE(
            COUNT('SK-RAW'[Concat_UserName_UserInvoice]),
            ALLEXCEPT('SK-RAW','SK-RAW'[Concat_UserName_UserInvoice])
        ) = 1
    ),
    'SK-RAW'[Concat_UserName_UserInvoice]
)

用这个计算表的列做切片器,筛选后就能只显示对应唯一值的记录行。

补充:基于现有重复次数列的替代写法

如果你想保留之前的Count_duplicates列,也可以直接用它来生成标记列:

Duplicate_Flag = IF([Count_duplicates] = 1, "Non-duplicates", "duplicates")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:15:36