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

基于Item1与Item2筛选,在Measure中获取第二个0值关联日期

获取第二次出现0值的日期(基于Item1&Item2分组)

样本数据

Date        Item1  Item2  Percentage  NCount
05/20/2023  T1     P1     100%        10
05/21/2023  T2     P2     90%         9
05/21/2023  T1     P1     90%         9
05/22/2023  T1     P1     80%         8
05/22/2023  T1     P1     0%          0  <--首次出现
05/24/2023  T1     P1     0%          0  <-- 需要获取的数据
05/24/2023  T2     P2     0%          0  <--首次出现
05/26/2023  T2     P2     0%          0  <-- 需要获取的数据 

需求说明

基于Item1和Item2的组合筛选,在DAX度量值(Measure)中获取每组内第二次出现0(或0%)值对应的日期,用于在折线图中绘制垂直线。

解决方案(DAX度量值)

直接使用以下DAX代码实现需求,替换代码中的'表名'为你实际的数据表名称:

第二次出现0的日期 = 
VAR ZeroRecords = 
    FILTER(
        ALLSELECTED('表名'),
        '表名'[NCount] = 0 || '表名'[Percentage] = 0%
    )
VAR RankedZeroRecords = 
    ADDCOLUMNS(
        ZeroRecords,
        "出现顺序", 
        RANKX(
            FILTER(ZeroRecords, '表名'[Item1] = EARLIER('表名'[Item1]) && '表名'[Item2] = EARLIER('表名'[Item2])),
            '表名'[Date],,
            ASC,
            DENSE
        )
    )
RETURN
    MAXX(
        FILTER(RankedZeroRecords, [出现顺序] = 2),
        '表名'[Date]
    )

代码逻辑说明

  • ZeroRecords:筛选出所有NCount为0或Percentage为0%的记录,ALLSELECTED用于保留当前筛选上下文
  • RankedZeroRecords:给每组(Item1,Item2)的零值记录按日期升序排名,DENSE参数确保排名连续无间隔
  • 最后通过MAXX提取排名为2的记录对应的日期

注意事项

如果同一日期、同一(Item1,Item2)组合存在多条零值记录,该度量值会将此日期视为第二次出现的日期;若需区分同一天内的多条记录,可在RANKX中添加额外排序字段(如时间戳)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:23:24