PowerBI中对比行值实现产品连续出现次数累计计数的方法
PowerBI 实现产品连续出现次数计数方案
前置操作:添加索引列
DAX 没有默认行顺序概念,必须显式定义索引确定行的先后顺序,操作步骤如下:
- 打开 Power Query 编辑器,选中你的产品数据表
- 点击顶部「添加列」选项卡,选择「索引列」→「从 1 开始」
- 应用更改后回到数据视图,即可看到新增的索引列
编写 DAX 计算列
假设你的表名为产品表,产品列名为产品编码,索引列名为Index,新建计算列,输入如下公式即可得到你需要的结果:
连续出现次数 = VAR CurrentProduct = '产品表'[产品编码] VAR CurrentIndex = '产品表'[Index] VAR LastDifferentIndex = CALCULATE ( MAX ( '产品表'[Index] ), FILTER ( '产品表', '产品表'[Index] < CurrentIndex && '产品表'[产品编码] <> CurrentProduct ) ) RETURN CurrentIndex - IF ( ISBLANK ( LastDifferentIndex ), 0, LastDifferentIndex )
效果验证
用你提供的示例数据测试,得到的结果和预期完全一致:
| 产品编码 | Index | 连续出现次数 |
|---|---|---|
| P-2400 | 1 | 1 |
| R453 | 2 | 1 |
| P-5632 | 3 | 1 |
| P-5632 | 4 | 2 |
| Q5639 | 5 | 1 |
注意:使用时请将公式中的表名、列名替换为你自己数据表的实际名称。
内容的提问来源于stack exchange,提问作者Shwetha d.n.
相关产品推荐
相关产品推荐

