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

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

报表说明

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

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

编写集算器脚本

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

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

A4:按照总分降序排列

A5:根据序号取前三名

A6:根据序号取后三名

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

新建报表

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

设置数据集

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

编辑报表模板及表达式

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

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

C3:根据B3取值总成绩

展现报表

在报表设计器中,选择工具栏中的“预览报表”,即可在设计器中查看报表展现结果。

设计器预览效果

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

页面发布后预览效果

时间: 2024-12-31 22:57:47

润乾集算报表从集算器获得多个结果集的示例的相关文章

润乾集算报表应用开发之参数输入

参数对于报表的重要性不言自明,润乾集算报表支持两种参数输入方案,可以使用集算报表设计参数模板联合报表一同发布,还可以自定义参数输入后与报表结合.二者并没有显著的差异,前者在开发使用上更加方便快捷,而后者则在灵活性上更胜一筹,用户在使用集算报表参数输入时可以根据实际需要进行选择. 下面就上述两种参数输入方式的使用分别来看一下. 使用参数输入模板 集算报表提供了"参数模板"的报表类型,使用参数模板可以制作参数输入表单,而且其内置了多种编辑风格,如下拉树.下拉日历.列表框.下拉数据集等.使用

润乾报表教程-集算报表优化计算过程

报表作为数据统计分析软件,当它出现性能问题需要对数据源计算进行优化时,执行路径难以控制是阻碍报表优化的难题之一.这是由于数据库执行路径不透明,程序员很难甚至无法干预执行路径,也就难以提高数据库的性能.而一般报表工具不具备强计算能力,大部分计算仍然要依靠数据库进行,这就导致很多报表优化效果不理想. 不同于一般报表工具,润乾集算报表内置了专门用于数据计算的集算引擎,开发人员可以通过编写集算脚本完成报表数据源准备.与数据库执行SQL路径不可控相比,集算脚本的执行过程是可控的,开发人员可根据实际情况编写

润乾集算报表提升性能之过程优化

报表出现性能问题需要对数据源计算进行优化时,执行路径难以确定从而被干预是阻碍报表优化的难题之一.由于数据库执行路径对开发人员不透明,报表优化需要指定执行路径时,程序员会很难甚至无法干预.而一般报表工具不具备强计算能力,大部分计算仍然要依靠数据库进行,这就导致很多报表优化效果不理想. 不同于一般报表工具,润乾集算报表内置了专门用于数据计算的集算引擎,开发人员可以通过编写集算脚本完成报表数据源准备.与数据库执行SQL路径不可控相比,集算脚本的执行过程是可控的,开发人员可根据实际情况编写或更改计算执行

润乾集算报表优化应用结构之减少存储过程

在报表应用中经常会使用存储过程实现报表的数据计算,但这会带来多方面的问题.存储过程的包只提供一层分类,无法用树形结构,容易造成代码管理混乱.有些程序员直接在现场在线修改存储过程,也不利于代码管理.升级存储过程的时候需要数据库的写权限,会对数据安全性造成影响.同时,由于SQL固有的一些问题(数据无序.缺乏集合.无法引用.分步不彻底)等,使得存储过程的编程比较困难. 很多情况下是为了提高性能而选择存储过程,但实际效果也不尽如人意.这主要是因为报表数据的计算一般都比较复杂,很难用SQL直接完成,需要通

润乾集算报表的层次数据集理解

润乾集算报表提供了层次数据源支持,在集算器中完成表间关联后可以将带有主从结构的数据集(如关联后的维表.事实表)直接给报表使用,而不需要在报表中再次关联:同样集算报表接收到事先在集算器中完成带明细的分组数据集也可以直接使用,而不必再次分组. 什么是层次数据源? 层次数据源是指在集算报表中使用集算器数据集类型,接收集算器脚本返回的带有层次的结果集,作为报表的数据来源. 如上图,脚本返回的结果集A6包括销售姓名.按销售汇总的订单金额以及对应分组下的订单明细:订单明细指向了另外一个集合,该销售下包含订单

润乾集算报表使用json数据源的示例

JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见.润乾集算报表可以很好支持json数据源,这里通过实例说明. 示例一 报表说明 学生成绩在应用中以json文件存在,现需要汇总学生成绩,并按总成绩排名,结果以报表展现.报表样式如下: JSON文件中包含班级.编号.姓名.学科.成绩等信息,格式如下: [ { "class": "Class one", "id": 1, "name": &

润乾集算报表提升性能之预先计算

报表应用中当数据量较大或计算过程较复杂时,会导致报表数据源准备过慢,从而影响报表性能.这时常常需要事先将报表需要的数据计算好,在呈现时直接引用即可,这样用户在访问报表时就可以迅速地获得响应. 当前的手段及弊端 由于报表在访问时还需要参数,显然不可能把所有参数组合对应的报表数据源都准备好,所以预先计算并不是最终的报表结果,在呈现的时刻仍然要再次进行一些简单的计算(如过滤.分组汇总.排序等),然而也不太可能指望报表呈现时刻由报表工具再完成所有这些运算(报表工具只能完成一部分小数据量的运算),这样就要

润乾报表整合到Tomcat服务器的部署过程

转载自:http://www.cnblogs.com/avivaye/archive/2012/11/16/2773681.html 使用第三方的报表设计器/服务器来快速的开发报表. 润乾服务器是使用Java语言编写的一个灵活易用的报表服务器和设计器.因此,用它来做Java的报表设计是很快捷的,但是经常报错,而且不好查错. 下面来介绍一下润乾报表4.0在J2EE下的部署[非集成部署] ① 下载一个新的Tomcat ② 新建一个Web应用,基本目录结构如下: |-report |---------

润乾集算报表使用远程HTTP数据源的示例

报表的数据来源多种多样,有时会接收来自HTTP服务器的数据进行报表展现,一般报表工具只能通过报表自定义数据源使用高级语言(如JAVA)进行处理,实现较为复杂.集算报表简单地通用集算器接收HTTP数据源完成报表展现.这里通过一个实例说明. 学生成绩信息存储在远程的JSON格式文件中,其所在HTTP服务器对外提供统一HTTP访问接口,现需要读取学生成绩信息开发报表,汇总学生成绩并按总成绩排名.报表样式如下: JSON文件中包含班级.编号.姓名.学科.成绩等信息,格式如下: [ { "class&qu

用润乾集算报表实现实时报表(T+0)的方案

在报表项目中,客户越来越关注源数据的实时性,希望看到最新发生的数据在报表中体现出来.但是,传统的报表工具+数据仓库+ETL方式很难做到这一点,往往是只能看到昨天.上周甚至是上个月的情况,也就是T+1.T+7.T+30统称T+n报表.很难实现T+0报表,也就是能体现实时信息的报表. 分析其原因在于:1.如果报表的历史数据和最新数据都从客户的生产系统读取,虽然可以实现T+0报表,但是会对生产数据库造成压力,影响客户的业务.2.如果采用数据仓库的方式,那么ETL从生产库中取出数据,需要较长的"窗口时间