软件技术公司润乾报表技术白皮书_第1页
软件技术公司润乾报表技术白皮书_第2页
软件技术公司润乾报表技术白皮书_第3页
软件技术公司润乾报表技术白皮书_第4页
软件技术公司润乾报表技术白皮书_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、润乾报表技术白皮书 2 / 94润乾软件技术2006 年 3 月目目 录录第第 1 1 章总体说明章总体说明 4 41.1 润乾报表软件概述 41.2 产品构成 5第第 2 2 章新一代报表模型章新一代报表模型 7 72.1 数据统计模型 72.2 数据填报模型 18第第 3 3 章功能详细描述章功能详细描述 22223.1 报表设计 223.2 报表展现输出 413.3 数据填报 523.4 交互与 OLAP583.5 报表管理中心 633.6 报表任务调度 65第第 4 4 章部署与应用方案章部署与应用方案 67674.1 报表设计模式 674.2 报表应用部署方式 694.3 数据报送应

2、用方式 73 3 / 944.4 支持环境 76第第 5 5 章性能指标与控制章性能指标与控制 78785.1 性能分析 785.2 实测指标 795.3 控制手段 80第第 6 6 章集成接口章集成接口 82826.1 数据源 826.2JAVA API846.3 前端接口 866.4 设计器接口 88第第 7 7 章特点与优势总结章特点与优势总结 90907.1 新一代报表模型 907.2 真正易用的报表工具 907.3 纯 JAVA 报表软件 917.4 强有力的填报功能 917.5 独有的字符终端解决方案 927.6 开放的系统 927.7 可靠的本土支持 93第第 8 8 章逐点应答

3、章逐点应答 94948.1 功能性要求 948.2 非功能性要求 998.3 实施服务要求 110第第 9 9 章建议章建议 1131139.1 选择开放性的工具 1139.2 与应用紧密集成 113 4 / 949.3 基于实际业务报表进行测试 114附:某保险公司统计报表系统实际测试报告附:某保险公司统计报表系统实际测试报告 115115 5 / 94第第 1 1 章章总体说明总体说明1.11.1 润乾报表软件概述润乾报表软件概述润乾报表是用于统计报表制作与数据填报的大型企业级报表软件,它提供了高效的报表设计方案、强大的报表展现能力、灵活的部署机制,并且具备强有力的填报功能,配合以全面的用

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

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

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

7、采用该组件完成报表管理、查阅、填报等工作,报表管理中心运行依赖于报表服务器。报表调度器报表调度器:作为服务程序运行,在设定的时刻自动计算报表并将结果保存或推送到指定的目标,报表调度器运行依赖于报表服务器;集成(远程)设计支持集成(远程)设计支持:包括基于 协议的 JDBC 接口、基于 WebStart 技术的设计器封装包和可编程的设计器远程文件访问接口。基于该组件可将报表设计器集成于用户的统一门户管理之(B/S 或 C/S 均可)、实现远程报表设计、统一管理报表模板文件等功能;WindowsWindows 展现控件展现控件:包括应用于 Windows GUI 程序的 ActiveX 控件、生成

8、EXCEL/PDF 流的 DLL 调用与相关后台的服务程序,基于该组件可将报表运算结果以控件形式显示于 Windows GUI 程序中。 7 / 94UNIXUNIX 的的 C C 接口接口:包括后台服务程序与前端通讯的 C 程序,通讯部分的 C 代码以源码形式提交(.H 和.C 文件),基于该组件,可将报表应用于 UNIX 下的C 程序中。 8 / 94第第 2 2 章章新一代报表模型新一代报表模型2.12.1 数据统计模型数据统计模型数据统计模型是报表工具最重要的指标,它决定了报表工具最基本的制表能力,即在不编代码的情况下能够制作出何种报表。事实上,市场上的众多传统报表产品在处理复杂报表时

9、确实存在明显缺陷,大量报表仍需编写代码准备数据。润乾报表开创性地提出了新一代数据统计模型,采用全新的概念方法比较彻底地解决了中国复杂报表中的各项问题。2.1.12.1.1多源分片多源分片多源分片多源分片是中国复杂报表的基本特征。多源多源是指一个报表的数据来源来自多个物理数据表(或类似数据体) ,甚至是多个物理数据库。这里的“多个”常常不是两个三个,而是七八个乃至十几个。传统工具的基本报表单元只支持单源报表,需要在报表设计前将多源转化成单源处理。两三个源尚可写 SQL 语句完成(JOIN 或 UNION 等) ,但多到五六个源以上时,一方面对应的 SQL 语句过于复杂难以维护,另一方面运行效率也

10、很低,这时常常要编写存储过程或其它代码来准备数据了。如果多源来自多库,则更为复杂,无法直接写出复杂 SQL 或存储过程,需要架构专门的数据库桥后才可以完成。某些传统工具也所声称的支持多源,实际上就是指多数据库支持,把数据库桥功能集成进入报表工具中,但真正到报表设计时仍然只能单源。多源往往带来分片,正是由于分片,使得报表设计必须直接基于多源进行,而不能先将多源转成单源进行。有相当一部分分片报表无论如何也不可能换成单源处理,部分能转成单源的报表处理也非常繁琐。分片分片是指报表的纵向或横向或双向同时被分成了多个区域,每个区域扩展重复规则不同,而又可能相互运算。 9 / 94传统工具能够处理的上下格式

11、一致和列方向固定的分片报表(即可由多源转成单源的报表),但会迫使用户编写复杂的 SQL(UNION+JOIN)和代码准备数据,导致工作量大且维护困难;对于横向分片数较多报表,由于必须采用 JOIN 方式准备数据,关联条件复杂时很可能导致出 O(Nk)的高计算复杂度(k 为分片数) ,性能很低。表 1 是个典型的纵向分片报表,数据区从上至下分成了几片,先是一片按客户汇总的两级分组区域,然后是两个固定计算行,接下来又是一片按年度汇总的一级分组区域,最后又是一个固定的合计行。各片分组层数不同,而且变动与固定固定结合,而且各片之间还有数据沟通(某些计算行的值是由其它行计算出来的) 。这种上下格式不一致

12、的报表,其数据源不可能组织成单源(各片列数不同) ,也就不可能被传统工具实现。表 1我们把表 1 横过来摆形成表 2,成为一个横向分片表。类似的,也是有两片分组 10 / 94层数不同的变列区域和几个固定的计算列混合而成。传统工具只提供比较死板的交叉报表模型处理变列报表,其中的集合运算只有固定的几种选择,不可随意加列,更不可能有多片变列区域,而这种复杂的动静混合交叉表就只能手工编程动态加列实现。表 2为了解决多源分片的问题,许多传统工具引入了子报表的概念。把每个分片做成一个子表,然后再在主表中拼接起来。如上述的表 1 理论上是可以通过子表拼接完成,但实际上仍非常烦琐。子表割裂了整表的一致性,一

13、报表被分成了多个小表,难以统一处理,给维护管理工作带来麻烦。从格式上看,各个子表各自独立,很难将格线统一对齐,某个子表的格式进行了调整,所有其它子表都需要改动,这是极其繁琐的工作。而且每个子表的大小不固定(可能随数据记录数而变化) ,由于传统工具的行列不对称(下面还会谈到) ,纵向排列的几个子表可以自动摆位,而横向则不行,如上述的表 2 即使用子表也无法完成(数据可以拼出,但格式无法拼出) 。而且,主子表之间和子表相互之间都无法沟通数据,只能将主表的数据作为参数传递给子表,子表无法带回信息,也无法向其它子表提供信息。这时,整表的混合运算将非常困难,必须单独计算,无法采用某些子表的中间运算结果,

14、不仅书写复杂,运算效率也降低。 11 / 94表 3 就是个典型的主从表,当然也是典型的多源分片报表。主记录中的金额显然是明细信息中各产品金额的和,而在传统工具的主子表模型中,主表的合计值不能引用子表的数据,必须自行重新计算。表 3润乾报表则直接支持多源(集)设计,在同一报表中可同时引用多个数据集,摒弃了传统死板的条带式扩展模型,而代之以独创的单元格扩展方案单元格扩展方案,各数据集即可以独立扩展,也可以相互引用,扩展部分与固定部分可自由结合;而特有的主格关联主格关联技术则可灵活地决定各级统计的围,保证汇总运算的合理性与正确性。表 1 在润乾报表中将如下设计:需要根据数据变动的行(5/6 行)采

15、用单元格扩展(B5/C5 格)机制(其中的ds1.group 函数即负责扩展重复) ,而中间的固定行(8-11 行)则可直接写上,下一片变动行(13/14 行)又采用单元格扩展(B13 格)进行(ds4.group 函数) ,两片扩展分别基于不同的数据集(ds1 和 ds4) ,且层数不同,右边的 sum 运算中还能引用这些格值,整个报表即分片又统一,完美地解决了多源分片问题。 12 / 94完成表 2 只要简单地将相关的扩展单元格改变位置和方向即可,如下图所示,润乾报表在行方向的扩展能力能够完全应用在列方向上(横向扩展) ,使得中国报表中常见的横向分片、多片变动、动静结合的问题很容易解决。对

16、于表 3 这种主子表,在润乾报表无需借助子表概念完成,明细表(8-10 行)本身可以自行扩展重复,而且由于了设置主格关联,整片明细表会自动跟随主记录重复,而且主细表间可自由沟通信息,如 E3 格中的金额合计可直接由 G9 格中金额明细计算出来(表达式 SUM(G9)) 。 13 / 942.1.22.1.2不完全划分不完全划分不完全划分不完全划分是中国复杂报表中的典型特征之一。传统工具中的数据分组延用了关系数据库中的相应概念,为完全规则划分完全规则划分,即划分标准一致且有规则(一般都按某个字段或表达式) ,所有事实都必须出现且只出现一次,分组值次序与原数据记录次序一致。与完全划分相反,在报表汇

17、总中却常常需要不规则划分,即划分标准看不出规律(常常只能穷举) ,所有事实不一定全部出现在分组结果中、个别事实还可能重复出现,次序也与原数据记录无关。固定固定分组是不规则划分的常见表现。表 4 14 / 94表 4 是个含有不规则划分的人员统计表(同时也是个分片报表) 。年龄段的分组就是个不规则划分,划分规律不明确,只能穷举出来;分组不完全,没有列出所有的部门,每个一级部门中还可能有一些不属于任何二级部门的人(其他类) 。表 5表 5 则是另一种形态的不规则划分报表。它的地区分组有三个特点:华北部分地区中未包括,出现了不完全分组不完全分组;和有重复的部分,出现了可重分组可重分组;而且地区次序是

18、确定这样排列的,和数据记录的次序无关,是个典型的固定行分组报表。这两个报表用传统工具实现都较为困难,虽然报表格式并不复杂,但由于出现了不规则划分,无法直接用报表工具的分组功能完成,只能编程把数据准备成一个单层的二维表数据源,即加大了工作量,又很难体现数据之间的层次关系。润乾报表为分组运算提供更多的过滤和排序选项,可生成不完全分组;采用建数据集分组技术可以很好地完成固定分组与可重分组的问题,而特有的 plot 集合函数则解决了按段分组的困难。表 4 可采用 plot 函数进行如下设计: 15 / 94C4 格中的 plot 函数负责完成按段分组,可随意填写分段方案;A5 格的分组扩展可加上过滤条

19、件;B5 格扩展出有规律的二级部门,而其他类则可单列一行,其计算公式可与上面的格分别填写(C5/C6 格) 。表 5 则可以采用建数据集处理固定可重分组:先根据报表展现的行设计建数据集与之一一对应,然后在报表设计中采用建数据集进行扩展(A5 格) ,同行上其它各格的计算值都引用该格值(B5-H5) ,从而轻松地完成了固定可重分组报表。 16 / 942.1.32.1.3自由格间运算自由格间运算除不完全划分外,自由格间运算自由格间运算是中国复杂报表另一个典型特征。所有的报表工具都会提供一些计算列的功能,在原始数据基础上再计算出一些别的列值或统计值,这是报表展现中是不可缺少的功能。传统工具一般只提

20、供同行的格间运算和针对某组(或全体)的集合运算,对于常见的跨行组运算跨行组运算则相当困难。个别传统工具提供了简单的跨行能力,如可以引用上一行数据,而跨组则无能为力;对于集合运算只提供个别固定的函数,如取第一名、算累计值等,无法组合出通用集合运算,如取第二名、算累计的乘积等。某些带条件的运算更是无法处理,如计算语文成绩在 90 分以上的同学的数学成绩总和。除了有规律的跨行组运算外,报表中还可能会有一些随意的独立格运算独立格运算,其值可能是报表中的任意几个其它格运算出来,甚至还可能会引用到报表外的数据(比如和数据库中的数据再次运算等) 。由于传统工具没有很好的运算后报表数据项命名机制运算后报表数据

21、项命名机制(传统工具只能用列名命名设计阶段的数据单元) ,很难精确描述数据引用关系,只能写出规律性很强的表达式,但随意的独立格运算会就使传统工具无法处理,而报表外的数据引用更是只能借助脚本或外围应用程序,导致代码极为混乱。表 6 是个典型的跨行组运算报表,其中有比上期(跨行)和比去年同期(跨组)运算,这种报表在传统工具中常常又必须编程准备数据。表 7 则展现了另一些自由格间运算,如计算排名,需要在同组中数出比当前值大的数的个数。下方的几个独立格中又引用了表格中数据,但又非整组全部引用,而是带了某种条件(前三名) ,最下方的一个格中还会引用到报表外的数据(市的全部销售额不在报表中) 。 17 /

22、 94表 6表 7这两个报表的样式都不复杂,但这些格间运算会让传统工具非常为难。只能再次依靠程序代码,把数据事先计算好直接往报表里填。润乾报表则开创性地提出了单元格层次坐标与相关格集的概念,可以则扩展后的每个单元格或格集进行精确命名,即可在设计时自由引用任何一个扩展后单元格,而且还可以方便地嵌入 SQL 或其它函数以引用外部信息。表 6 在润乾报表中将如下设计: 18 / 94D3 格中的 C3-1和 E3 格中的 C3A3:-1,B3:+0即是层次坐标写法,用以精确定位扩展后的每个单元格,从而使得跨行组运算可以方便地进行。 ,表 7 在润乾报表中的的设计方案:C4 格的表达式中应用了层次坐标

23、和相关格集概念,用以计算其对应的 B4 在扩展后的 B4 格组(扩展后会有多个 B4)的次序(E4 和 F4 的关系类似) 。B6 表达式中有带条件的引用(C4=3,即前三名) ,B7 格中又引用了另一个数据集 ds 的值。整个报表的格间运算非常自由,而润乾报表也能够轻松处理。2.1.42.1.4行列对称行列对称另外,所有以上的讨论中还贯穿了一点,即行列对称行列对称。纵方向上拥有的自动复制扩展的能力需要完全实现在横方向上。报表可以横向分组、横向分片,对于横向变列的报表可以定义跨列组运算等。传统工具有行式表和交叉表两种互不通用的模型,行式表完全不支持列向变动;而交叉表非常死板,虽然可以支持多层变

24、列,但只能有一片变列区,而且其中的汇总运算很简单,只有固定的一些函数,不可随便增加运算行列。传统工具的行列严重不对称,列方向能力远远弱于行方向,稍复杂些的交叉表无法实现。传统工具还习惯于把报表分成几种孤立的类型,如网格报表、分组报表、主从报表、交叉报表等,某种类型的报表可以解决某种问题。但事实上,报表的上述复杂性 19 / 94常常是混合在一起的,同一报表中很可能包含了所有的问题,这要求我们给出完整的解决方案,而不能单独分别处理。当这几种困难交织到一起时,整个问题的复杂度要远比解决几个单个问题的总和要大得多。而润乾报表则天然行列对称,行方向拥有的数据扩展能力在列方向也都有,所有报表均在统一的处

25、理模型下完成,无须专门的交叉表处理方案,在交叉表中也可以自由编写汇总表达式。中国复杂报表的各种困难在润乾报表中统一在一起得到了充分的解决。2.22.2 数据填报模型数据填报模型数据填写是中国报表应用中的一个重要需求,广泛应用于金融业和政府行业。而相当多的报表工具(特别是国外产品)完全不支持数据填写报送。而润乾报表则有非常出色的数据填报能力。同统计汇总类似,填报解决方案中最关键的因素仍然是数据模型,通俗地说,就是数据如何写入数据库的方案。填报本身不是目的,填报是为了采集数据上来分析利用,因此需要将填报收集的数据直接按其逻辑结构提交到开放的关系型数据库中,才能有效地被其他应用系统和统计分析系统所利

26、用。2.2.12.2.1传统方案的缺陷传统方案的缺陷有个别国传统报表工具能够支持数据填写,一般有三种方式处理数据入库。采用中间文件,填写结果写入一个中间数据文件(如 EXCEL 填报),某些填报方案能提供少量一些基于这些中间文件的统计汇总,但要完全利用则须将这些数据进行结构化成后转存到关系数据库中。而将非结构化的数据转成可以体现业务规则的结构化数据是比较困难的工作,需要为每种报表编写相应程序去处理。 20 / 94采用固定的数据结构,填报方案提供一种“万能”的数据结构将填好的数据写入,其数据结构常常是只有三个字段行号/列号/数值,或与之类似),这种方法只是机械地将数据写入了数据库,数据结构并未

27、没有体现业务规则,在使用时仍要再次进行转换工作。根据业务规则设计要保存的数据结构,然后根据数据结构设计要填写的报表,每个要填写单元格的数据都有唯一对应数据库的字段,这样在入库时就可以直接写成结构化的数据。这种方案的入库机制是合理的,但报表是根据数据结构设计的,而库表对应关系常常都非常简单,结果导致报表不可自由绘制,只能提供简单的几种死板表样,不能满足用户需求。某些传统填报方案的数据回填机制所有这些填报方案的主要问题是无法解决能体现业务规则的数据表与报表单元格之间的匹配关系。从而导致前期报表设计或者后期数据入库的极大困难。而润乾报表独创的自由库表关联技术则很好地解决了这一问题。2.2.22.2.

28、2自由库表关联自由库表关联润乾报表的填报表允许数据库表列与报表的单元格之间进行任意匹配,设计报表样式时不需要考虑数据结构,反之设计数据结构时也只需要考虑业务规则而不用管报 21 / 94表样式,任意的报表样式和数据结构之间都能建立起对应关系。而且这些对应关系还有自动扩展的能力,即有规律的表区只要设置一遍基本的对应关系,表区中其它单元格与数据库的对应关系可以自动扩展出来。如行式表填报时,只需要设置某一行的库表对应关系,其它行都可以自动扩展,而交叉表则只要设计某一格的对应关系即可,其它格也可以自动扩展出来。总结起来说,就是任意匹配,自动扩展任意匹配,自动扩展。主从填报(自由/行式混合)交叉填报 2

29、2 / 942.2.32.2.3数据来去自由数据来去自由润乾报表的填报方案还支持自由的数据来去方案,具体地讲,就是有来有去,来有来有去,来去无关,一来多去去无关,一来多去。如下图所示:单元格中的数据都有来源,现实中常常需要制作多级汇总填报表,某一中间层的填报表是先由下级统计出来的,而非空白格子,这样就要求单元格的数据要有个来源;填写的数据要入库,则需要有个去处,来源和去处经常可能是无关的,如可以将从 A表中统计出来的结果修改后填入 B 表;而且一个单元格的去处可以有多个(来源当然不可能有多个) ,可以同时写入 B1 表、B2 表、,甚至可能是多个数据库(如同一批企业数据要同时写给税务部门和统计

30、部门) 。 23 / 94第第 3 3 章章功能详细描述功能详细描述3.13.1 报表设计报表设计3.1.13.1.1类类 EXCELEXCEL 的报表设计方式的报表设计方式类类 EXCELEXCEL 的编辑的编辑润乾报表采用类 EXCEL 的方式进行报表的绘制和编辑,如下图:润乾报表主编辑界面采用类 EXCEL 的可视化网格式编辑方案,不仅可所见即所得地绘制出复杂表样,而且可免去传统控件拖拽式编辑方式对齐数据项的繁琐,在保证格式的整齐美观的同时大幅提高绘制效率,避免打印与显示因分辨率不一致而出现的失真现象。另外,熟悉 EXCEL 使用的人员相当多,更易于报表绘制工作的上手。这种方案已逐步成为

31、报表样式绘制的主流。 24 / 94读入读入 EXCELEXCEL 文件文件润乾报表还可直接读入 EXCEL 绘制好的报表格式,然后在报表设计器中进一步修改,以充分保护用户以往在 EXCEL 上的积累,大大减少重复工作。Excel 原表润乾报表直接读入 EXCEL 报表格式(文档类型即为 xls)公式调整公式调整润乾报表在编辑过程中能够象 EXCEL 一样自动调整公式,如在单元格 B1 中引用了C1,当 B 列和 C 列间插入一列时,引用的 C1 将会自动变成 D1,这对于报表中表达式 25 / 94编辑非常必要。 原报表,B2 中的表达式引用了 C2 和 D3在 C 列前插入一列后,B2 格

32、的表达式自动调整界面与基本功能界面与基本功能润乾报表提供了非常美观的外观界面,可有多种配色风格。产品采用全中文菜单和对话框,常用的编辑手段均有快捷工具条以提高设计效率。在编辑过程中,提供缩放编辑功能,可以根据需要灵活设置缩放比例,更方便地进行报表的格式调整。在报表设计器中,可直接预览报表,并打印或导出成 EXCEL/PDF 等外部文件格式。3.1.23.1.2单元格类型单元格类型润乾报表的单元格支持如下类型:普通文本:一般的数值和文字,可以支持斜线。这种类型可以通过象 EXCEL一样的表达式,从数据库中提取数据和进行各种计算。该类单元格的显示值可与数据值分开,从而实现部代码与显示之间的对应,显

33、示容可来自固定列表,也可来自数据库中的字典表图片文件:固定的图片,如企业 LOGO图片字段:来自数据库字段的图片,如人员照片子报表:该单元格中将嵌入或引入一个子报表统计图:该单元格中将嵌入一个统计图 26 / 94HTML 文本:该单元格的文字(或表达式的运算结果)将被理解成为一段HTML 代码,在报表 WEB 展现时将被嵌入整个报表的 HTML 文本中,从而可实现用户自定义的显示或编辑方案通过各种类型的单元格,可以在报表中添加各种元素,实现各种复杂的报表。润乾报表的单元格类型带斜线和图片的报表(编辑画面),D1 格是个图片字段带斜线和图片的报表(运算画面) ,D1 格已被运算成图片3.1.3

34、3.1.3套打绘制与相关功能套打绘制与相关功能底图描绘实现套打绘制底图描绘实现套打绘制润乾报表采用底图描绘的方案解决套打时的报表绘制问题。可将需要套打的票据扫描成图片,作为报表设计的底图,然后依照图片上格线进行报表描绘,可保证绘制出的报表能够精确地套打进入印刷票据中。 27 / 94底图描绘方式进行套打绘制(下面的表格是个底图)精确度量等精确度量等润乾报表提供以毫米为单位的精确度量,可保证报表的绘制和输出完全与纸精准一致。并会根据纸大小在设计界面中画出纸边虚线,以提示设计人员分页位置。3.1.43.1.4多数据源多数据源润乾报表天然支持多数据源,同一报表的数据来源可以是多个数据集甚至是多个数据

35、库或是用户自定义的数据集。通过这一功能,不仅可以采集来自不同来源的数据,更重要的是在润乾报表中可以在报表直接使用多个不同数据集,而不需要强行用复杂的视图把它们连接在一起,从而大大提高了报表设计效率和提高了灵活性。 28 / 94润乾报表多数据源 数据源的定义画面润乾报表支持各种数据集(SQL/存储过程/文件/自定义/建/OLAP SERVER)3.1.53.1.5建数据集建数据集润乾报表支持建数据集,即某个数据集的数据被写进报表模板文件之中,建数据集和外部数据集有完全同样的运算,如扩展、过滤等。建数据集可有如下应用:完成不规则划分完成不规则划分大量中国复杂报表均可能有不规则划分要求(比如选择若

36、干个城市显示相关的数据) ,润乾报表可以将这些不规则划分(如可重分组、固定分组)方案设置进仅于当前报表相关的建数据集中,而不必在数据库中创建冗余的数据表或视图。可参见 2.1.2 中的例子。脱机浏览脱机浏览 29 / 94润乾报表提供将外部数据集转换为建数据集的功能,这样即可将已做好的报表数据源绑定进报表,从而做到脱机(不连接数据库)运算和浏览,这一功能对于远程调试报表有巨大帮助(远程技术人员可以不必依赖于用户的数据环境而调试报表中的错误)建数据集绑定报表数据以实现脱机运算和浏览3.1.63.1.6表达式与函数表达式与函数表达式表达式润乾报表支持基于数据集和基于单元格的两类表达式,并且可以混合

37、书写,如ds1.sum( amount );B3+C3+sum(D3); ds1.select( id, typeid=C2)等函数函数润乾报表提供六类系统函数:数据集函数、单元格函数、数学函数、字符串函数、日期时间函数、转换函数。同时也允许用户自定义 JAVA 函数。润乾报表的函数功能非常强大,除了常规的计算函数外,更能针对报表和统计分析的需要提供了特有的集合处理函数集合处理函数,可用以实现报表自动扩展、分组等变化。例如,润乾报表提供 plot 函数实现中国复杂报表中常见的按段分组需求,除分组方案外, 30 / 94plot 函数与普通分组函数一致,也可以实现多层或交叉分段汇总。例子可参见

38、2.1.2节。3.1.73.1.7分片混合扩展与相关引用分片混合扩展与相关引用润乾报表摒弃传统条带扩展方案而采用单元格扩展机制,可以很容易完成同一报表中的分片扩展(并列或层次均可) ,并可实现固定行列与变动行列混合编排。各扩展片之间还可相互引用数据而并非完全无关。例子可参见 2.1.1 节。3.1.83.1.8灵活快捷的分组汇总灵活快捷的分组汇总润乾报表可简单完成带有多级分组与汇总的普通行式报表,采用单元格分组函数实现分组扩展,没有明显的分组区域,从而在增删分组或改变分组次序时不必象传统报表工具需要重新设计分组区数据表达式。润乾报表独创的主格关联机制决定了统计汇总的围,汇总表达式可以摆放在报表

39、中任何合理的位置(分组上/下边或在分组明细同行合并成一个大格) 。带分组合计的行式报表(设计)润乾报表的分组采用数据集 group 函数完成(A4/B4 格中的表达式),没有传统的分组区域。合计表达式(E5/E6/I4/J4)可以放在任何地方(分组下边或右边) ,由主格关系机制决定其运算围,而不是由位置来控制。还可以实现跨行组的序号大排队(C4格) 。该报表运算结果如下: 31 / 94带分组合计的行式报表(运行)3.1.93.1.9行列对称的扩展机制行列对称的扩展机制润乾报表行列对称设计,无须专门的交叉表模型处理列向变动的报表。多层、分片交叉报表均可轻松实现,并可类似行式报表一样编写自由的汇

40、总运算。多层交叉带汇总报表(设计)上面报表中,A5/B5 格运行纵向扩展,D3/D4 格进行横向扩展,双向扩展后即可形 32 / 94成交叉报表,中间部分的汇总运算仍是自由填写的表达式(其中可引上左/上表头的单元格值) ,而不必象传统工具那样必须是规定好的几种运算,充分体现行列对称的思想。运算结果如下:多层交叉带汇总报表(运行)3.1.103.1.10层次座标层次座标润乾报表发明的层次坐标和位移坐标概念能够对扩展后单元格/集进行命名,从而可以在表达式中精确描述出对其它单元格的引用,完美地解决自由格间运算。有规律的单元格跨行组运算可轻松实现,对于无规则的任意运算,润乾报表还提供类 EXCEL式的

41、格间运算。层次坐标的例子参见 2.1.3 节。 33 / 943.1.113.1.11子报表子报表润乾报表支持不限嵌套层数的子报表功能。子报表分为引入式和嵌入式两种,引入式将子表数据和格式依次填报主表的单元格中,而嵌入式则将整个子表缩放后嵌入到主表的某个单元格中。嵌入式 主报表定义 子报表定义嵌入式子报表运行结果(主子表的格线不对齐) 34 / 94引入式 主报表定义子报表 1子报表 2 子报表 3引入式子报表运行结果(子表延用主表的格线) 35 / 943.1.123.1.12统计图的定义统计图的定义润乾报表的统计图数据来源于报表而非重新再设置数据源,因而也可以支持多表多库的统计图。同一报表

42、可绘制多个统计图,甚至可绘制在分组,随着数据分组一起扩展成多个。统计图数据定义 图形特性定义外观属性定义 时间状态图定义3.1.133.1.13报表参数与宏报表参数与宏润乾报表一般意义的报表参数功能。参数有数据类型,可以用于报表的数据源 36 / 94(SQL 语句)或报表中的运算表达式中。报表参数定义SQL 语句中使用参数除参数外,润乾报表还提供特有的宏。宏没有数据类据,仅是简单地在语句或表达式中替换。例如,可以将 SQL 语句中 SELECT 的列名或 FROM 的表名或 ORDER BY 的方向甚至整句 SQL 语句都作为宏而临时改变,这样将给使用者提供更加灵活的控制方式。举例说明,如果

43、将一个 SQL 语句的 WHERE 条件中100 改成200,可以采用普通意义的参数,但若想将200,则用参数就不可能作到了,但采用宏则可轻易完成。 37 / 94带有参数和宏的报表B2 格带有参数。B6 格中带有宏,可用于替换参数无法完成的报表选出字段。3.1.143.1.14向导与工具向导与工具润乾报表软件提供了强有力的辅助工具,可以帮助用户更方便、更高效地进行报表设计。报表设计向导报表设计向导润乾报表对于简单的行式、分组与交叉报表提供设计向导,用户只需要选择相应的数据表列即可以自动生成出报表。分组报表定义向导 38 / 94交叉报表定义向导(行列定义)交叉报表定义向导(值定义)SQLSQ

44、L 编辑器编辑器润乾报表提供标准 SQL 编辑对话框,用户不必记忆数据库表/字段名称,可直接在SQL 编辑器中选择要操作的数据元素,设计查询、排序条件等。同时润乾报表也支持直接输入 SQL 语句。 39 / 94SQL 语句编辑器(字段选择)SQL 语句编辑器(参数引用)中文语义层中文语义层/ /表达式表达式润乾报表支持中间语义层机制,开发人员可将数据结构事先以业务人员熟悉的术语进行描述,在设计报表时即可直接采用这些语义信息,而不必直接面向物理数据结 40 / 94构。同时,润乾报表还支持中文表达式,如可以写类似 价格*数量 这样的表达式,使报表设计更加通俗易懂。数据表与字段的中文描述定义 字

45、段外观预定义数据集字段中文定义 公式编辑公式编辑/ /函数帮助函数帮助润乾报表提供可视化的表达式编辑对话框,用户不必记忆系统提供的众多函数与 41 / 94需要操作的数据集元素,表达式的大部分都可以简单地用鼠标点击出来,而且对所有系统函数均有详细的在线帮助。公式编辑器函数帮助 42 / 943.23.2 报表展现输出报表展现输出润乾报表不需安装控件,可以实现纯 HTML 报表方式,可以支持 PDF,EXCEL 等输出,提供了全面的页面与打印控制,能很多地满足 Web 报表的展现需要。同时,润乾报表对图表有良好的支持,可以生成柱图、饼图、折线图等二十几种图表。3.2.13.2.1报表元素的外观属

46、性报表元素的外观属性润乾报表对报表元素提供非常丰富的外观属性,计有: 润乾报表单元格外观属性列表字体、字号前景色、背景色,均支持调色板和透明显示边框:类 EXCEL,可设计线型线宽对齐方式:左中右/上中下对齐,自动折行,缩进显示格式:文字、数值、日期时间等数十种风格 43 / 94单元格显示格式定位拉伸:横向扩展表时保证标题居中或居右定位拉伸例子,D2/E2 格设计了定位规则,在 B2 横向扩展时会向右靠拢,结果如下:所有的属性均可用表达式控制。 44 / 94 含有属性表达式的报表 属性中填写的表达式运算结果,不与格的下划线且居中,偶数行是斜体3.2.23.2.2统计图统计图润乾报表支持如下

47、 23 种类型的统计图:柱形图三维柱形图三维簇状柱形图 45 / 94堆积柱形图三维堆积柱形图饼图三维饼图折线图三维折线图区域图三维区域图条形图三维条形图三维簇状条形图堆积条形图散列图时序状态图时间走势图双轴柱线图双轴折线图雷达图甘特图仪表盘针对不同需要,在浏览器上可生成如下三种图片类型GIF:256 色,可透明显示,不失真压缩JPG:真彩色,不可透明,失真压缩PNG:真彩色,可透明,不失真压缩 46 / 94润乾报表的部分统计图 47 / 943.2.33.2.3页面(页面(HTMLHTML)输出)输出润乾报表可在 WEB 上生成标准的纯 HTML 输出格式,对 IE5 和 Netscape

48、7 以与上版本均可支持且效果一致,统计图则完成以纯 HTML 图片形式展现,浏览器端无须事先安装任何插件。润乾报表在 WEB 上的展示,可随意嵌入到网页的任何地方除静态 HTML 外,润乾报表还可生成固定表头(上/左均可)的可滚动报表以与行式分组可伸缩报表,大大方便了用户的使用。 48 / 94浏览器上表头固定可上下左右滚动显示的报表3.2.43.2.4文件输出文件输出除标准 HTML 外,润乾报表还可将报表以文件方式导出,例如:EXCEL润乾报表可输出完全不失真的 EXCEL 文件,报表中的统计图也将嵌入其中,并附带有各种打印属性,生成的 EXCEL 可不作任何调整直接打印而不会丧失格式信息

49、。还可对导出的 EXCEL 进行进一步的加工处理。PDF润乾报表可输出 PDF 文件,报表中的统计图也将嵌入,并附有纸打印信息,结果可直接输出打印。TEXT 49 / 94润乾报表可生成专为金融、邮政等行业字符终端应用服务的带格式文本,报表格线由中文表格符拼出,并可在其中设置 Escape 码,可直接在字符打印机上输出。RAT 文件RAT 文件是润乾报表自有的文件格式,用以保存运算后的报表结果,其中带有统计图、纸打印信息等,可由润乾报表设计器打开查看以实现报表的脱机浏览(不依赖于第三方软件且可在 UNIX 上显示),并可打印或再次输出成上述几种格式的文件。输出的 EXCEL 文件,保持所有格式

50、且能将统计图一并导出 50 / 94输出的 PDF 文件,带有分页信息,并导出了统计图独有的带格式文本输出,可直接输出在字符中终 51 / 943.2.53.2.5分页与分栏分页与分栏润乾报表对报表页面提供了强有力的控制功能:分页方案分页方案可支持按纸大小分页、按行列数分页、强制分页(分组后或固定行列) ;分页方向分页方向支持纵向和横向双方向分页,有上表头、页眉、页脚、左表头等功能。上/左表头信息每页均会合理重复;单元格拆分单元格拆分单一单元格不能被分页拆分,当合并单元格被拆分时可选择其中数据是否也分页断开显示;报表纸与分页属性定义 单元格分页属性定义行分区类型 列分区类型分栏与其它分栏与其它

51、支持横向分栏;支持末页补足空行的操作; 52 / 94分栏输出的报表3.2.63.2.6打印打印润乾报表可通过采用 JavaApplet 的方式实现浏览器中的精确打印,可支持如下功能:一纸多页,实现小票据或卡片式打印,可选择按行排列和按列排列;缩放与定位:打印前的缩放与在纸中的定位控制页码控制,选择不同页码打印打印前可控制是否允许再修改数据 53 / 94打印预览画面,支持一纸多页,可缩放显示3.33.3 数据填报数据填报润乾报表提供基于动态库表关联技术的填报功能,完美解决数据入库的难题,极大提高填报表单的处理效率,扩展了 Web 报表工具的应用方式。3.3.13.3.1编辑风格编辑风格润乾报

52、表在浏览器端采用纯 HTML 填写方案,可提供如下编辑风格:文字编辑框下拉列表框:下拉项目为固定容下拉数据框:下拉项目来自数据表,可带检索条件复选框下拉日历下拉树:树结点可来自于数据表,并可自动循环 54 / 94文件/图片上载支持的编辑风格 下拉数据表上载文件编辑 下拉树编辑3.3.23.3.2填写控制填写控制在填报过程中,可以进行严格的填写控制,包括:可填写控制:该单元格是否可以填写,可能属性表达式控制自动计算:某些单元格是由其它单元格运算而成的,当基础单元格的数据被修改时,目标单元格的数据自动跟随改变,计算公式在设计时设定好合法性检查:考察数据填写是否合理,某单元格的数据类型是否匹配(如

53、在数字格中填入了非数字字符),单元格之间必须满足的数据校验关系(如某 55 / 94格的数据必须大于另一格的数据);对于输入错误的数据,系统会给出事先设置好的提示信息并定位出有错单元格方便输入者修改错误;合法性检查有两种:1)即时检查:填写当前格,输入焦点离开该格时进行检查,若校验不满足则不得离开焦点2)提交检查:全部填完后在提交数据前进行检查,校验不满足则不得提交设计者还可以设置校验不满足时的提示信息,以提示用户出错的原因。自动计算定义 合法性检查定义多页填写:润乾报表提供了多页填报 taglib,当要填写容很多时,可以组织成多个 tab 式的页面一齐填写,在 JSP 中可以设定多页表单之间

54、的填写控制关系。 56 / 94多页填报与相关的合法性检查(跨页)3.3.33.3.3数据导入与离线编辑数据导入与离线编辑润乾报表还可支持离线填报和批量导入数据的能力:离线填报离线填报润乾报表生成的 HTML 表单可下载成本地文件中,其中保留了 JavaScript 代码,因此所有的填写控制均依然有效。用户直接用浏览器打开这些离线 HTML 即可继续填写数据,填写过程中可以多次保存而不必与服务器有网络连接,填写完成后再联机上传即可将数据提交到服务器的数据库中。离线填报还可以采用导出或用户自行绘制的 EXCEL 文件进行,只要报表格式一致即可将 EXCEL 数据引入报表中,这使得许多已采用 EX

55、CEL 填写数据的业务系统切换到润乾报表非常容易。批量导入批量导入离线用的 HTML(或 EXCEL)也可不是从浏览器下载而成,而由报表服务器批量生成并采用某种方式(EMAIL、软盘等)分发给填报人,由填报人填好后再收集回来。润乾报表支持文件导入功能,可将收集回的报表批量导入到数据库中。 57 / 94离线填写(仍可带有合法性检查关系)3.3.43.3.4库表关联库表关联润乾报表支持如下三种基本填报表样:自由式表格:整表对应一条记录,各字段分布在多个无规律的单元格中,如人员的基本情况表;行(列)式表格:数据区每行(列)对应一条记录,如人员的履历表,记录的某些字段(一般是主索引码的一部分)会在行

56、外,如人员履历表中的人员编号,这是最常见的表格式样;设计时只要设置一行(列)的数据库对应属性,其它行(列)会由系统自动扩展。交叉式表格:数据区每格对应一条记录,如学生课程成绩表,左边是学生,上边是课程,数据区是成绩;设计时只要设置一格的数据库对应属性,其它格会由系统自动扩展生成。润乾报表同时支持以上三种表样的混合,如一填报表的上半部分是自由式表格、下半部分是行式表格。还可以是更复杂的多页混合的填报表单。一个单元格的数据可以同时写入多个数据表,并且与其数据来源无关,从而可以很方便地实现汇总填报。 58 / 94润乾报表更新属性定义3.3.53.3.5数据写入数据写入润乾报表支持同一填写表单同时写

57、入多个数据表/多条记录的情况,填报服务程序会利用数据库事务功能保证其一致性。在设计表单模板时建立了数据库字段与表单单元格之间的对应关系。服务器会根据对应关系生成 SQL 语句。程序会自动决定生成 UPDATE 还是 INSERT 语句,同时会自动判断数据库的类型,在 SQL 语句中添加相关的数据类型转换函数(如在 ORACLE 中的日期常数要加 TO_DATE,而 SQL Server 则是 CONVERT) 。示意图可参见 2.2.3 节。3.43.4 交互与交互与 OLAPOLAP润乾报表提供了强有力的交互能力和分析能力,能够支持用户进行 OLAP 分析。3.4.13.4.1灵活定义的查询

58、和参数功能灵活定义的查询和参数功能在很多情况下,用户需要通过输入条件,对数据进行查询,并灵活控制显示的数 59 / 94据围。润乾报表通过参数模板的功能,可以非常灵活地定义各种查询界面和查询条件,由用户方便地输入查询条件,交互式地控制报表的容和形式。实际上,影响一个报表的参数可能有很多项,其中部分参数是应用系统或环境的基本信息,不应当再由用户输入,如当前登录的用户角色、当天的日期等。无须输入的参数被称之为系统参数,对应的需要输入的称为用户参数。润乾报表提供了强有力的参数处理机制,可以分别对待处理这两类不同情况的参数。润乾报表支持如下四种参数机制:缺省参数界面润乾报表将根据报表的参数信息自动生成

59、一个非常简单的参数输入界面,直接在 taglib 中配置就可以选择是否出现该界面。该界面不能区分系统参数和用户参数,它将报表的所有参数都罗列出来,而且也只能提供最简单的文字输入方案,不能做出下拉选择等效果。一般这种参数方式都是用于报表测试的,因其业务色彩太过薄弱,在实际应用中很少使用。自写参数界面由应用程序员为每个报表专门编写参数输入界面(.JSP) ,将输入后的用户参数配合上系统参数设置到报表服务器,可以直接调用服务器的 API 设置,也可以在 taglib 的属性中设置。自写参数可以让程序员对报表查询有最深入的控制力度,如可在某个参数输入完成后立即引起页面的变动而不必等所有参数全部输入完毕

60、、某些参数的选值围可能被别一些参数过滤等。这样可以造出更好的交互式效果,但相应的工作量也较繁琐。绘制参数界面润乾报表提供可绘制的参数界面。系统设计了一个专门的参数面板taglib,可发布由用户进行参数填写的界面,其中可以支持象下拉选择等任何编辑风格与填写控制方案。报表设计时并不涉与其参数界面,一个报表可以有多种参数输入界面。参数界面是自行绘制的(利用报表设计器画) ,可以只涉与用户参数。一般在页 60 / 94面程序(.JSP)中将参数界面与报表展现配合起来,并且在这里将系统参数与用户参数配合起来提交给报表服务器。与自写参数界面相比,绘制参数的方案可以省去许多编写页面程序(.JSP)的工作量,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论