1. 概述编辑
1.1 应用场景
逐层平均值就是在分组报表中,每一组中分别将「第一层至当前层」数据相加然后求平均值,得到这一层的「累计平均值」。
1)纵向逐层平均值
2)横向逐层平均值
1.2 实现思路
使用LAYERTOTAL( )函数或单元格逐层累计公式。
2. 示例编辑
2.1 数据准备
新建普通报表,新建数据集 ds1 ,SQL语句为:
select strftime('%Y',订购日期) as 年份, strftime('%m',订购日期) as 月份,应付金额
from 订单
where strftime('%Y',订购日期) >= '2010'
2.2 报表设计
新建两个 sheet 表,分别重命名为「纵向逐层平均值」、「横向逐层平均值」,如下图所示:
2.2.1 纵向逐层平均值
如下图设计表格,将 ds1 中的字段拖到 A3、B3、C3 单元格,在 D3 单元格输入公式D3[B3:-1] + C3,E3 单元格计算平均值,如下图所示:
E3 单元格公式为:(D3[B3:-1] + C3) / &B3,公式拆解后的说明如下表所示:
公式 | 说明 |
---|---|
(D3[B3:-1] + C3) | 组层累计值 |
&B3 | 获取单元格 B3 扩展后每个值对应的位置 |
注:可在 E3 单元格中直接使用逐层累计公式LAYERTOTAL(B3, C3, D3) / &B3,等同于公式(D3[B3:-1] + C3) / &B3
2.2.2 横向逐层平均值
如下图设计表格,将 ds1 中的字段拖到 B2、B3、B4 单元格,在 B5 单元格中,写入累计公式B5[;B3:-1] + B4,B6 单元格计算平均值,如下图所示:
B6 单元格公式为:(B5[;B3:-1] + B4) / &B3,公式拆解后的说明如下表所示:
公式拆解 | 说明 |
---|---|
(B5[;B3:-1] + B4) | 组层累计值 |
&B3 | 获取单元格 B3 扩展后每个值对应的位置 |
注:在 B6 单元格中直接使用逐层累计公式LAYERTOTAL(B3, B4, B5, false) / &B3,等同于公式(B5[;B3:-1] + B4)/ &B3
2.3 效果预览
保存模板,点击分页预览,效果如下图所示:
纵向逐层平均值
横向逐层平均值
支持 App 端和 HTML5 端预览,效果如下图所示:
4. 模板下载编辑
点击下载模板:平均值.cpt