润乾报表实现预置分组报表及改进

合集下载

润乾报表4.0产品手册

润乾报表4.0产品手册

润乾报表4.0产品手册企业级报表工具的理想选择北京润乾信息系统技术有限公司目录1、产品构成 (4)1.1产品构成图 (4)1.2产品构成 (4)2、核心优势 (6)2.1类Excel界面模型 (6)2.2非线性报表模型 (6)2.3强关联语义层模型 (8)2.4多源填报模型 (10)3、功能特点 (11)3.1报表设计 (11)3.2报表展现 (11)3.3数据填报 (15)3.4通用查询 (15)3.5即时报表 (16)3.6OLAP分析 (17)3.7报表分析 (18)3.8报表管理与调度 (18)3.9全面的部署集成方法 (19)3.10开发接口 (19)4、优势服务 (21)4.1我们的优势 (21)4.2服务与支持 (21)5、支持环境 (22)6、典型客户 (23)北京润乾信息系统技术有限公司简介北京润乾信息系统技术有限公司是北京市海淀高科技园区内的高新技术企业、软件企业,主要从事企业级报表工具产品的研发和推广。

润乾公司一直致力于在平台产品领域的探索,我们一直认为,报表在应用系统中是非常重要、不可缺少的组成部分,高效的报表工具不仅可以大大提高应用系统开发商的开发效率,而且可以使最终用户能够真正参与到报表的设计和修改中,从而不断灵活适应实际业务需要。

经过几个版本的积累和努力,润乾公司于2004年2月推出润乾报表3.0,率先实现了零编码处理复杂非线性报表的方式,配合以类EXCEL的绘制方式,润乾报表的制表效率数倍于以国外产品为代表的传统工具,且在展现输出、填报、集成性等细节方面也有全面超越,成为报表领域的新一代革命性产品。

在随后的版本中,润乾公司继续不断创新,相继推出了多源填报模型和强关联语义模型,大大扩展了报表工具的应用范围,改进了报表工具的应用方式,引领了报表工具的发展。

润乾公司深信,面对中国这样一个多样化需求、快速增长的软件市场,是可以以应用需求为基础、发挥中国人的智慧和创造力,做出优秀的报表工具,在企业级平台产品市场与国外厂商竞争的。

润乾报表优化与性能管理

润乾报表优化与性能管理

润乾报表优化与性能管理润乾报表优化与性能管理编制者:吴国邦⽬录第⼀章、报表优化 (4)1. 灵活应⽤多数据集 (4)1.1.1. ⽹格式、分组式、交叉式尽量⽤单数据集 (4)1.1.2. 多源分⽚、主⼦报表尽量⽤多数据集 (6)2. 写sql的技巧 (8)2.1.1. 尽量在sql⾥进⾏group (8)2.1.2. 尽量不⽤select * from (10)2.1.3. 尽量在sql⾥排序 (10)2.1.4. 尽量在sql⾥过滤 (10)2.1.5. ⼤数据量可以采⽤存储过程 (11)3. 当前⾏、当前组的概念 (11)3.1.1. select函数 (11)3.1.2. select1()函数 (12)3.1.3. group函数 (13)4.写表达式的技巧 (15)4.1. or/|| 操作符 (15)4.2. and/&& 操作符 (15)4.3. 过滤条件 (16)4.4. ⼆分法查找函数bselect1 (17)4.5. 巧⽤空值判断nvl (19)4.6. 数据类型的考虑 (20)5. 枚举分组 (21)5.1. enumgroup函数 (21)5.2. plot函数 (23)6. 如何减少冗余单元格占⽤内存 (26)6.1. 空⽩单元格的应⽤ (26)6.2. 慎⽤隐藏⾏列 (27)6.3. 慎⽤合并单元格 (27)第⼆章、性能管理 (29)7.单⽤户缓存 (29)7.1.1. 概念定义 (29)7.1.2. 功能背景 (29)7.1.3. 使⽤⽅法 (30)7.2. 多⽤户间共享缓存 (31)7.2.1. 概念定义 (31)7.2.2. 功能背景 (31)7.2.3. 控制⽅式 (32)7.2.4. 使⽤⽅法 (33)7.3. 静态并发控制 (35)7.3.1. 概念定义 (35)7.3.2. 功能背景 (36)7.3.3. 使⽤⽅法 (36)7.4动态并发控制 (37)7.4.1. 概念定义 (37)7.4.2. 功能背景 (37)7.4.3. 使⽤⽅法 (37)7.5. ⼤报表运算中断 (39)7.5.1. 概念定义 (39)7.5.2. 功能背景 (39)7.5.3. 使⽤⽅法 (39)7.6. 集群时缓存同步 (40)7.6.1. 概念定义 (40)7.6.2. 功能背景 (40)7.6.3. 使⽤⽅法 (41)8.7. 表达式预解析 (43)8.7.1. 概念定义 (43)8.7.2. 功能背景 (43)8.7.3. 使⽤⽅法 (44)第⼀章、报表优化1. 灵活应⽤多数据集1.1.1. ⽹格式、分组式、交叉式尽量⽤单数据集看如下的报表:图 1.1.这是⼀个⽐较典型的多层交叉报表,其做法有两种:第⼀种:图 1.2.这种做法设计了五个数据集,每⼀层的表头都来⾃⼀个码表,交叉点的数据汇总时根据条件和表头关联第⼆种:图 1.3.这种做法只设计了⼀个数据集,把码表和事实记录表叉乘起来,在报表中进⾏分组扩展我们试⽐较⼀下两种做法的优缺点:第⼀种做法:1.数据集不需要对多表进⾏叉乘,取数速度快2.事实记录数据集可以在sql⾥先进⾏分组聚集操作,减少取过来的记录书,加快取数的速度和报表运算速度3.表头扩展直接对码表进⾏select操作,运算速度快4.交叉点汇总需要对事实记录表进⾏检索遍历,查找出和表头关联的记录进⾏汇总,交叉点的格⼦数远远⼤于表头单元格的个数,事实记录表的记录数也⼀般远远⼤于码表的记录数,每个交叉点都要对事实记录表遍历检索⼀次,运算速度⾮常慢第⼆种做法:1.数据集需要对码表和事实记录表进⾏叉乘,取数速度慢,但是⼀般情况下码表的字段数只有⼀两个,⽽且数据库有索引,记录数不是⾮常⼤的情况下慢不了很多2.在数据集sql⾥就可以对表头字段先进⾏分组聚集,这样取过来的记录数⼤⼤减少,加快了取数速度和报表的运算速度3.表头单元格是对事实记录表进⾏分组操作,然后再扩展,⽐第⼀种做法慢⼀些,但是由于对数据集只要进⾏⼀次的分组操作,因此慢不了太多4.交叉点汇总不需要再对事实记录表进⾏检索遍历了,⽽是直接对当前组集⾥的记录进⾏汇总,因此速度⼤⼤提⾼了总结:第⼆种的做法性能优于第⼀种1.1.2. 多源分⽚、主⼦报表尽量⽤多数据集看如下报表:图 1.4.这是⼀个⽐较典型的主⼦报表,主表⼀条记录对应⼦表多条记录,是个典型的⼀对多的关系,再引伸⼀下,⼀个主表可以对应多个⼦表,每个⼦表都是多条记录。

润乾报表

润乾报表

支持方案

J2EE机制的WEB应用 .NET及其它机制的WEB应用 Windows下的图形化程序 UNIX下的字符终端程序 Java Application/Applet

J2EE集成


无独立服务器,作为应用服务器上的应 用或JAR包提交,可与应用程序无缝结合, 达到最高运行效率 可共享应用服务器连接池管理 可利用应用服务器集群能力 统一部署

自由式行式混合填报
填报的格子属性可以 是直接填写的数据, 也可以是下拉数据库 中的字典表。

点中需要填写的格子,格子为选中 状态,可以进行数据的填写。
资产负债表中有大量自动计算和合 法性检查关系

单元格属性 统计图 输出格式 打印控制



HTML APPLET EXCEL/PDF
细节考虑非常周到,远比传统工具内容丰富

单元格属性



常见的显示格式,如浮点数、串、日期时间等 代码值与显示值映射,支持固定枚举、数据字 典表对应 支持属性表达式,可根据单元格数据决定,如 颜色、内容等 单元格中斜线 固定图片与图像字段 单元格超链接

性能分析


报表格数不会太多,性能瓶颈在数据 源相关运算 传统报表的数据库运算

依赖于数据源的运算能力 多表叉乘时复杂库较高O(Nk) 拆成多个简单叉乘 复杂度O(N2)或O(N3)

润乾报表的数据源运算

性能指标很重要,但区分度不强


功能优势

绘制方案 数据统计模型 展现输出 特色填报 其它功能

绘制方案

类EXCEL的网格式 合并格与边框组织报表样式 导入EXCEL表样 底图描绘支持套打

润乾集算报表开发多源分片报表

润乾集算报表开发多源分片报表

润乾集算报表开发多源分片报表使用润乾集算报表可以开发多源分片报表,在同一报表中的不同部分可以包含不同数据来源。

集算报表提供的扩展模型和主格模型让这类报表开发非常简单。

下面通过具体实例来来看一下多源分片报表的开发过程。

业务系统中的某类订单统计表中统计了多个维度订单情况,如下图示:该报表由多个独立的片区组成,且每个片区内的数据来源不尽相同。

这就是一个典型的多源分片报表。

使用集算报表制作步骤如下:连接数据源使用集算报表设计器,连接自带数据源DEMO。

设置数据集新建报表并设置数据集,由于数据来源不同,需要设置多个数据集。

各数据集SQL如下:ds1: SELECT 客户.地区,客户.城市,订单明细.数量,订单明细.折扣,订单明细.单价,订单.雇员ID,订单.订购日期,订单明细.产品ID FROM 订单明细,订单,客户WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID = 订单明细.订单ID and 订单.订购日期is not null and 客户.地区in ('华南','西南') and year(订单.订购日期)>=1998ds2: SELECT 类别.类别ID,类别.类别名称FROM 类别ds3:SELECT 雇员.雇员ID,订单明细.产品ID,雇员.职务,雇员.姓氏||雇员.名字as 姓名FROM 雇员,订单,订单明细WHERE 雇员.雇员ID = 订单.雇员ID AND 订单.订单ID = 订单明细.订单ID ORDER BY 订单.订购日期ASCds4: SELECT 产品.类别ID,产品.产品ID FROM 产品编辑报表表达式根据目标报表样式,分别设置每片区报表表达式。

其中:A1-E4按日期维度汇总了每个地区的销售额;A5-E6按销售人员维度汇总了每个地区的销售额;F1-G4按日期维度汇总了每类产品的销售额;F5-G6按销售人员维度汇总了每类产品的销售额。

润乾报表实现组内排序报表及改进

润乾报表实现组内排序报表及改进

润乾报表实现组内排序报表及改进报表开发中经常会遇到需要进行组内排序的报表,如按月份的分组汇总值排序显示,并显示每月销售额前十名的记录。

使用报表工具一般通过隐藏行列辅助可以实现,下面通过实例说明润乾报表的实现过程,以及改进方案。

报表需求根据销售管理系统数据统计客户所在地区的订单总额,地区并按订单总额降序排列,要求每个地区中显示销售额在前五名的销售人员及其订单数量和订单金额,其他人员归入“其他”项中。

报表样式如下:这里应该注意的是地区分组中如果销售人数少于5个则不显示“其他”项(如上图中的西北地区)。

润乾报表实现润乾报表实现主要依靠条件隐藏行实现,根据分组成员数量是否显示“其他”项,报表模板及表达式如下:在润乾报表中,使用ds.group()的多个参数,结合条件判断隐藏行,多种使用方法结合完成了报表开发,可见润乾报表的强大之处。

但是由于要按照分组后汇总的订单金额排序,所以在B3的分组表达式中应用ds1.sum(订单金额)表达式作为ds.group()的参数,对于原始数据量较大的情况下,该表达式效率较低;而且,由于只显示前5名销售,在C3(排名)和D3(其他)中设置了隐藏行表达式,对于分组较多的情况仍然会存在性能问题;另外需要在E3和F3中使用格集过滤表达式计算其他销售人员合计,计算时要带着单元格属性计算,效率仍然不高。

上述提到的问题在传统报表工具中皆是存在的,原因在于数据计算(报表数据源准备)与报表呈现混在一起导致,开发人员不得不再报表中编写较复杂的计算逻辑以完成报表开发,造成报表开发和运行效率都不高。

如果能将两部分分开,势必能提升开发和运行效率。

润乾公司在润乾报表的基础上,推出了可以完全满足复杂报表开发的集算报表,其内置了用于完成报表数据计算(数据源准备)的集算器,从而将数据计算和报表呈现剥离开,进一步梳理了报表开发流程,使得报表开发变得更加清晰。

上述报表需求使用集算报表可以这样完成:集算报表实现编写集算脚本使用集算脚本编辑工具完成计算脚本,并为报表输出计算后结果集:A1:执行sql得到初步汇总订单数据A2:按照地区分组后组内成员按订单金额排序A3-C7:循环A3,取前五名记录,并将超过第五的记录都归入“其他”项,结果写回A3A8:结果按地区总额降序排列后返回给报表报表调用使用集算报表设计器,新建报表,使用“集算器”数据集类型,选择上面编辑好的集算脚本(sort.dfx)报表模板及表达式报表模板中根据集算脚本返回的结果集,分别取得地区分组和销售列表等数据,无需复杂表达式即完成报表开发。

润乾报表基本介绍

润乾报表基本介绍

润乾报表3.0介绍润乾报表 3.0是用于统计报表制作及报表及数据填报的大型企业级工具软件。

产品首次成功解决了报表单元格与关系数据库之间的关联规律性,特别适合于中国式报表的填报和统计。

一、产品优势1.绘制方便润乾报表采用类EXCEL的绘制方式,真正做到所见即所得,把程序员从繁重且无聊的报表格式设置工作中解脱出来,极大的提高的表格绘制的方便度和效率,产品特有的EXCEL导入功能(包括格式)可充分利用业务人员原有积累。

2.数据模型先进润乾报表独创的数据模型首次成功地解决了中国报表中单元格与数据字段之间的弱关联性,彻底打破传统行式报表方案,报表行列完全对称,特有的层次扩展机制使多层分组及交叉报表制作非常简单,提供针对关联格的跨行跨组运算,很容易计算小计、同期比等数据。

同一报表中支持多个异构的数据源,允许报表各片之间无关,可用多个简单的数据集成组合出复杂报表,程序员无须再为每张报表编程(脚本或存储过程)或写复杂SQL准备数据。

3.输出能力丰富润乾报表每个单元格属性均提供条件控制,如颜色、行高、是否可见等均可与格内数据相关;支持代码显示值对应、多种数据格式、图片文件和图片字段的处理。

产品提供十几种各类统计图,支持PNG/GIF/JPG三种格式。

每张报表均可生成HTML、EXCEL、PDF三种输出格式(输出结果完全不失真,包括其内的统计图)。

单元格与统计图例均可加带参数的链接从而实现数据钻取功能,多层报表可在线收缩展开。

4.打印控制强大润乾报表提供强大的打印控制功能,按行数和纸张大小分页分栏或强制分页,表头自动重复(包括左表头),允许一张纸上打多个报表,提供末页补足空行。

可采用像素和毫米两种计量单位,独创的底图描绘功能以支持套打;5.集成性好润乾报表采用纯JAVA开发,利用服务器端提供丰富的API调用和标记可完全无缝地嵌入到基于J2EE的应用程序中(可看作应用程序员自己写的代码),程序员可更换报表的数据库连接和数据源、采用应用服务器的连接池管理;设计器也提供外置的数据源和数据字典定义,可由应用程序员提供这些信息。

润乾报表之分组

润乾报表之分组

润乾报表之分组
这次任务是要实现报表分组,设计图如下↓
预览效果图如下↓
这次主要是有俩个分组,并且还有序号。

尝试直接写分组函数在单元格C5但是没有⽣效。

解决⽅案:
1、在A5写了⼀个隐藏的列,单元格属性【可视】勾掉即可;此时的效果是看不到A5
2、将G5的分组语句【=DATA.group(APPLICATION_NO;APPLICATION_NO:-1)】放在A5⾥⾯;
3、将G5的左主格设置为A5;此时的效果,识别码字段已经事倒叙排列
4、C5的分组语句正常写,左主格设为A5;此时的效果是批号字段也⼜来分组效果
5、B5⽤来显⽰序号,【=seq(D9)】设置左主格为D9;此时的效果即为预览效果图
PS:这⾥说⼀下group函数,函数后⾯的数字有俩个值-->1、-1使⽤来排序的设置,默认是1即正序,-1是倒序。

润乾报表——精选推荐

润乾报表——精选推荐

润乾报表集算报表5.0在保留润乾报表V4.x的核⼼功能外,进⾏了优化和精简,其中报表函数也做了适当优化,这⾥就常见计算来⽐较⼀下⼆者函数语法之间的差异。

对⽐函数⼀览表1、数据集函数1.1、ds.group()润乾报表:datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp{,rootGroupExp}}}}}})集算报表:datasetName.group(<selectExp>{,filter_exp};{sort1}{:order1},…;{groupSortExp }:{ groupOrderExp })选项:@r 是否root数据集表达式。

主要改变:1、增加@r函数选项,取代原rootGroupExp表达式参数;2、取消分组前记录的排序顺序descExp参数;3、更改排序表达式和排序顺序参数语法。

举例:1.2、ds.select()/ds.select1()润乾报表:datasetName.select( <select_exp>{,desc_exp{, filter_exp{, sort_exp{,rootGroupExp}}}} )datasetName.select1(selectExp{,filterExp{,rootGroupExp}})集算报表:将原ds.select()和ds.select1()合并为ds.select(),语法如下:datasetName.select(<select_exp>{:order_exp},{ filter_exp },{num_exp},{distinct_exp})选项:@r 是否root数据集表达式。

主要改变:1、增加@r函数选项,取代原rootGroupExp表达式参数;2、取消数据的排序顺序descExp参数;3、更改排序顺序参数语法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

润乾报表实现预置分组报表及改进预置分组报表在报表开发中比较常见而且比较棘手。

所谓预置分组报表是指分组没有规律,可能是分组范围没有规律,也可能分组顺序没有规律,需要报表开发人员事先预置(固定)分组的报表。

常见的预置分组报表一般有如下三类:按段分组报表、固定次序分组报表、多层固定次序分组报表。

下面分别看一下这几类报表的特点,以及润乾报表的实现方法。

按段分组报表这类报表的特点是分段的区间并未在数据库中存储需要根据相应字段(如年龄、日期)计算,并且每个分段可能会发生变化(如每年节假日所在日期可能不同),经常由用户随意指定。

如:统计20-30岁,30-40岁,40-50岁各年龄段的用户数量;每年节假日(春节、端午节、国庆节)期间公路铁路承载的旅客统计。

下面通过实例说明,报表样式如下:该报表是根据订单表统计各(预置)时间段内,各地区的订单数量、订单金额汇总。

其中各时间段范围为:【1996年圣诞前:date <= 1996-12-251996年圣诞--1997年国庆:1996-12-25 <=date <= 1997-10-11997年国庆--1998年五一:1997-10-1 < date <= 1998-5-11998年五一以后:date>1998-5-1】实现润乾报表实现该类按段分组报表主要使用ds.plot()函数,计算一个值在一个完全划分中的位置。

报表模板及其表达式如下:其中,参数arg1为日期组,默认值为:1996-12-25,1997-10-1,1998-5-1。

设置B1显示值表达式:map(to(0,count(arg1)+1),arg2),其中参数arg2为字符串组,默认值为:1996年圣诞前,1996年圣诞--1997年国庆,1997年国庆--1998年五一,1998年五一以后。

使用ds.plot()函数可以非常方便地实现上述报表,而且可以通过该函数的参数控制是否包含边界,对于分组较少并且边界包含规律的分组报表尤其适用。

不过,当段界包含不规律时则无法使用ds.plot()实现,比如上例中如果时间范围变成:【1996年圣诞前:date < 1996-12-251996年圣诞--1997年国庆:1996-12-25 <= date <= 1997-10-11997年国庆--1998年五一:1997-10-1 <= date <= 1998-5-11998年五一以后:date>1998-5-1】起始和结束两段不包含段界日期,而中间的各个分段则包含,ds.plot()函数则存在限制,难以实现这类问题。

固定次序分组报表这类报表的特点是用户要求分组次序固定,而数据库中并未存储相应的分组字段。

如:要统计长三角地区、珠三角地区以及环首都经济圈内客户的订单情况。

数据库客户表中只有城市(如:北京、上海、石家庄)和地区(如:华北、东北、华南)字段,如果单纯为该报表在数据库里增加另外一个地区字段显然是不值得的,所以任务自然落到报表端了。

下面通过一个实例来说明使用润乾报表实现这类报表的过程,报表样式如下:要求:1、根据源数据中的城市分区分组汇总,其中:环首都经济圈包括:[北京,天津,张家口,承德,保定,廊坊,唐山,秦皇岛,衡水,沧州,石家庄]长三角地区包括:[上海,南京,苏州,无锡,常州,镇江,南通,扬州,泰州,杭州,宁波,湖州,嘉兴,绍兴,舟山,台州]珠三角地区包括:[广州,深圳,珠海,佛山,江门,东莞,中山,惠州,肇庆]其他城市列为其他地区;2、报表显示的地区顺序固定,即上图所示顺序显示,这里显然无法通过按字母顺序升降来排序。

实现该类分组报表主要使用润乾报表的ds.overlap()函数实现,报表模板及其表达式如下:其中,A2的表达式为:=ds1.overlap(true,城市in list("北京","天津","张家口","承德","保定","廊坊","唐山","秦皇岛","衡水","沧州","石家庄"),"环首都经济圈",城市in list("上海","南京","苏州","无锡","常州","镇江","南通","扬州","泰州","杭州","宁波","湖州","嘉兴","绍兴","舟山","台州"),"金三角",城市in list("广州","深圳","珠海","佛山","江门","东莞","中山","惠州","肇庆"),"珠三角","其他")这里可以看到ds.overlap()函数的强大,对于固定的分组以及分组下成员较少的情况尤其适用。

但当分组或分组成员过多时,继续使用该函数的可读性就太差了,难于维护;此外,本例中看到的是一层分组,如果要实现多层固定次序分组报表,ds.overlap()函数则无法直接实现。

下面看一个例子。

多层固定次序分组报表再修改一下上例的报表需求,要求按地区和城市分组,且地区和城市的展现顺序固定,如下顺序(没有则不显示):环首都经济圈包括:[北京,天津,张家口,承德,保定,廊坊,唐山,秦皇岛,衡水,沧州,石家庄] 长三角地区包括:[上海,南京,苏州,无锡,常州,镇江,南通,扬州,泰州,杭州,宁波,湖州,嘉兴,绍兴,舟山,台州]珠三角地区包括:[广州,深圳,珠海,佛山,江门,东莞,中山,惠州,肇庆]报表样式如下:该报表由于存在两层固定次序分组(地区、城市),所以无法使用ds.overlap()直接实现,需要先将地区在报表中列出,继而通过ds.overlap()实现,报表模板及其表达式如下:其中,B2、B3、B4表达式分别为:B2:=ds1.overlap(true,城市=="北京","北京",城市=="天津","天津",城市=="张家口","张家口",城市=="承德","承德",城市=="保定","保定",城市=="廊坊","廊坊",城市=="唐山","唐山",城市=="秦皇岛","秦皇岛",城市=="衡水","衡水",城市=="沧州","沧州",城市=="石家庄","石家庄")B3:=ds1.overlap(true,城市=="上海","上海",城市=="南京","南京",城市=="苏州","苏州",城市=="无锡","无锡",城市=="常州","常州",城市=="镇江","镇江",城市=="南通","南通",城市=="扬州","扬州",城市=="泰州","泰州",城市=="杭州","杭州",城市=="宁波","宁波",城市=="湖州","湖州",城市=="嘉兴","嘉兴",城市=="绍兴","绍兴",城市=="舟山","舟山",城市=="台州","台州")B4:=ds1.overlap(true,城市=="广州","广州",城市=="深圳","深圳",城市=="珠海","珠海",城市=="佛山","佛山",城市=="江门","江门",城市=="东莞","东莞",城市=="中山","中山",城市=="惠州","惠州",城市=="肇庆","肇庆")可以看到,对于多层固定次序分组报表润乾报表也是可以实现的,只是表达式相对复杂,当(地区)分组较多的时候,这种实现的代价会相对较高。

对于上述三类预置分组报表,润乾报表均可以实现,有些做起来也很简单,这也是润乾报表的强大之处(其它报表工具将会更为困难)。

但对于一些更复杂的情况,无论是边界包含无规律、表达式过于复杂,还是多层预置分组难于实现,使用润乾报表解决起来就都不那么轻松了。

究其原因,是因为报表工具把数据源准备和呈现混在一起导致(需要在报表模板中编写大量复杂计算逻辑),如果能将这两部分分开,则会使报表制作变得清晰、简单。

为解决这些问题,润乾公司对润乾报表进行了完善,推出润乾集算报表5.0版,在保留了润乾报表已有优势的前提下,还在其中内置了独立的计算引擎:集算器,用于解决数据源准备问题。

在集算报表中可以将复杂的数据计算(数据源准备)工作交由集算器完成,可将其视为报表的计算层;而报表本身只负责接收计算结果后进行展现(有时包括一些简单计算),从而将数据源准备和报表呈现分开,使得报表制作更为清晰。

相关文档
最新文档