如何在SSRS中以月度平均值的平均计算季度平均值?
用月度平均值的平均计算季度平均值的操作方法
核心逻辑
先算出每个月的平均值(当月所有数值总和 ÷ 当月天数),再把季度内所有月份的平均值相加,除以该季度包含的月份数量,得到的就是你需要的季度平均值。
常用报表工具操作步骤
Excel/Google Sheets
如果数据是按日记录(日期列+每日数值列),用透视表效率最高:
- 插入数据透视表,行区域选「年份+月份」,值区域先对每日数值做求和,再对日期列做计数(这个计数结果就是当月天数)
- 添加计算字段,公式写
=求和项:每日数值 / 计数项:日期,得到月度平均值 - 把行区域的「月份」替换成「季度」,将刚才的月度平均值拖到值区域,汇总方式选平均值,直接生成季度结果
不想用透视表的话,也可以用函数实现:
- 用
SUMIFS按月份求和,结合EOMONTH+DAY获取当月天数,比如2024年1月的平均值公式为=SUMIFS(B:B,MONTH(A:A),1)/DAY(EOMONTH(DATE(2024,1,1),0)),之后把季度内3个月度平均值相加除以3即可。
Power BI
编写两个DAX度量值即可:
- 定义月度平均值:
月度平均值 = VAR 月总数值 = SUM('你的表名'[每日数值]) VAR 月天数 = COUNTROWS('你的表名') RETURN 月总数值 / 月天数 - 计算季度平均值:
季度平均值 = AVERAGEX( SUMMARIZE('你的表名', '你的表名'[年份], '你的表名'[月份], "@月均", [月度平均值]), [@月均] )
将这两个度量值拖入可视化组件,按「年份+季度」分组就能得到结果。
Tableau
操作步骤更直观:
- 创建计算字段「月度平均值」:
SUM([每日数值]) / DAY(DATETRUNC('month', [日期], -1)),公式会自动提取当月最后一天的日期数字,也就是当月天数 - 把「年份」「季度」拖到行栏,将「月度平均值」拖到标记卡,右键该字段选择「度量>平均值」,直接生成基于月度平均的季度结果
内容的提问来源于stack exchange,提问作者Mrunal Bele
相关产品推荐
相关产品推荐

