集算器可以为集算报表输出多个结果集,供报表使用。这里通过一个实例说明。

报表说明

根据学生成绩表查询总成绩前三名和后三名的学生姓名以及总成绩。报表样式如下:

润乾集算报表从集算器获得多个结果集的示例_多数据集

由于要分别显示前三名和后三名学生姓名和成绩,报表自然地分成了两部分。这两部分数据如果使用一个数据集会需要隐藏格辅助,使用两个数据集则比较简单,一个数据集基于原始数据进行分组汇总、按总成绩降序排序后取前三名,第二个数据集按升序取前三名。但这个过程用SQL去写会发生重复计算(分组汇总和排序),通过集算器则不会有这个问题,且可以一次为集算报表返回多个数据集使用。下面是实现过程。

编写集算器脚本

使用集算器编辑器编写脚本(multipleRs.dfx),完成数据读取计算,并返回前三名和后三名两个结果集。

润乾集算报表从集算器获得多个结果集的示例_集算器_02

A3:按照学生分组,计算总成绩

A4:按照总分降序排列

A5:根据序号取前三名

A6:根据序号取后三名

A7:返回两个结果集,多个结果集之间以逗号分隔

新建报表

打开集算报表设计器,菜单栏选择文件-新建报表,点击生成空白报表,新建一个空白报表。

设置数据集

菜单栏选择报表-数据集,数据集类型选择集算器,在弹出的集算器数据集设置窗口中选择dfx文件,创建数据集。集算报表接收多数据集时需要在“数据集名称处指定多个数据集名称,并用逗号分隔,如这里的ds1,ds2

润乾集算报表从集算器获得多个结果集的示例_多数据集_03

编辑报表模板及表达式

在新建的报表模板中设置报表样式以及表达式,第一行为标题,第二行为报表头,第三、四行使用多数据集名称编写报表表达式。

润乾集算报表从集算器获得多个结果集的示例_集算报表_04

B3:根据数据集ds1去前三名学生姓名列表

C3:根据B3取值总成绩

展现报表

在报表设计器中,选择工具栏中的预览报表润乾集算报表从集算器获得多个结果集的示例_集算器_05,即可在设计器中查看报表展现结果。

润乾集算报表从集算器获得多个结果集的示例_集算报表_06

设计器预览效果

 

此外,集算报表设计器内置了Tomcat,允许用户将报表发布到web端查看页面效果,点击工具栏右上角的IE图标润乾集算报表从集算器获得多个结果集的示例_集算报表_07,设置报表主目录和DFX主目录(可采用默认),完成报表发布。

润乾集算报表从集算器获得多个结果集的示例_集算器_08

页面发布后预览效果