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

如何在DAX中按组实现累计计数?

在DAX中实现按组累计计数

需求示例

值按组累计计数
A1
B1
A2
C1
B2
A3
C2

实现方案

DAX做这种分组累计计数的核心是要确定行的先后顺序,所以你的表必须有一个能标记行顺序的列(比如索引、日期、时间戳)。假设你的表叫数据,且有一个索引列(没有的话先在Power Query里添加索引列),直接创建计算列即可:

按组累计计数 = 
VAR 当前值 = '数据'[值]
VAR 当前索引 = '数据'[索引]
RETURN
CALCULATE(
    COUNTROWS('数据'),
    FILTER(
        '数据',
        '数据'[值] = 当前值 && '数据'[索引] <= 当前索引
    )
)

公式说明

  • 用变量存储当前行的「值」和「索引」,避免重复计算
  • 通过筛选条件,找出所有和当前值相同、且索引不大于当前行索引的记录,统计这些记录的行数,就是当前值的累计出现次数

无索引列的处理方法

如果没有天然的顺序列,去Power Query编辑器添加:

  1. 选中目标表
  2. 点击「添加列」→「索引列」→「从1开始」
  3. 关闭并应用更改后,再使用上面的DAX公式即可

要是你的表是按日期/时间排序的,把公式里的'数据'[索引]换成对应的日期/时间列也能实现效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 21:52:40