集算器可以为集算报表输出多个结果集,供报表使用。这里通过一个实例说明。
报表说明
根据学生成绩表查询总成绩前三名和后三名的学生姓名以及总成绩。报表样式如下:
由于要分别显示前三名和后三名学生姓名和成绩,报表自然地分成了两部分。这两部分数据如果使用一个数据集会需要隐藏格辅助,使用两个数据集则比较简单,一个数据集基于原始数据进行分组汇总、按总成绩降序排序后取前三名,第二个数据集按升序取前三名。但这个过程用SQL去写会发生重复计算(分组汇总和排序),通过集算器则不会有这个问题,且可以一次为集算报表返回多个数据集使用。下面是实现过程。
编写集算器脚本
使用集算器编辑器编写脚本(multipleRs.dfx),完成数据读取计算,并返回前三名和后三名两个结果集。
A3:按照学生分组,计算总成绩
A4:按照总分降序排列
A5:根据序号取前三名
A6:根据序号取后三名
A7:返回两个结果集,多个结果集之间以逗号分隔
新建报表
打开集算报表设计器,菜单栏选择文件-新建报表,点击“生成空白报表”,新建一个空白报表。
设置数据集
菜单栏选择报表-数据集,数据集类型选择“集算器”,在弹出的集算器数据集设置窗口中选择dfx文件,创建数据集。集算报表接收多数据集时需要在“数据集名称”处指定多个数据集名称,并用逗号分隔,如这里的ds1,ds2。
编辑报表模板及表达式
在新建的报表模板中设置报表样式以及表达式,第一行为标题,第二行为报表头,第三、四行使用多数据集名称编写报表表达式。
B3:根据数据集ds1去前三名学生姓名列表
C3:根据B3取值总成绩
展现报表
在报表设计器中,选择工具栏中的“预览报表”,即可在设计器中查看报表展现结果。
设计器预览效果
此外,集算报表设计器内置了Tomcat,允许用户将报表发布到web端查看页面效果,点击工具栏右上角的IE图标,设置报表主目录和DFX主目录(可采用默认),完成报表发布。
页面发布后预览效果