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

Power BI DAX技术求助:统计值连续n次及连续3次出现的总次数

Power BI中DAX实现连续数值出现次数统计

一、通用方案:统计某数值连续出现n次的总次数

前提条件

假设你的数据表(示例用FactTable)包含:

  • 用于排序的列(比如日期,确保数据按时间/顺序排列)
  • 目标数值列(比如Value,要统计的数值列)

步骤1:添加计算列标记连续分组

连续分组ID = 
VAR CurrValue = 'FactTable'[Value]
VAR PrevValue = 
    INDEX(
        1,
        FILTER('FactTable', 'FactTable'[日期] < EARLIER('FactTable'[日期])),
        ORDERBY('FactTable'[日期], DESC),
        SELECTCOLUMNS('FactTable', "Val", 'FactTable'[Value])
    )
RETURN
    IF(ISBLANK(PrevValue), 1, IF(CurrValue = PrevValue, EARLIER('FactTable'[连续分组ID]), 'FactTable'[连续分组ID] + 1))

步骤2:计算每个连续分组的长度

连续序列长度 = 
CALCULATE(
    COUNTROWS('FactTable'),
    ALLEXCEPT('FactTable', 'FactTable'[连续分组ID], 'FactTable'[Value])
)

步骤3:创建度量值统计总次数

修改TargetN的值即可适配任意n:

连续n次总次数 = 
VAR TargetN = 3 // 替换为你需要的次数
RETURN
    SUMX(
        SUMMARIZE(
            'FactTable',
            'FactTable'[连续分组ID],
            'FactTable'[Value],
            "序列长度", MAX('FactTable'[连续序列长度])
        ),
        IF([序列长度] >= TargetN, [序列长度] - TargetN + 1, 0)
    )

二、特定方案:统计某值连续3次出现的总次数

如果只需要统计连续3次的情况,可直接使用以下简化度量值(无需额外计算列):

连续3次总次数 = 
VAR RankedData = 
    ADDCOLUMNS(
        'FactTable',
        "行号", RANKX('FactTable', 'FactTable'[日期], , ASC, DENSE)
    )
VAR ConsecutiveGroups = 
    ADDCOLUMNS(
        RankedData,
        "分组ID", 
            VAR CurrRow = [行号]
            VAR CurrVal = [Value]
            VAR PrevVal = MAXX(FILTER(RankedData, [行号] = CurrRow - 1), [Value])
            RETURN
                IF(ISBLANK(PrevVal), 1, IF(CurrVal = PrevVal, EARLIER([分组ID]), EARLIER([分组ID]) + 1))
    )
RETURN
    SUMX(
        SUMMARIZE(ConsecutiveGroups, [分组ID], [Value], "序列长度", COUNTROWS(ConsecutiveGroups)),
        IF([序列长度] >= 3, [序列长度] - 3 + 1, 0)
    )

说明

  • 上述逻辑中,连续出现L次的序列会贡献L - n + 1次符合条件的统计(比如连续5次,连续3次的统计次数为5-3+1=3)
  • 如果需要针对特定数值统计,可在SUMMARIZE或过滤条件中添加'FactTable'[Value] = 目标值的筛选

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:55:20