勤哲excel服务器初级教程:[1]本期累计
1、本节的销售日报过于简单,假设我们希望在日报上不仅要体现当天的销售情况,还要体现从月初到日报当天的累积销售情况,就像下图所示的这样:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/955ea0e434daf05eab5a29c5751d96d81919e5cd.jpg)
2、建立模板《新日报》
1) 按图11-5所示表样建立模板《新日报》
2) 定义单一数据项:新日报_主表
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/ff5c88d81819612040b45cda70f202b374d7dfcd.jpg)
3、
3) 选中B5:H14,定义重复数据项。注意第一步的上方标题行数要输入2。
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/0d2fe5f202b375d77502eb40515872dadf49d8cd.jpg)
4、
4) 最后定义好新数据表:新日报_明细
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/bab5c45872dade499076dbe226042e6816e9d5cd.jpg)
5、第一条公式----提取所有产品
在《新日报》模板上新建如下的表间公式
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/ac45306817e951e1f98108e25e3da824d9e9cfcd.jpg)
6、切换到“显示范围”选项卡下,选择“重复数据只填充一次”。
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/d47cb624d8e9ccd2461f01ed0e40102a05e2c9cd.jpg)
1、在新日报上定义表间公式,其来源数据和筛选条件均和11.1节的公式相同,仅填充方式有变化,如下图11-12,对“产品名称”要选择“按行(列)匹配”
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/116b1ae23ea23a42a400f0a43733ec3835bbc0cd.jpg)
2、完整的表间公式如下:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/bd72f23834bb19efa8255ca0497bd28287893ad2.jpg)
3、提取上次日报的日期
因为我们平时有工作日,当然也有周末或者节假日,所以,上一张日报的日期不能简单的用当前日期减一天得出,下面,我们用表间共识来提取上次日报的日期:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/0d55dc7bd2828689ae3ce70565f97fbd4d7c37d2.jpg)
4、注意:在做“填充方式”时,把“新日报_日期”前面加号展开后,下面有很多日期函数,我们运用的是“最晚()”函数。
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/7efc527c34b33c4125c083f5887de137c8762ed2.jpg)
5、滚动累加
现在来提取上次日报上的累计数,定义表间公式如下:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/c8373cbc7dc5cf67352585f28e96b814f5d026d2.jpg)
1、FineReport报表的数据模型,由于是通过单元格绑定数据列扩展,来实现数据的读取和展现。所以在设计界面上的某个单元格时,可采用层次坐标的方式,对扩展后的每个单元格进行精确定位,得到某个单元格扩展后的其他多条数据。通常像EXCEL中设计表格时,需将所得的数据进行一些运算。在FineReport中,若要对数据列扩展返回的结果集进行一些运算,较为常见的有:对扩展出的数据进行编号,数据排名,同期比与环比,占比,累计等等。在Finereport中,累计的分类更为详细,主要分为逐层累计、跨层累计、交叉表的累计,下面主要介绍逐层累计:
逐层累计就是在分组报表中,每一组中分别将每层与上一层数据相加,得到这一层的累计结果,如下图所示的年度累计:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/460fdc8333bf3bef1f35000c3f3ea8db564a1ad2.jpg)
2、 示例
2.1 打开报表
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\PeriodChain.cpt。
修改报表,将同期比改为累计。
2.2 逐层累计
· 方法一:
在D3单元格中,写入累计公式=D3[B3:-1] + C3:在一年内上一个月累计后的金额加当前月的金额,如下图:
![勤哲excel服务器初级教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/dd58d02c5b1b1edec3a6f08d981fceecd2d90fd2.jpg)
3、其中D3[B3:-1]表示B3扩展出来的上一格(上月)中D3的值。
· 方法二:
在D3单元格中直接使用逐层累计公式=LAYERTOTAL(B3, C3, D3),等同于公式=D3[B3:-1] + C3,如果为横向扩展,则传递第四个参数值false,例如:=LAYERTOTAL(B3, C3, D3,false)。
2.3 保存并预览
保存模板,点击分页预览,效果如上。模板效果在线查看请点击Accumulative_1.cpt
已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_1.cpt。