在PowerBI中实现月度余额计算的DAX公式咨询
PowerBI 实现月度累计信用余额计算
基础准备(若未完成)
如果你的报表中展示的月度汇总值是通过可视化分组实现的,建议先创建以下两个度量值确保计算一致性:
月度累计收集 = SUM(vouchers[credits_collected]) 月度累计兑换 = SUM(vouchers[credits_redeemed])
核心:计算累计余额(对应SQL窗口函数)
直接创建以下DAX度量值,即可实现SQL中SUM(...) OVER (ORDER BY event_month ASC ROWS UNBOUNDED PRECEDING)的累计逻辑:
月末余额 = CALCULATE( [月度累计收集] - [月度累计兑换], FILTER( ALLSELECTED(vouchers), MONTH(vouchers[event_date]) <= MONTH(MAX(vouchers[event_date])) ) )
替代写法(直接计算)
如果不想依赖基础度量值,也可以一步到位:
月末余额 = SUMX( FILTER( ALLSELECTED(vouchers), MONTH(vouchers[event_date]) <= MONTH(MAX(vouchers[event_date])) ), vouchers[credits_collected] - vouchers[credits_redeemed] )
验证效果
将月度累计收集、月度累计兑换、月末余额添加到表格/矩阵中,按event_date的月份分组,即可得到与目标SQL完全一致的结果:
| event_month | 月度累计收集 | 月度累计兑换 | 月末余额 |
|---|---|---|---|
| 1 | 900 | 700 | 200 |
| 2 | 600 | 550 | 250 |
| 3 | 600 | 850 | 0 |
| 4 | 450 | 130 | 320 |
内容的提问来源于stack exchange,提问作者Michi
相关产品推荐
相关产品推荐

