润乾集算报表的脚本数据集

润乾集算报表提供了一种新的数据集类型——脚本数据集,同意用户在数据集中完毕数据的进一步计算和加工,为报表提供数据源支持。

以下详细来看一下脚本数据集。

什么是脚本数据集?

集算报表的一种数据集类型。能够在脚本数据集中编辑计算脚本(脚本遵循集算器语法)完毕数据计算和处理,将加工后的结果集为报表提供数据源支持,从而使报表工具获得数据源再计算的能力。

脚本数据集编辑器中即无法像集算器编辑器一样添加删除行列。也无法进行可视化调试,所以脚本数据集适用于计算脚本比較简单的情况。

怎样使用脚本数据集?

脚本数据集与SQL数据集类似。仅仅是脚本数据集中输入的不是SQL语句,而是分步的计算脚本。以下通过两个样例来看一下使用过程。

实例一

报表说明

依据学生总成绩排名后。依照蛇形分布进行分班(分两个班)。1班是1,4,5,8,…名。2班是2,3,6,7,…名。

现依据班级參数查询本班学生名单。

下面为实现步骤。

         报表数据源

         新建报表并设置报表參数

在集算报表设计器中新建报表,并设置班级參数:

         新建脚本数据集

在数据集类型中选择“脚本数据集”,在脚本数据集编辑窗体分步输入计算脚本。完毕数据排列和过滤等计算。

A1:使用报表当前数据源demo运行sql查询全部学生名单及成绩等信息;集算脚本数据集同意连接不同数据源(非当前报表数据源)进行数据查询。能够先使用connect(“db”)建立数据源连接后。再依据该连接进行数据查询;

A2:依照学生成绩降序排列;

A3:为排序后的记录添加排名字段;

A4:使用A.step()函数取子集。这里依据报表參数class来动态获取每一个班级的成员;集算脚本数据集中能够直接使用报表定义的參数,更加简明,如本例中的class(这点与SQL数据集等不同);

A5:为报表返回结果集。

         设置报表表达式

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

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

本例中脚本数据集完毕的计算不管使用报表表达式还是SQL都比較难以实现,SQL要通过子查询生成编号后,使用模(mod(no,4)=1 or mod(no,4)=0)才干完毕。而在集算脚本数据集中排序后使用A.step()函数就能够非常方便取出子集(实际上脚本中添加的排名字段无实际用途,仅仅是为了方便查看结果),非常easy。

脚本数据集除了能够操作数据库。还能够直接从文件里取数计算。以下来看实例二。

实例二

         报表说明

学生測试成绩以文本文件(score.txt)存储,现须要依据班级參数,在全部学生成绩单中查询本班成绩并按学生分组汇总总成绩。

文件内容例如以下:

CLASS       STUDENTID      SUBJECT  SCORE      ID     NAME       GENDER  AGE

Class one 1       English     84     1       Emily         F       17

Class one 1       Math        77     1       Emily         F       17

Class one 1       PE     69     1       Emily         F       17

Class one 2       English     81     2       Elizabeth F       16

Class one 2       Math        80     2       Elizabeth F       16

Class one 2       PE     97     2       Elizabeth F       16

Class one 3       English     75     3       Sean          M     17

Class one 3       Math        86     3       Sean          M     17

Class one 3       PE     67     3       Sean          M     17

Class one 4       English     96     4       Lauren      F       15

         新建报表设置參数

         设置脚本数据集

A1:依据文件路径创建文件游标。

A2:使用cs.select()进行数据过滤,返回记录游标;

A3:针对游标依据学生进行分组汇总。求总成绩;

A4:通过result为报表返回结果集。

         设置报表表达式

通过如上步骤使用脚本数据集完毕文件的读取并完毕过滤汇总等操作,很easy。

     

脚本数据集的作用

      通过上面两个样例,能够看到脚本数据集的主要作用:

1、完毕很规计算

脚本数据集适合完毕一些很规运算(如实例一),这些运算既不适合在报表端做,又不适合在数据库中完毕。假设通过外置的数据集(存储过程或Java程序)实现又过于复杂。添加报表的开发门槛,这时使用集算报表的脚本数据集就是个不错的选择。

2、支持多样性数据源

像实例二中读取文本文件一样。脚本数据集使集算报表先天支持多样性数据源。不再依赖第三方程序。除了TXT。脚本数据集还能够支持xls、hadoop、nosql等数据源。

此外。脚本数据集因为採用专门的计算环节,避免在报表中做计算,降低隐藏格,从而还能提高报表的总体性能。

时间: 2024-09-29 00:27:06

润乾集算报表的脚本数据集的相关文章

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

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

润乾集算报表用脚本实现动态SQL传递

大多数情况下报表的数据源SQL都是固定的,但有时也需要动态变动其中某些部分实现动态拼出,比如在报表应用中允许用户通过选择表和字段查询自己关心的报表数据,报表开发时则希望对同类报表(明细或汇总)使用同一模板.这时就需要在报表中接收相应参数拼接出动态SQL进行查询后制作动态报表. 与一般报表工具需要在第三方程序(如JAVA)中实现不同,在润乾集算报表中提供了内置的脚本(数据集),可以快速完成这类报表,下面举例说明. 某类报表中,用户在指定表和列时,有一些列是必选列,即使用户没有选择,在查询后仍然显示

润乾集算报表用脚本实现混合数据源报表

润乾集算报表支持在同一报表内使用不同类型的数据源,可以是RDB.TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等.集算报表中使用混合数据源不依赖第三方程序(如JAVA),使用内置的脚本(数据集)即可完成,下面通过例子来说明使用过程. 业务系统中将订单信息存储到JSON格式的文件中,报表查询时需要读取JSON文件与数据库表(维表)进行联合查询.这里以查询某发货时间段内所有订单的客户信息为例. orders.json部分内容如下: 以下为报表设计过程.         连接

润乾集算报表实现多数据集关联的示例

多数据源混合的场景在报表开发中非常常见,如:数据来源于多个数据库.数据库和文件混合的场景.传统报表工具在处理这种问题时往往采用两种方式:1将数据统一到一个数据库中,来避免跨库查询或数据库文件混合查询:2使用高级语言为报表自定义数据集,在程序中完成多数据源关联运算.上述做法除了对数据库产生影响.增加实现难度外,往往报表性能也不理想. 使用润乾集算报表对异构数据源的有效支持可以很方便完成多数据源关联报表,这里通过示例说明. 跨库数据源 企业员工每月应发工资跟员工的基本工资.考勤以及绩效有关,考勤信息

润乾集算报表优化应用结构之报表复杂数据源的管理

在报表项目中,常常有些复杂数据计算是为一个报表专用的,其它报表用不到.可以用SQL实现写进报表数据源中,但由于SQL无法分步计算,经常会写出非常复杂难懂的长语句,不利于调试和维护.如果用Java或者存储过程来实现,计算程序会和报表模板又会分开,不利于管理.使用润乾集算报表的脚本数据集来实现报表专用计算,既可以写出简单易懂的分步骤计算脚本,又可以将脚本存放在报表模板中利于管理.系统结构的对比如下图: 下面通过一个具体的报表例子来看一下集算报表脚本数据集的用法.<年度客户销售分析报表>可以选择年份

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

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

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

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:JSON.HTTP.TXT文本.Excel.Hadoop.mongodb等. JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见,另外有些报表还会接收来自HTTP服务器的数据进行报表展现.这里通过例子分别来看一下集算报表使用json数据源和http数据源的过程. 一般JSON数据源 报表说明 学

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

润乾集算报表提供了集算器数据集,允许用户使用集算器脚本完成数据的进一步计算和加工,为报表提供数据源支持,从而简化报表开发,提升报表性能. 集算器脚本的编辑需要借助第三方集算编辑器(非报表工具)完成,而后嵌入到报表工具和报表应用中完成报表开发和部署. 下面来看一下集算器数据集的使用和以及报表部署过程. 1.开发环境使用 集算报表使用集算器数据集时,首先需要设置集算器授权信息和配置数据源连接(如果需要从数据库中取数). 1.1.设置授权信息 启动集算报表设计器,选择工具-选项,切换到"集算器选项&q

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

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