润乾集算报表的集算器数据集部署(I)

润乾集算报表提供了集算器数据集,允许用户使用集算器脚本完成数据的进一步计算和加工,为报表提供数据源支持,从而简化报表开发,提升报表性能。

集算器脚本的编辑需要借助第三方集算编辑器(非报表工具)完成,而后嵌入到报表工具和报表应用中完成报表开发和部署。

下面来看一下集算器数据集的使用和以及报表部署过程。

1、开发环境使用

集算报表使用集算器数据集时,首先需要设置集算器授权信息和配置数据源连接(如果需要从数据库中取数)。

1.1、设置授权信息

启动集算报表设计器,选择工具-选项,切换到“集算器选项”,分别设置集算器注册码,寻址路径和主目录。

    注册码:集算器的版本通过注册码来控制,在该菜单为集算器设置注册码;

 

    寻址路径:指定网格程序中引用的一些文件相对的路径,可设置多个,用分号分隔;

 

    主目录:相对路径文件和远程文件的根目录,集算器中未设置主目录时使用当前程序文件所在目录。

1.2、配置数据源(可选)

如果集算器脚本中连接了数据库,集算报表调用时还需建立相应数据源,选择工具-数据源,“新建”数据源,如:

特别的,新建数据源之前应将相应数据库驱动拷贝到[集算报表安装目录]\common\jdbc下。通过如上步骤即可在集算报表设计器中调用集算器脚本(dfx)使用集算器数据集,下面通过两个具体实例说明使用过程。

1.3、实例

1.3.1 、报表说明

根据学生总成绩排名后,按照蛇形分布进行分班(分两个班),1班是1,4,5,8,…名,2班是2,3,6,7,…名。现根据班级参数查询本班学生名单。以下为实现步骤。

1.3.2 、编辑集算脚本

首先使用集算器编辑集算脚本,根据参数从数据库取数完成数据计算,为报表返回计算后的结果集。


    配置数据源

在编辑脚本过程中往往要进行编辑调试,实时查看运行结果,这时需要配置集算器数据源,数据源配置与报表数据源需要完全一致(包括数据源名称)。打开集算器编辑器,菜单栏选择“工具-数据连接”,新建数据源如下:


    设置参数

使用集算编辑器,新建脚本(demo1.dfx),设置参数class,用于接收报表传递的班号。


     编辑脚本内容


A1:使用上述配置的数据源demo2,建立数据库连接;与集算报表的脚本数据集可以直接使用报表数据源不同,集算器数据集中的脚本必须使用connect(db)语句建立连接;

A2:执行sql查询所有学生名单及成绩等信息;

A3:按照学生成绩降序排列;

A4:为排序后的记录增加排名字段;

A5:使用A.step()函数取子集,这里根据参数class来动态获取某个班级的成员;

A6:为报表返回结果集。

1.3.3、设置报表模板

    设置报表参数

使用集算报表设计器新建报表,设置报表班级参数。

    设置数据集

在数据集类型中选择“集算器数据集”,调用上面编辑好的dfx。

   

值得注意的是,DFX文件路径可以使用绝对路径,也可以使用相对路径,相对路径是相对在选项中设置的“主目录”(见1.1中截图),本例相对的主目录为:D:\Program Files\raqsoft\report\webapps\demo\reportFiles。

参数中,class为集算脚本参数,classNum为报表参数,将报表参数传递给集算脚本用于数据计算。这里为了方便区分设置了不同参数名,实际使用中可以设置同名参数。

设置报表表达式

最后在报表模板中编辑报表表达式完成报表制作。

预览报表,班级参数分别输入1和2,得到1班和2班学生名单,如下:

更多产品信息请访问:www.raqsoft.com.cn 。

时间: 2024-10-14 02:16:53

润乾集算报表的集算器数据集部署(I)的相关文章

润乾集算报表的集算器数据集部署(2)

2.WEB端部署 集算报表在web端部署流程与一般J2EE应用部署流程基本一致,包括: 如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一.第二步骤可以省略,只需要后面几个步骤. 配置应用服务器的数据库连接池.发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere中一般是发布一个war包或者是ear包,而在tomcat中就是在server.xml或context.xml中配置,可以不打wa

润乾集算报表提升性能之层次数据集

多层次报表是很常见的报表形式,如分组报表和主子报表.其中的关联运算(组与明细,主表和子表),由于有层次而不能直接在数据库中完成,需要在报表端完成.但报表端一般只用采用排序和遍历的方法实现关联,性能较差.利用润乾集算报表的层次数据集则可以在数据源计算过程中就完成关联计算,并且有层次的结果集直接传送给报表呈现,在关联计算中充分利用集算器的高效算法,从而达到优化性能的目标. 下面通过一个主子报表的实例看一下使用过程与效果. 报表描述 使用订单表和订单明细表,查询每个订单详情以及该订单下的订单明细,报表

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

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

润乾集算报表优化应用结构之可挂接算法

在报表项目中,有些报表的数据计算方法会经常改变.例如:某企业员工的实际工资是通过绩效得分计算出的,算法经常变动,需要在不改动其他代码的情况下用新算法替换旧算法.如果用Java来实现计算的话,虽然可以实现动态可挂接计算模块,但是存在缺乏基础类库.占用多余内存等问题. 采用润乾集算报表可以很好的解决这些问题,实现低耦合.热部署的动态挂接算法.集算报表挂接算法系统结合和其他报表工具+java的系统结构对比图如下: 上图可以看出,java程序必须要编译.打包才能更新.集算脚本是解释执行的,脚本文件同时也

润乾集算报表非常规统计之无源规则报表

报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组.可重复分组.组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源.以及需要对数据源再计算.这些报表本身具备一定的特殊性,使用常规方法往往难于实现. 集算报表完成这类特殊统计报表则非常简单,这里以一个没有数据源,但展现规则的报表为例,说明集算报表的实现过程. 报表说明 某报表系统中有部分报表需要按照一定规则显示数据,如:显示查询日期范围内的奇数日数据,要求数据库中即使无记录该日期也显示(内容为空). 本文重点来实现奇数日期序列,

润乾报表与集算报表的计算性能对比测试

1.测试目的 在相同的硬件和web容器上测试润乾报表和集算报表的性能,对比在报表中完成分组.排序.过滤.连接.排名的性能差异,以及并发情况下二者的表现.测试过程中,润乾报表将采用报表工具内置的计算引擎,集算报表采用其内置的集算器计算引擎. 2.环境描述 测试机型:DellInspiron 3420 CPU:Intel Core [email protected] *4 RAM:4G HDD:西数WDC(500G5400转/分) 操作系统:Win7(X64)SP1 JDK:1.6 数据库:orac

润乾集算报表多样性数据源之mongodb

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. mongodb等nosql数据库具有易扩展和高性能等优势,但计算能力比传统SQL要弱(如mongodb的分组结果不能太大,且不直接支持join运算等),而集算报表内置的计算引擎再正好可以补充这一点,在获得mongodb的优势的同时还拥有较强的计算能力. 这里通

润乾集算报表优化应用结构之数据分库存储

报表项目中,可能会出现报表源数据来自于不同数据库的情况.这是因为同一张报表可能会从多个业务系统取数据.例如:员工信息从人力资源系统中取出,销售数据从销售系统中取出.还有一种可能是,同一应用系统的数据库负载太大,不得已分成多个数据库的情况.例如:销售系统数据分成当前库和历史库. 报表工具需要连接的可能是同样类型的数据库,比如都是oracle或者db2:也可能是不同类型的数据库. 报表应用中,数据分库存储的解决办法有:1.建设专门的数据仓库:2.利用跨库访问的技术. 专门数据仓库的建设和管理比较复杂

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

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