1、本节的销售日报过于简单,假设我们希望在日报上不仅要体现当天的销售情况,还要体现从月初到日报当天的累积销售情况,就像下图所示的这样:
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/efb861bd4c7c34b3284a620e5841037de03731a3.jpg)
2、建立模板《新日报》1)按图11-5所示表样建立模板《新日报》
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/2a1ecb460596b814d5dbe4b743d246fe464e22a3.jpg)
3、2)定义单一数据项:新日报_主表3)选中B5:H14,定义重复数据项。注意第一步的上方标题行数要输入2。
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/32fe25ef354f50b89f35f96fdc4afa32929c18a3.jpg)
4、4)最后定义好新数据表:新日报_明细
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/def3c219ce2c5b1b2bd5a5682b39131fcfec0ea3.jpg)
5、第一条公式----提取所有产品在《新日报》模板上新建如下的表间公式
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/cfadcdd96975f2c4d19208f78f0148fe1f4206a3.jpg)
6、切换到“显示范围”选项卡下,选择“重复数据只填充一次”。
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/5c2a1ad149299a887f18b95167eeadbcbf2f7fa3.jpg)
7、注意两处:1)应用方式我们选择了“新建打开时”,效果就是,当我们填报的时候,空白日报一打开,这条表间公式马上就执行。2)在显示方式处,我们选中了“重复数据只填充一次”。这是因为物料表中可能有这样的数据:名称相同,规格不同,所以如果全部提取出来会出现同样的品名重复显示好几行的情况,此选项用于保证重复的数据只显示一次。
8、按行(列)匹配具体来说,按行(列)匹配就是依照表间公式的查询结果中的某个部分(在这里是“产品名称”),到工作表上找到相同的取值,确定其所在的行(或列),然后把查询结果的其余部分填充到对应的行(或列)上。
9、定义按行列匹配的表间公式在新日报上定义表间公式,其来源数据和筛选条件均和11.1节的公式相同,仅填充方式有变化,如下图11-12,对“产品名称”要选择“按行(列)匹配”
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/bf6e59704618dfdaaa306a3289214f57925677a3.jpg)
10、完整的表间公式如下:
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/f9617afb960b31215d6a5517dee983aee9d76da3.jpg)
11、提取上次日报的日期因为我们平时有工作日,当然也有周末或者节假日,所以,上一张日报的日期不能简单的用当前日期减一天得出,下面,我们用表间共识来提取上次日报的日期:
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/e2aefe781431dfb6506706d212cf02532e6363a3.jpg)
12、注意:在做“填充方式”时,把“新日报_日期”前面加号展开后,下面有很多日期函数,我们运用的是“最晚()”函数。
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/e3d059e833e039725008ea5eb5863048604356a3.jpg)
13、滚动累加现在来提取上次日报上的累计数,定义表间公式如下:
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/05aae8a75f0f822b0ce54d86c018512c8df14da3.jpg)
14、相对于勤哲excel服务器中的本期累计功能,因为软件自身功能定位的因素,FineRepot的先关功能显然更丰富一些,具体介绍如下:
15、FineReport报表的数据模型,由于是通过单元格绑定数据列扩展,来实现数据的读取和展现。所以在设计界面上的某个单元格时,可采用层次坐标的方式,对扩展后的每个单元格进行精确定位,得到某个单元格扩展后的其他多条数据。通常像EXCEL中设计表格时,需将所得的数据进行一些运算。在FineReport中,若要对数据列扩展返回的结果集进行一些运算,较为常见的有:对扩展出的数据进行编号,数据排名,同期比与环比,占比,累计等等。在Finereport中,累计的分类更为详细,主要分为逐层累计、跨层累计、交叉表的累计,下面主要介绍逐层累计:逐层累计就是在分组报表中,每一组中分别将每层与上一层数据相加,得到这一层的累计结果,如下图所示的年度累计:
![勤哲excel服务器入门教程:[1]本期累计](https://exp-picture.cdn.bcebos.com/27725684cde34b2cd4e52acb0d0e7c75e4f443a3.jpg)
16、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/e4b5e2f5ee0d3ace20dc23df87e265e7350fbba3.jpg)
17、其中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。