如何在PowerBI中实现月度求和与月末最后日期余额取值?
PowerBI 获取每月最后日期余额的实现方法
针对你的需求,这里提供两种常用的实现方式,可根据报表场景选择:
方法一:使用度量值(推荐用于报表可视化)
直接创建一个度量值,动态计算当前月份最后一条记录的余额,能和你已有的月度求和度量值无缝配合:
月末余额 = VAR 当前年份 = MAX('你的表名'[event_date].[Year]) VAR 当前月份 = MAX('你的表名'[event_date].[MonthNo]) VAR 当月最后事件日期 = CALCULATE(MAX('你的表名'[event_date]), FILTER(ALL('你的表名'), YEAR('你的表名'[event_date]) = 当前年份 && MONTH('你的表名'[event_date]) = 当前月份 ) ) RETURN CALCULATE(MAX('你的表名'[credits_balance]), FILTER('你的表名', '你的表名'[event_date] = 当月最后事件日期 ) )
公式说明:
- 先获取当前报表上下文的年份和月份
- 筛选出该年月范围内的最新
event_date(即使月末当天无数据,也能取到当月实际存在的最后一条记录) - 提取该日期对应的
credits_balance值(如果当天有多条记录,MAX会自动取最后一条的余额,若需更精确可结合时间戳判断)
方法二:使用计算列(适合预处理标记)
先给每条数据标记是否为当月最后一条记录,后续在报表中筛选使用:
是否为当月最后记录 = VAR 当前日期 = '你的表名'[event_date] VAR 当前年份 = YEAR(当前日期) VAR 当前月份 = MONTH(当前日期) VAR 当月最后事件日期 = CALCULATE(MAX('你的表名'[event_date]), FILTER('你的表名', YEAR('你的表名'[event_date]) = 当前年份 && MONTH('你的表名'[event_date]) = 当前月份 ) ) RETURN 当前日期 = 当月最后事件日期
使用方式:
在报表的可视化组件中,添加筛选条件,将是否为当月最后记录设为TRUE,即可提取对应月份的月末余额,再搭配你的月度求和字段展示。
注意事项:
如果event_date包含时分秒,MAX(event_date)会自动取当月最晚时间的记录,无需额外调整;若数据源中存在同月同日多条余额记录,需确保credits_balance是最终的余额值,或结合其他字段(如记录ID)筛选最后一条。
内容的提问来源于stack exchange,提问作者Michi
相关产品推荐
相关产品推荐

