润乾报表技术白皮书

上传人:博****1 文档编号:502335026 上传时间:2023-12-22 格式:DOC 页数:92 大小:4.65MB
返回 下载 相关 举报
润乾报表技术白皮书_第1页
第1页 / 共92页
润乾报表技术白皮书_第2页
第2页 / 共92页
润乾报表技术白皮书_第3页
第3页 / 共92页
润乾报表技术白皮书_第4页
第4页 / 共92页
润乾报表技术白皮书_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《润乾报表技术白皮书》由会员分享,可在线阅读,更多相关《润乾报表技术白皮书(92页珍藏版)》请在金锄头文库上搜索。

1、 润乾报表技术白皮书北京润乾软件技术有限公司2006年3月目 录第1章总体说明41.1润乾报表软件概述41.2产品构成5第2章新一代报表模型72.1数据统计模型72.2数据填报模型18第3章功能详细描述223.1报表设计223.2报表展现输出413.3数据填报523.4交互与OLAP583.5报表管理中心633.6报表任务调度65第4章部署与应用方案674.1报表设计模式674.2报表应用部署方式694.3数据报送应用方式734.4支持环境76第5章性能指标与控制785.1性能分析785.2实测指标795.3控制手段80第6章集成接口826.1数据源826.2JAVA API846.3前端接口

2、866.4设计器接口88第7章特点与优势总结907.1新一代报表模型907.2真正易用的报表工具907.3纯JAVA报表软件917.4强有力的填报功能917.5独有的字符终端解决方案927.6开放的系统927.7可靠的本土支持93第8章逐点应答948.1功能性要求948.2非功能性要求998.3实施服务要求110第9章建议1139.1选择开放性的工具1139.2与应用紧密集成1139.3基于实际业务报表进行测试114附:某保险公司统计报表系统实际测试报告115第1章 总体说明1.1 润乾报表软件概述润乾报表是用于统计报表制作及数据填报的大型企业级报表软件,它提供了高效的报表设计方案、强大的报表

3、展现能力、灵活的部署机制,并且具备强有力的填报功能,配合以全面的用户权限管理、报表调度功能和交互功能,为企业级统计分析、展现提供了高性能、高效率的报表系统解决方案。润乾报表软件的核心特点在于开创性地提出了新一代报表数学模型,采用了革命性的多源分片、不规则分组、自由格间运算、行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂SQL编写与前期数据准备,报表设计的效率提高了一个数量级。润乾报表是一个纯Java报表工具,提供了全面的API接口,是开发Web报表软件的理想选择。Java报表工具的跨平台特性,使得它能良好地支持大型系统的需要。润乾报表不需安装控件,可

4、以实现纯HTML报表方式,可以支持PDF,EXCEL等输出,提供了全面的页面与打印控制,能很多地满足Web报表的展现需要。同时,润乾报表对图表有良好的支持,可以生成柱图、饼图、折线图等二十几种图表。润乾报表提供基于动态库表关联技术的填报功能,完美解决数据入库的难题,极大提高填报表单的处理效率,扩展了Web报表工具的应用方式。润乾报表提供了报表管理中心,可以对报表建立多层次的目录管理,进行全面的用户和基于角色的权限管理。润乾报表还提供了调度器模块,可以实现定时、批量等报表自动处理和报表的自动分发。1.2 产品构成1.2.1 基础部件润乾报表由两大核心部分组成:l 报表设计器:设计编辑报表,自带报

5、表运算引擎,连接数据库后可预览打印报表,并可生成其它格式保存。设计器不依赖于其它部分,可独立工作;设计器以Java应用程序(JavaApplication)的形式提交。l 报表服务器:在后台提供统计报表运算和数据填报处理的服务,开放各层次的API接口调用,由程序员调用生成结果报表;服务器运行不依赖设计器;服务器以Java类包(jar)的形式提交,一般情况下不需要物理上的独立服务器。1.2.2 可选组件除基本部件外,润乾报表还提供如下可选组件:l 报表管理中心:一个简单的独立报表管理应用,处理用户角色权限控制、功能组织等,终端用户可直接采用该组件完成报表管理、查阅、填报等工作,报表管理中心运行依

6、赖于报表服务器。l 报表调度器:作为服务程序运行,在设定的时刻自动计算报表并将结果保存或推送到指定的目标,报表调度器运行依赖于报表服务器;l 集成(远程)设计支持:包括基于HTTP协议的JDBC接口、基于WebStart技术的设计器封装包和可编程的设计器远程文件访问接口。基于该组件可将报表设计器集成于用户的统一门户管理之内(B/S或C/S均可)、实现远程报表设计、统一管理报表模板文件等功能;l Windows展现控件:包括应用于Windows GUI程序的ActiveX控件、生成EXCEL/PDF流的DLL调用及相关后台的服务程序,基于该组件可将报表运算结果以控件形式显示于Windows GU

7、I程序中。l UNIX的C接口:包括后台服务程序与前端通讯的C程序,通讯部分的C代码以源码形式提交(.H和.C文件),基于该组件,可将报表应用于UNIX下的C程序中。第2章 新一代报表模型2.1 数据统计模型数据统计模型是报表工具最重要的指标,它决定了报表工具最基本的制表能力,即在不编代码的情况下能够制作出何种报表。事实上,市场上的众多传统报表产品在处理复杂报表时确实存在明显缺陷,大量报表仍需编写代码准备数据。润乾报表开创性地提出了新一代数据统计模型,采用全新的概念方法比较彻底地解决了中国复杂报表中的各项问题。2.1.1 多源分片多源分片是中国复杂报表的基本特征。多源是指一个报表的数据来源来自

8、多个物理数据表(或类似数据体),甚至是多个物理数据库。这里的“多个”常常不是两个三个,而是七八个乃至十几个。传统工具的基本报表单元只支持单源报表,需要在报表设计前将多源转化成单源处理。两三个源尚可写SQL语句完成(JOIN或UNION等),但多到五六个源以上时,一方面对应的SQL语句过于复杂难以维护,另一方面运行效率也很低,这时常常要编写存储过程或其它代码来准备数据了。如果多源来自多库,则更为复杂,无法直接写出复杂SQL或存储过程,需要架构专门的数据库桥后才可以完成。某些传统工具也所声称的支持多源,实际上就是指多数据库支持,把数据库桥功能集成进入报表工具中,但真正到报表设计时仍然只能单源。多源

9、往往带来分片,正是由于分片,使得报表设计必须直接基于多源进行,而不能先将多源转成单源进行。有相当一部分分片报表无论如何也不可能换成单源处理,部分能转成单源的报表处理也非常繁琐。分片是指报表的纵向或横向或双向同时被分成了多个区域,每个区域扩展重复规则不同,而又可能相互运算。传统工具能够处理的上下格式一致和列方向固定的分片报表(即可由多源转成单源的报表),但会迫使用户编写复杂的SQL(UNION+JOIN)和代码准备数据,导致工作量大且维护困难;对于横向分片数较多报表,由于必须采用JOIN方式准备数据,关联条件复杂时很可能导致出O(Nk)的高计算复杂度(k为分片数),性能很低。表1是个典型的纵向分

10、片报表,数据区从上至下分成了几片,先是一片按客户汇总的两级分组区域,然后是两个固定计算行,接下来又是一片按年度汇总的一级分组区域,最后又是一个固定的合计行。各片分组层数不同,而且变动与固定固定结合,而且各片之间还有数据沟通(某些计算行的值是由其它行计算出来的)。这种上下格式不一致的报表,其数据源不可能组织成单源(各片列数不同),也就不可能被传统工具实现。表1我们把表1横过来摆形成表2,成为一个横向分片表。类似的,也是有两片分组层数不同的变列区域和几个固定的计算列混合而成。传统工具只提供比较死板的交叉报表模型处理变列报表,其中的集合运算只有固定的几种选择,不可随意加列,更不可能有多片变列区域,而

11、这种复杂的动静混合交叉表就只能手工编程动态加列实现。表2为了解决多源分片的问题,许多传统工具引入了子报表的概念。把每个分片做成一个子表,然后再在主表中拼接起来。如上述的表1理论上是可以通过子表拼接完成,但实际上仍非常烦琐。子表割裂了整表的一致性,一张报表被分成了多个小表,难以统一处理,给维护管理工作带来麻烦。从格式上看,各个子表各自独立,很难将格线统一对齐,某个子表的格式进行了调整,所有其它子表都需要改动,这是极其繁琐的工作。而且每个子表的大小不固定(可能随数据记录数而变化),由于传统工具的行列不对称(下面还会谈到),纵向排列的几个子表可以自动摆位,而横向则不行,如上述的表2即使用子表也无法完

12、成(数据可以拼出,但格式无法拼出)。而且,主子表之间和子表相互之间都无法沟通数据,只能将主表的数据作为参数传递给子表,子表无法带回信息,也无法向其它子表提供信息。这时,整表的混合运算将非常困难,必须单独计算,无法采用某些子表的中间运算结果,不仅书写复杂,运算效率也降低。表3就是个典型的主从表,当然也是典型的多源分片报表。主记录中的金额显然是明细信息中各产品金额的和,而在传统工具的主子表模型中,主表的合计值不能引用子表的数据,必须自行重新计算。表3润乾报表则直接支持多源(集)设计,在同一张报表中可同时引用多个数据集,摒弃了传统死板的条带式扩展模型,而代之以独创的单元格扩展方案,各数据集即可以独立

13、扩展,也可以相互引用,扩展部分与固定部分可自由结合;而特有的主格关联技术则可灵活地决定各级统计的范围,保证汇总运算的合理性与正确性。表1在润乾报表中将如下设计:需要根据数据变动的行(5/6行)采用单元格扩展(B5/C5格)机制(其中的ds1.group函数即负责扩展重复),而中间的固定行(8-11行)则可直接写上,下一片变动行(13/14行)又采用单元格扩展(B13格)进行(ds4.group函数),两片扩展分别基于不同的数据集(ds1和ds4),且层数不同,右边的sum运算中还能引用这些格值,整个报表即分片又统一,完美地解决了多源分片问题。完成表2只要简单地将相关的扩展单元格改变位置和方向即

14、可,如下图所示,润乾报表在行方向的扩展能力能够完全应用在列方向上(横向扩展),使得中国报表中常见的横向分片、多片变动、动静结合的问题很容易解决。对于表3这种主子表,在润乾报表无需借助子表概念完成,明细表(8-10行)本身可以自行扩展重复,而且由于了设置主格关联,整片明细表会自动跟随主记录重复,而且主细表间可自由沟通信息,如E3格中的金额合计可直接由G9格中金额明细计算出来(表达式SUM(G9))。2.1.2 不完全划分不完全划分是中国复杂报表中的典型特征之一。传统工具中的数据分组延用了关系数据库中的相应概念,为完全规则划分,即划分标准一致且有规则(一般都按某个字段或表达式),所有事实都必须出现

15、且只出现一次,分组值次序与原数据记录次序一致。与完全划分相反,在报表汇总中却常常需要不规则划分,即划分标准看不出规律(常常只能穷举),所有事实不一定全部出现在分组结果中、个别事实还可能重复出现,次序也与原数据记录无关。固定分组是不规则划分的常见表现。表4表4是个含有不规则划分的人员统计表(同时也是个分片报表)。年龄段的分组就是个不规则划分,划分规律不明确,只能穷举出来;分组不完全,没有列出所有的部门,每个一级部门中还可能有一些不属于任何二级部门的人(其他类)。表5表5则是另一种形态的不规则划分报表。它的地区分组有三个特点:华北部分地区中未包括内蒙古,出现了不完全分组;山东和青岛有重复的部分,出现了可重分组;而且地区次序是确定这样排列的,和数据记录的次序无关,是个典型的固定行分组报表。这两个报表用传统工具实现都较为困难,虽然报表格式并不复杂,但由于出现了不规则划分,无法直接用报表工具的分组功能完成,只能编程把数据准备成一个单层的二维表数据源,即加大了工作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号