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

Power BI中按typeName统计CompletedDate为空的重复行问题

问题分析与修正方案

原DAX代码的核心问题是逻辑错误:VAR定义的Dup统计的是所有同typeName的总行数,后续的CALCULATE并未重新计算符合条件的行数,只是在过滤后的上下文里返回这个固定值,导致结果不符合预期。

修正后的DAX写法

1. 计算列(每行显示对应typeName下CompletedDate为空的行数)

如果需要在表的每行显示当前typeName分组中,CompletedDate为空的总行数,使用以下代码:

Duplicate = 
VAR CurrentTypeName = 'Table'[typeName]
RETURN
COUNTROWS(
    FILTER(
        'Table',
        'Table'[typeName] = CurrentTypeName
        && 'Table'[CompletedDate] = BLANK()
    )
)

如果只想标记重复项(即行数>1时显示计数,否则显示空白),可调整为:

Duplicate = 
VAR CurrentTypeName = 'Table'[typeName]
VAR EmptyRowCount = COUNTROWS(
    FILTER(
        'Table',
        'Table'[typeName] = CurrentTypeName
        && 'Table'[CompletedDate] = BLANK()
    )
)
RETURN
IF(EmptyRowCount > 1, EmptyRowCount, BLANK())

2. 度量值(用于可视化分组统计)

如果需要在Power BI可视化中按typeName分组,统计每组内CompletedDate为空的行数(仅展示重复的分组),使用以下度量值:

Duplicate Count = 
CALCULATE(
    COUNTROWS('Table'),
    'Table'[CompletedDate] = BLANK(),
    ALLEXCEPT('Table', 'Table'[typeName])
)

或者用分组求和的方式,只汇总重复分组的计数:

Duplicate Count = 
SUMX(
    GROUPBY(
        'Table',
        'Table'[typeName],
        "@EmptyCount", COUNTX(CURRENTGROUP(), IF('Table'[CompletedDate] = BLANK(), 1, 0))
    ),
    IF([@EmptyCount] > 1, [@EmptyCount], 0)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:07:11