历史版本16 :逐层平均值 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 应用场景

逐层平均值就是在分组报表中,每一组中分别将「第一层至当前层」数据相加然后求平均值,得到这一层的「累计平均值」。

例如下图示例,分别统计2010、2011上半年各月的累计平均值。

2021-06-16_14-19-13.png

1.2 实现思路

使用LAYERTOTAL( )函数或单元格逐层累计公式。

2. 示例编辑

2.1 数据准备

新建普通报表,新建数据集 ds1 ,SQL语句为:

select strftime('%Y',订购日期) as 年份, strftime('%m',订购日期) as 月份,应付金额 

from 订单

where strftime('%Y',订购日期) >= '2010'

2.2 报表设计

如下图设计表格,将 ds1 中的字段拖到 A3、B3、C3 单元格,E3 单元格计算平均值。

Snag_25a6b93e.png

E3 单元格公式为:(D3[B3:-1]*(&B3-1)+C3)/&B3,公式拆解后的说明如下表所示:

公式
说明
(D3[B3:-1]*(&B3-1)+C3)/&B3组层累计值
 &B3获取单元格 B3 扩展后每个值对应的位置

注:可在 E3 单元格中直接使用逐层累计公式LAYERTOTAL(B3, C3, D3) / &B3,等同于公式(D3[B3:-1]*(&B3-1)+C3)/&B3

2.3 效果预览

保存模板,点击分页预览,效果如下图所示:

2021-06-16_14-19-13.png

支持 App 端和 HTML5 端预览,效果如下图所示:

1623824463905677.jpeg

3. 模板下载编辑

已完成模板参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\逐层平均值.cpt

点击下载模板:逐层平均值.cpt