Power BI中如何计算含历史修正的销售顾问月度累计余额
累计余额计算实现思路
核心逻辑
累计余额 = 截至当前月的累计应发奖金总和 - 截至当前月的累计已付款总和
这个值就是当月需要补发/扣减后的实际应发金额,历史订单修正产生的差额会自动滚动到当前月结算。
具体实现步骤
1. 补全日期维度表(若未创建)
确保数据中有标准的月份/日期字段,建立独立的日期表,通过「月份」字段与订单表、付款表建立关系——这是时间智能计算的基础。
2. 创建累计应发奖金度量值
累计应发奖金 = CALCULATE( SUM('Orders'[bonus]), FILTER( ALL('日期表'[月份]), '日期表'[月份] <= MAX('日期表'[月份]) ), ALLEXCEPT('Orders', 'Orders'[销售顾问姓名]) )
ALLEXCEPT确保按销售顾问分组计算,仅保留姓名上下文ALL('日期表'[月份])打破当前月份的筛选限制,计算到当前月为止的累计值
3. 创建累计已付款度量值
累计已付款 = CALCULATE( SUM('Orders'[bonus paid]), FILTER( ALL('日期表'[月份]), '日期表'[月份] <= MAX('日期表'[月份]) ), ALLEXCEPT('Orders', 'Orders'[销售顾问姓名]) )
注:如果付款表是按月份+姓名汇总的,也可以直接调用付款表的汇总字段,确保计算的是每个顾问到当前月的全部已付金额总和。
4. 创建当月应发金额度量值
当月应发金额 = [累计应发奖金] - [累计已付款]
这个值就是考虑所有历史订单修正后的最终当月应发数:若之前月份奖金因订单修正多算,累计差额会体现为扣减;若少算,则体现为补发。
5. 矩阵可视化调整
将矩阵的行设为「销售顾问姓名」,列设为「月份」,值使用新创建的当月应发金额,可保留原有的Total monthly bonus和Balance作为辅助核对列。
关键注意事项
- 日期表的月份需连续无缺失,否则累计计算会中断
- 订单的「归属月份」要准确(即奖金原本应归属的月份,而非修正操作的月份),避免累计逻辑出错
- 测试时可选取单个销售顾问的历史数据,手动计算累计应发/已付金额,与度量值结果对比验证逻辑正确性
内容的提问来源于stack exchange,提问作者EssentialMarie
相关产品推荐
相关产品推荐

