PowerBI中按名称分组计算每行累计总价的实现方法
PowerBI按名称计算累计总价的最简实现方式
方案1:计算列(直接生成每行累计值)
适合需要在表中直接看到每行累计结果的场景,写法如下:
累计总价 = VAR 当前名称 = [名称] VAR 当前层级ID = [id] RETURN SUMX( FILTER( '你的数据集表名', '你的数据集表名'[名称] = 当前名称 && '你的数据集表名'[id] <= 当前层级ID ), '你的数据集表名'[level_price] )
- 替换
'你的数据集表名'为你实际的表名称 - 逻辑:锁定当前行的名称和层级ID,筛选同名称下层级ID小于等于当前行的所有记录,对
level_price求和
方案2:度量值(适配仪表板动态筛选)
如果需要在仪表板筛选单个名称后,动态展示该名称的各层级累计总价,用这个度量值:
累计总价_动态 = CALCULATE( SUM('你的数据集表名'[level_price]), FILTER( ALLSELECTED('你的数据集表名'), '你的数据集表名'[名称] = MAX('你的数据集表名'[名称]) && '你的数据集表名'[id] <= MAX('你的数据集表名'[id]) ) )
- 使用时在表格视觉中添加
名称、id、level_price和这个度量值,按id排序即可看到递进的累计值 - 筛选单个名称时,度量值会自动聚焦到该名称下的层级累计
关键注意事项
- 确保
id是每个名称下的层级顺序标识(比如从1开始递增的层级编号),否则累计逻辑会出错 - 两种方案都能满足你筛选单个名称查看各层级总价的需求,计算列更直观,度量值更适配动态交互场景
后续扩展提示
关于你提到的“计算任意指定数量的价格”,可以后续新建一个整数参数(比如“指定层级数”),然后基于上述逻辑修改筛选条件为id <= 参数值,即可快速计算指定数量的总价总和
内容的提问来源于stack exchange,提问作者I_m_Possible
相关产品推荐
相关产品推荐

