PowerBI实现当年降水量总和与历年平均值对比展示
PowerBI实现当年降水量总和与历史年均对比(带平均线样式)
一、先做两个关键DAX度量值
你之前按月分组没解决问题,核心是得先通过DAX算出两个指标,而非单纯依赖分组:
- 当年降水量总和
当年降水量总和 = VAR 当前年份 = YEAR(MAX('表'[日期])) RETURN CALCULATE( SUM('表'[降水量]), YEAR('表'[日期]) = 当前年份 )
这个度量值会自动识别当前视图里的年份,算出该年的总降水量。
- 此前所有年份的年均降水量
历史年均降水量 = VAR 当前年份 = YEAR(MAX('表'[日期])) VAR 历史年份 = FILTER(ALL('表'[日期]), YEAR('表'[日期]) < 当前年份) RETURN IF( COUNTROWS(历史年份) > 0, AVERAGEX( VALUES(YEAR('表'[日期])), CALCULATE(SUM('表'[降水量])) ), BLANK() )
这里先筛选出所有早于当前年份的日期,再按年份计算每年的总降水量,最后取这些年的平均值——确保是年均总和,而非所有历史单日数据的平均,完全匹配你的需求。
二、设置可视化出平均线样式
不用纠结按月分组,直接用折线图就能搞定:
- 横轴拖入
日期列,点击字段旁的箭头,只保留「年份」层级;如果要按月查看当年数据,就选「年份-月份」层级 - 纵轴拖入刚才创建的两个度量值:
当年降水量总和和历史年均降水量 - 调整样式:选中
历史年均降水量对应的折线,在右侧「格式」面板里把线条改成虚线,再调个显眼的颜色,就能得到你要的平均线效果
如果选「年份-月份」层级,历史年均降水量会自动在每个月份显示相同数值,形成一条水平平均线,对比当年各月的累计降水量(如果要查看当月降水量,把第一个度量值的条件改成YEAR('表'[日期])=当前年份 && MONTH('表'[日期])=MONTH(MAX('表'[日期]))即可)
三、踩坑排查
- 若历史年均值显示空白:检查数据集里是否有当前年份之前的数据,同时确认日期列是正规的日期类型(别是文本格式)
- 若数值不符:核对
AVERAGEX的逻辑,确保是按年份求和后再取平均,而非直接对所有历史数据取平均
内容的提问来源于stack exchange,提问作者kp987
相关产品推荐
相关产品推荐

