Power BI如何实现按月重置的Period维度累计计数度量值
问题原因
原有度量值未给累计范围设置月份边界,筛选时会覆盖所有已选月份中Period小于等于当前值的记录,导致跨月时累计值不会重置,沿用上一月的计数结果。
解决方案
在原有筛选逻辑中补充月份匹配条件,将累计范围锁定在当前上下文对应的月份内即可,修改后的度量值如下:
Monthly Running Count = CALCULATE ( COUNT ( 'Test'[Id] ), FILTER ( ALLSELECTED ( 'Test' ), // 锁定当前月份范围,切断跨月累计路径 'Test'[Month] = MAX ( 'Test'[Month] ) // 月内按Period字段执行累计 && 'Test'[Period] <= MAX ( 'Test'[Period] ) ) )
逻辑说明
- 保留
ALLSELECTED('Test')用于兼容报表层配置的Month筛选器及其他外部筛选规则,不会覆盖已设置的筛选范围 - 新增的月份相等判断,会将统计范围严格锁定在当前上下文所属的月份内,进入新月份时上一月的所有记录会被自动排除,累计值自动从0重新计算
- 原有的
Period大小判断逻辑不变,仅在锁定的单月范围内执行累计计数,输出结果和你给出的temp列预期完全匹配
如果你使用独立的日期维度表关联'Test'表的Period字段,只需要把上述代码中
'Test'[Month]替换为日期维度表中对应的月份字段即可,核心逻辑不需要调整。
内容的提问来源于stack exchange,提问作者Data-7scientist
相关产品推荐
相关产品推荐

