自动汇总统计

阅读(782) 标签: 基准表, 统计表, 数据来源格,

在实际应用中,按不同权限角色填写的明细数据,最终还需要将这些明细数据汇总进行分析,就如上节6.3.shtsheet1,不同的角色填写所负责超市的商品明细,自动保存到文件中,每个超市明细就保存为一个文件,总公司需要将所有超市的明细汇总统计,这个时候,总公司业务人员就可以利用统计表功能根据所填数据自动生成汇总分析表。此章节我们就以6.3.shtsheet1为例来来体会一下自动汇总统计。

实现步骤概括来说:

1) 设计基准表填报表,用于填写明细数据

2) 发布基准表填报表,每个子公司填写数据并各自保存为一个结果文件

3) 设计统计表,用于汇总分析

4) 发布统计表,将每个子公司保存的结果文件放到一个列表,并保存到request变量传给tag标签,程序自动完成基准表数据合并,并根据统计表指定的统计方式进行汇总分析

具体来说:

第一步,设计基准表填报表,此步骤可以沿用6.3.sht

第二步,发布基准表填报表

此时,tag标签属性paramsfile,和outerDim可根据权限角色不同传入不同属性值,这样不同权限角色的业务人员看到的是同一个基准表填报表模板,但填写的是所负责超市的明细数据,并保存为不同的结果文件。

此例我们以两个超市为例,保存的结果文件分别为data1.jsondata2.json

 

结果保存为data1.json

 

结果保存为data2.json

第三步,设计统计表

设计统计表,并命名为6.4.sht,单元格内容和样式如下图所示

 

设置A2A3为维度格,设置B2C2B3C3为数值格

 

所谓统计表,就是按照某个维度或者某几个维度进行分组汇总统计分析,目前维度格内容由制表的业务人员手动输入,可以如上图所示编辑,也可以写成序列的形式,比如:A2=["乐万家","永福"]

统计表每个维度格和数值格的字段名称和对应序表名称可以任意取,正如A1B1C1单元格内容。在统计表中,和基准表唯一的关系就是定义数据来源格。

第四步,为统计表设置基准表

点击【填报】-【数据处理】,切换到【其他】页,如下图所示,选择该统计表对应的基准表,比如本例基准表为6.3.sht

 

第五步,设置数据来源格

给统计表的维度格和数值格设置数据来源格,指定数据来自基准表的哪一页哪一个单元格:

设置A2,A3的数据来源格为E1

设置B2,B3的数据来源格为D4,统计方式为求和;

设置C2,C3的数据来源格为E4,统计方式为平均。

 

数据来源格的格式为页名!单元格名,比如sheet1!E1,如果统计表和基准表的页名相同,可以省略,比如此例同是sheet1,所以页名可以省略不写;如果此时统计表和基准表对应单元格也相同,那么单元格也可以省略不写。除直接编辑数据来源格外还可以使用页属性中的基准页为每一个sheet设置页名。做统计时优先查找数据来源格,其次是基准页,最后是同名页,都找不到时报错。

基准表各个结果文件的合并由后台程序自动分析完成,按照基准表每一片生成一个合并,然后根据设置的统计方式,按照指定维度进行汇总分析。

第六步,统计表WEB预览

统计表在JSP文件中用<prefix:aggr>标签来发布,标签里面可以通过配置tag标签属性dataFiles来设置结果文件,fileType来设置结果文件类型,其它属性可参考《润乾报表V2018程序员参考》统计表章节。

将基准表6.3.sht 和统计表6.4.sht放到上边新建的Tutorial目录中。基准表生成的结果文件自动生成在报表预览设置对话框中的报表主目录/autoDataFiles/文件夹中。启动服务器,在浏览器地址栏中输入:

http://localhost:6868/demo/reportJsp/showAggr.jsp?sht=Tutorial/6.4.sht&dataFiles=autoDataFiles/data1.json;autoDataFiles/data2.json进行预览。dataFiles最后的文件名支持通配符*和?。

Web预览效果如下:

 

此例我们了解了统计表的制作步骤,体会了一下统计表的自动汇总分析功能,在此基础上,还可以扩展一下,比如根据权限角色不同,选择不同的基准表数据合并,并且根据合并的基准表数据不同,还可以按照城市,超市两个维度或者更多维度汇总分析,汇总的统计数据还可以导出为excel用于更高一级的汇总分析,等等。