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

目录:

1. 概述编辑

1.1 应用场景

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

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

1.2 实现思路

本示例实现的是逐层平均值效果,所以实现起来会参照逐层累计那边的写法。

2. 示例编辑

2.1 数据准备

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

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

from 订单

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

2.2 报表设计

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

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

公式
说明
D3[B3:-1]

B3 扩展出来的上一格(上月)的 D3 的值,即上个月的逐层平均值

&B3-1获取单元格 B3 扩展后每个值对应的位置 -1
D3[B3:-1]*(&B3-1)+C3该年份内到目前为止的总额累计值
&B3获取单元格 B3 扩展后每个值对应的位置
(D3[B3:-1]*(&B3-1)+C3)/&B3该年份中,每个月的累计平均值

2.3 效果预览

保存模板,点击分页预览,效果如下 1.1应用场景 中所示。

支持 App 端和 HTML5 端预览。

3. 模板下载编辑

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

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