润乾集算报表非常规统计之按段分组.pdf

润乾集算报表非常规统计之按段分组.pdf

ID:52881620

大小:718.75 KB

页数:4页

时间:2020-03-31

润乾集算报表非常规统计之按段分组.pdf_第1页
润乾集算报表非常规统计之按段分组.pdf_第2页
润乾集算报表非常规统计之按段分组.pdf_第3页
润乾集算报表非常规统计之按段分组.pdf_第4页
资源描述:

《润乾集算报表非常规统计之按段分组.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、润乾集算报表非常规统计之按段分组报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊性,使用常规方法往往难于实现。对于按段分组报表,各段之间可以有重复,也就可能出现按段可重复的分组报表。集算报表在完成这类特殊统计报表时比较简单,这里通过一个实例说明实现过程。报表说明根据员工基本信息表按年龄统计各年龄段区间的人数、奖金等汇总情况。报表样式如下:这里“30-40岁”和“35-45”岁两个区间是有重复的。下面来对比一下润乾报

2、表和集算报表实现上的差异。这个报表的麻烦之处在于需要进行的分组是有重复的,报表要完成较复杂的数据计算工作,但一般报表工具的计算能力较弱,如果采用报表工具本身来完成这个计算工作则会相当复杂,比如采用用润乾报表来实现将会是这样的:在润乾报表中,该类报表主要通过ds.enumGroup()函数完成,报表模板及表达式如下:其中A2单元格表达式为:=ds1.enumGroup(true,age(BIRTHDAY)>20&&age(BIRTHDAY)<=30,"20岁到30岁",age(BIRTHDAY)>30&&age(BIRTHDAY)<=40,"30岁到4

3、0岁",age(BIRTHDAY)>=35&&age(BIRTHDAY)<45,"35岁到45岁",age(BIRTHDAY)>=45,"45岁以上")润乾报表在实现上使用了ds.enumGroup()函数,在分组较少的时候做起来比较简单,这也是其他报表工具无法比拟润乾报表的方面。但当分组较多,计算比较复杂的情况下,润乾报表实现起来就比较困难了。原因在于报表的数据源准备和呈现混在一起导致的,往往需要在报表模板中实现大量的计算任务,如果将这两部分分开,即:独立的计算层负责数据源准备(完成复杂计算)和独立的展现层负责报表呈现,则会使报表开发变得更加清晰。

4、所以,另一种办法是事先把数据计算准备好,报表工具只需要负责呈现和简单计算。但无论是使用复杂SQL、存储过程和自定义JAVA数据集编程,对于这样的复杂运算(实际情况往往比这个例子更麻烦得多)都是一件工作量很大的事情,而且难以维护。集算报表本身内置了适合结构化计算的脚本,可以方便地写出数据准备的计算(相当于一种更使用更简单的自定义数据集)。上述报表需求使用集算报表可以这样完成:使用集算报表实现编写集算脚本使用集算脚本编辑器编写集算脚本,新建数据源demo2编写脚本完成按段分组汇总计算A1=connect("demo2")2=A1.query("selec

5、t*fromemployee")3=A2.derive(age(BIRTHDAY):AGE)[?>=20&&?<30,?>=30&&?<40,?>=354&&?<45,?>=45]5[20到30岁,30到40岁,35到45岁,45岁以上]6=A3.enum@r(A4,AGE)=A6.new(A5(#):区间,~.count():人数,~.sum(SALARY):合7计工资,~.sum(BONUS):合计奖金,~.sum(ALLOWANCE):合计补贴)8resultA7A1:连接数据源demo2A2:取员工表数据A3:增加日期字段,并根据出生日期计算

6、填充A4-A5:指定分段区间以及区间名称,这里A4和A5内容可以通过参数传递A6:按照给定年龄段完成分组,A.enum()函数提供了@r选项,允许分组中有重复A7:汇总员工工资、奖金等数据A8:为报表返回结果集编辑报表模板使用集算报表编辑器,设置数据源,用于报表预览新建报表模板并设置集算器数据集,调用上述编辑好的脚本文件其中,dfx文件路径既可以是绝对路径,也可以是相对路径,相对路径是相对选项中配置的dfx主目录的。报表模板及表达式如下可以看到,使用集算器脚本可以快速完成这类特殊的分组报表。而且外置的集算脚本具有可视化的编辑调试环境,编辑好的脚本还可

7、以复用(被其他报表或程序调用)。不过,如果脚本已经调试好,而且不需要复用的时候,要维护两个文件(集算脚本和报表模板)的一致性会比较麻烦,这时候直接使用集算报表的脚本数据集就比较简单了。在脚本数据集中可以分步编写脚本完成计算任务,语法与集算器一致,还可以直接使用报表定义好的数据源和参数。以上述第二个报表需求为例,使用脚本数据集可以这样完成:1.在数据集设置窗口中点击“增加”按钮,弹出数据集类型对话框,选择“脚本数据集”2.在弹出的脚本数据集编辑窗口中编写脚本这里可以看到,在脚本数据集中直接使用了报表中定义好的数据源demo,比起单独的集算脚本更加简单、

8、直接。3.报表模板和表达式与使用集算器数据集方式一致,不再赘述。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。