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

多数据源混合的场景在报表开发中非常常见,如:数据来源于多个数据库、数据库和文件混合的场景。传统报表工具在处理这种问题时往往采用两种方式:1将数据统一到一个数据库中,来避免跨库查询或数据库文件混合查询;2使用高级语言为报表自定义数据集,在程序中完成多数据源关联运算。上述做法除了对数据库产生影响、增加实现难度外,往往报表性能也不理想。

使用润乾集算报表对异构数据源的有效支持可以很方便完成多数据源关联报表,这里通过示例说明。

跨库数据源

企业员工每月应发工资跟员工的基本工资、考勤以及绩效有关,考勤信息来源于人力部门的考勤系统(hsql数据库),基本工资和绩效信息则存储在财务系统(mysql数据库)中。现需要根据这两个数据库完成每月员工应发工资报表。使用集算报表完成可以采用如下步骤:

编写计算脚本

首先使用集算器编写集算脚本(salary.dfx),内容如下:

A1-A2分别连接两个数据库;

A3-A5根据两个数据库连接分别取员工、绩效、考勤表数据;

A6-A7关闭数据库连接;

A8按照员工姓名关联三表数据;

A9新建结果序表,计算应发工资;

A10为报表返回结果集。

新建报表

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

设置数据集

菜单栏选择报表-数据集,数据集类型选择“集算器”,在弹出的集算器数据集设置窗口中选择上面编辑好的计算脚本文件,创建数据集ds1。

编辑报表模板及表达式

报表模板第一行为报表头,第二行为表达式。

通过A2取员工列表,B2根据A2扩展取值应发工资。

展现报表

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

数据库文件混合数据源

集算报表除了对跨库多数据源关联有效支持外,完成数据库和文件的混合运算也非常容易。这里改变一下上述实例,将数据来源更改为数据库和文件。

计算脚本如下:

与跨库数据源关联不同的是,集算报表可以直接读入文件,从而与数据库表直接完成关联计算。

时间: 2024-10-10 12:38:17

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

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

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

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

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

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

润乾集算报表提供了一种新的数据集类型--脚本数据集,同意用户在数据集中完毕数据的进一步计算和加工,为报表提供数据源支持. 以下详细来看一下脚本数据集. 什么是脚本数据集? 集算报表的一种数据集类型.能够在脚本数据集中编辑计算脚本(脚本遵循集算器语法)完毕数据计算和处理,将加工后的结果集为报表提供数据源支持,从而使报表工具获得数据源再计算的能力. 脚本数据集编辑器中即无法像集算器编辑器一样添加删除行列.也无法进行可视化调试,所以脚本数据集适用于计算脚本比較简单的情况. 怎样使用脚本数据集? 脚本数

用润乾集算报表提升性能之关联计算

报表开发过程中经常要在报表中完成数据关联计算,有的为了降低报表制作复杂度将关联关系放到可视的报表模板中完成:有的则必须在报表中完成关联,如多数据源.异构数据源的情况.而在报表中做关联往往导致报表效率不高,计算过慢,引发性能问题.润乾集算报表提供了特殊的数据关联方式,可以提升报表性能.这里通过一个常见的多源关联分片报表实例来看一下集算报表的实现过程:     报表说明 根据销售情况等信息表按照时间.地区.销售人员.产品等维度汇总销售额,报表样式如下: 以下为实现过程.     编写计算脚本 首先使

润乾集算报表非常规统计之关联跨行运算

实际信息系统中很多数据计算是为前端展示而进行的,其中报表是最常见的一种形式.这些计算的实现过程往往并不简单,使用SQL或存储过程实现起来比较困难,从而影响到前端报表设计.像http://bbs.csdn.net/topics/390813196中提的问题,其目的往往是为了实现一个供生产或采购部门使用的报表(包含库存覆盖周期,方便生产调度或实施采购任务),用SQL写起来会比较麻烦,一般报表工具又不具备很强的计算能力,也无法直接完成.而润乾集算报表则有很灵活的计算能力,可以充分利用问题特点应付各种非

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

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

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

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

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

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

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

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