润乾报表技术白皮书.doc_第1页
润乾报表技术白皮书.doc_第2页
润乾报表技术白皮书.doc_第3页
润乾报表技术白皮书.doc_第4页
润乾报表技术白皮书.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

润乾报表一、产品概述21模块结构22运行环境2二、绘制方案21基本方案22传统工具对比33套打4三、数据模型41报表特点分析42数据源53简单报表54交叉报表65分片报表76跨行组运算87子报表98参数与宏10四、展现输出101单元格属性102统计图113输出格式114打印控制13五、特色填报131填写控制132数据模型143应用方案15六、其它功能151参数面板152语义层与表达式输入163调度器164交互能力16七、集成讨论161支持方案162J2EE集成173集成对比17八、性能分析181运算性能182其它性能问题18一、 产品概述润乾报表是用于统计报表制作及数据填报的大型企业级工具软件。产品首次成功解决了报表单元格与关系数据库之间的弱关联规律性,特别适合于复杂中国报表的统计和填报,真正做到零编码制作报表,其制表效率十倍于以国外产品为代表的传统报表工具。北京润乾软件技术有限公司拥有润乾报表软件产品的完全知识产权,并在其中首创了适合于中国报表统计和填报的理论模型,功能和性能都居世界领先地位,全面超越国外同类产品。1 模块结构润乾报表物理上由三个部分构成: 报表设计器:设计编辑报表,自带报表运算引擎,连接数据库后可预览打印报表,并可生成其它格式保存。设计器不依赖于其它部分,可独立工作; 报表服务器:在后台提供统计报表运算和数据填报处理的服务,开放各层次的API接口调用,由程序员调用生成结果报表;服务器运行不依赖设计器; 报表调度器:作为服务程序运行,在设定的时刻自动计算报表并将结果保存或推送到指定的目标;调度器运行依赖服务器;2 运行环境润乾报表采用纯JAVA开发,报表设计器使用了swing图形类包,要求JDK1.4.2以上;服务器和调度器要求JDK1.3.1以上。产品可以在所有支持上述JDK环境的操作系统下运行,如Windows系列、Linux、Solaris、AIX、HPUX等。支持所有有JDBC接口的关系数据库,如Oracle、MS SQL Server、Sybase SQL Server、IBM DB2、IBM Informix等。支持所有基于J2EE机制的Web服务器,如Tomcat、Resin、BEA WebLogic、IBM WebSphere、Oracle Application Server、SunOne等。在前端浏览器采用纯HTML,精确打印需要Java Applet,浏览器端无须安装任何控件,IE5及Netscape7以上均支持且效果一致。二、 绘制方案1 基本方案润乾报表采用类EXCEL的网格式编辑方案,通过合并格与边框设置组织出报表样式。润乾报表还可以读入EXCEL绘制好的表样,包括其中的数据和格式。2 传统工具对比传统工具一般采用控件式绘制报表。表格是由多个矩形或线段拼合而成,中国报表均要求有整齐的格线,因此其中矩形和线段要精确对齐,其麻烦程度可想而知。当表较宽时,常常顾左不顾右;多层表头的绘制和修改非常繁琐;而且由于坐标系统的规则,对齐与否与分辨率相关,在屏幕上画整齐的报表在打印机或网页展现时又对不齐;大多数传统工具导出到EXCEL时只能写出数据,丧失格式信息,而个别制作精细者能保持格式,也将严重依赖于对齐程度,稍有不齐就会导致一行变多行而无法继续使用,而几乎所有用户都有要导出成EXCEL的要求。采用EXCEL式的绘表方式不仅效率高,绘制效率比传统工具提高10倍以上。而且理论上就不存在对不齐的问题,导出到EXCEL可以完全不失真。3 套打润乾报表采用底图描绘的方案支持票据套打。将票据按1:1的比例扫描成图片贴作报表的底图,然后对着描绘表样,比传统的用尺子度量尺寸后再在报表工具中设置的方案效率提高许多。三、 数据模型独创的数据统计模型是润乾报表中最精彩的部分!1 报表特点分析中国报表中的数据普遍具有如下特征: 多源:一张报表的数据来自多个数据表,很难用一句SQL写出,甚至多个不同的异构数据库; 分片:报表分成多片,每片规则不同,没有一套作用于整个报表的规则,并列分组或列表(行列方向均可能有)非常常见; 不完全划分:分类时不完全,固定格式报表很常见; 格间运算复杂:格间运算非常随意,跨行跨组运行极为常见; 列向变动:要求行列对称,列方向变动的交叉表很多;而对应地,传统报表工具的数据模型则有如下严重缺陷: 单源:报表数据都必须用一句SQL语句写出(或存储过程),在报表处理端都是单一的二维数据集; 整表单一规则:整表只能有一片可重复区域,不能并列和分片; 完全划分:分类只能是完全划分,固定行报表制作困难; 跨行组运算简单:只有行间运算或全组汇总,个别工具提供简单跨行运算,跨组运算均不支持,独立格运算也非常困难; 行列不对称:列方向变动困难,只能制作有强烈规律的交叉报表;传统报表工具的这些设计缺陷导致制作报表非常困难,有相当一部分报表必须借助程序代码才能完成,个别样式复杂的报表完全无法完成。润乾报表解决了上述所有问题!2 数据源润乾报表支持多数据源,同一张报表的数据可以来自多个数据集(SQL语句计算出来的二维表),每个数据集可以来自不同的异构数据库。 3 简单报表最简单的行式列表,各种工具制作起来都比较容易。行式分组报表中可带各组小计,常见工具都能完成。但润乾报表更为简单。数据区只需要一行就可完成。增加分组只要加一列写上分组运算,删除每组也只要删除该列,更换组序只要更换两个分组格的位置。而传统工具分组时会造出多条区域,操作繁琐且不直观。4 交叉报表简单交叉报表,比传统工具直观且有更强的控制度。与传统工具不同,润乾报表的交叉表制作无须专门的处理模型,可与其它表一起处理。只要写出向下和向右扩展的表头及中间的表达式即可自动完成,而且可以保证表头某些部分随着报表的扩展而向右靠拢以保持整表的美观,而传统工具的表头都是固定的。多层交叉的报表也很容易完成。作为规则的多层交叉报表,传统工具一般也能够完成。但这张报表同时还是多源报表,每层表头和中间的明细数据各来自一个物理数据表,用传统工具实现必须进行五个表的外连接叉乘,SQL很复杂而且运算效率极低;而用润乾报表则只要写五句简单的SQL,两两叉乘运算,不仅简单而且效率高。5 分片报表这种上下分片(两片分层数都不同)报表就是传统工具的致命缺陷了,编程也完成不了,而润乾报表完成起来则非常容易且很直观。左右分片也是一样的困难,这个表列方向有两片并列的变动区域,在传统工具中必须编程动态加列才能实现,而润乾报表则非常轻松。而事实上,中国报表很少只分两片的,常常会分成七八片甚至十几片,而且横向纵向同时分片,润乾报表处理这种困难的报表有得天独厚的优势。6 跨行组运算传统工具中一般只有行内运算和针对全组的跨行运算,计算比上期和同期比非常困难,常常都要编程准备数据才能完成。而润乾报表发明的层次坐标和位移坐标概念能够非常完美地解决这一部分,使有规律的单元格跨行组引用非常简单。而对于毫无规则的任意运算,润乾报表还提供类EXCEL式的格间运算,这也是传统工具无法比拟的优势。除了很规则的跨行组运算外,这种月份不连续需要靠条件表达式引用的运算也可以支持。7 子报表事实上,常规意义下的主从表在润乾报表中并不需要子报表的概念即可完成。子报表会导致主子表数据沟通不畅、分布布局不便等问题,原则上应当尽量使用。当然,润乾报表也支持子报表,可以是引入式(将数据和格式依次填入主表的单元格)和嵌入式(将整个子表压缩或拉伸后嵌入到主表的单元格中)。8 参数与宏所有的报表工具都提供有报表参数的功能,润乾报表也不例外。参数有数据类型,可以用于报表的数据源(SQL语句)或报表中的运算表达式中。除了一般意义的参数外,润乾报表还提供传统工具所没有的宏,宏没有数据类据,仅是简单地在语句或表达式中替换。例如,可以将SQL语句中SELECT的列名或FROM的表名或ORDER BY的方向甚至整句SQL语句都作为宏而临时改变,这样将给使用者提供更加灵活的控制方式。举例说明,如果将一个SQL语句的WHERE条件中100改成200,可以采用普通意义的参数,但若想将200,则用参数就不可能作到了,但采用宏则可轻易完成。四、 展现输出1 单元格属性润乾报表提供了类似EXCEL的单元格展现属性。 常见的显示格式:如浮点数保留几位小数、是否写分节号、是否写成百分数、日期数据的年月日次序等; 代码值与显示值的对应:可以是固定枚举列表,也可以是数据库中的字典表对应; 属性表达式支持:所有的属性都可以是常数值或计算表达式两种,可由单元格(或其相邻格)的数值决定该格的颜色、内容、是否可见等属性;如小于0的数显示成红色,否则是黑色; 超链接:所有单元格都可以设置一个超链接,用其自己或周边单元格的值作为参数,一般可指向另一张报表以实现钻取的效果; 单元格中斜线; 单元格中图片:可以是固定的图片或是图片字段(来自数据库); 其它外观:自动换行、缩进、输出到EXCEL自动缩小字体等;2 统计图润乾报表提供了丰富多彩的统计图,涉及饼图、柱图和线图,二维、三维均有共近20种。统计图的数据是来自表内的,由于润乾报表是支持多源(多库),则其中的统计图也可以多源(多库)。统计图有数十种选项,颜色序列、度量单位、标题字体均可设置。润乾报表支持一表多图;在网页上完全是纯图片,无须任何控件;提供网页上常用的JPG、GIF和PNG三种格式,特别是PNG格式可以制作美观透明的统计图。大多数传统工具均不支持些格式,有些工具甚至还需要ActiveX控件才能展示统计图。润乾报表还允许在统计图的图例上加上超链接,这样在统计图上也可以实现钻取的效果。3 输出格式润乾报表提供多种不失真的输出格式: HTML格式:润乾报表可生成纯HTML的表格,采用标准的标签完成,未使用特殊的定位功能,因此在IE和Netscape下均可以正常工作; PDF:润乾报表生成的PDF文件不会失真,采用服务器操作系统的字体,即使在UNIX下也可以正常生成不带字库的PDF文件,控制PDF文件的大小,保证了在WEB环境下的可用性;而传统工具在UNIX环境下生成的PDF常常不能显示中文(未带字库)或文件太大(把字库绑进文件中); EXCEL:由于润乾报表的展现模型与EXCEL完全一样,因此可以完全不失真地导出到EXCEL,数据和统计图均可导出,保证格式信息也不丢失,同时把分页信息也传递进来,可以直接打印输出。而传统工具的控件式绘制方式常常只能导出数据,格式信息很难不失真保留; TEXT:润乾报表可以生成用表格符拼接而成的字符报表,并可自由配置ESCAPE码,特别可以应用于银行字符终端打印,传统工具都只能支持图形化界面和打印,生成的文本文件只有数据而完全丧失格式,润乾报表是唯一可提供这种输出方案的报表工具;4 打印控制润乾报表提供强大丰富的打印控制,由服务器端控制分页,支持按行数和按纸张大小分页,也可以强制分页(如每个分组分一次页),分页时表头会重复;除了纵向的分页能力外,润乾报表还支持横向分页,有左表头的概念,横向分页时左表头也会重复,还对窄表提供横向分栏的功能,而传统工具一般都没有横向处理的能力。一般的打印可以直接使用HTML或输出成EXCEL/PDF进行,更精确的打印控制需要采用JavaApplet进行。润乾报表提供了精确度量机制、一纸多页(小票据的打印)、打印前修改数据、缩放、补足空行等功能。五、 特色填报除了强大的统计汇总功能外,润乾报表还提供了丰富实用数据填报功能。而填报能力在国内的应用中是非常常见的,而传统工具完全不支持填报能力。1 填写控制润乾报表的填报表提供了丰富的填写控制,在HTML中根据设计的规则生成相应的JavaScript代码实现。l 可填控制:某单元格是否可以填写(或被修改)l 编辑风格:单元格的编辑方式,目前支持如下几种 文字编辑框,密码编辑框 复选框 下拉选择框,下拉内容可以是常数序列,也可以是来自数据库的列表 图片或文件的上载l 自动计算:某些单元格是由其它单元格运算而成的,当基础单元格的数据被修改时,目标单元格的数据自动跟随改变,计算公式在设计时设定好l 合法性检查:考察数据填写是否合理,某单元格的数据类型是否匹配(如在数字格中填入了非数字字符),单元格之间必须满足的数据校验关系(如某格的数据必须大于另一格的数据);合法性检查有两种: 即时检查:填写当前格,输入焦点离开该格时进行检查,若校验不满足则不得离开焦点 提交检查:全部填完后在提交数据前进行检查,校验不满足则不得提交设计者还可以设置校验不满足时的提示信息,以提示用户出错的原因。2 数据模型润乾报表支持如下三种基本填报表样:l 自由式表格:整表对应一条记录,各字段分布在多个无规律的单元格中,如人员的基本情况表;l 行(列)式表格:数据区每行(列)对应一条记录,如人员的履历表,记录的某些字段(一般是主索引码的一部分)会在行外,如人员履历表中的人员编号,这是最常见的表格式样;l 交叉式表格:数据区每格对应一条记录,如学生课程成绩表,左边是学生,上边是课程,数据区是成绩;润乾报表同时支持以上三种表样的混合,如一张填报表的上半部分是自由式表格、下半部分是行式表格。还可以是更复杂的多页混合的填报表单。表单数据可以对应数据库中的多个数据表,系统根据要求生成多条SQL语句组成一个事务提交给数据库执行,这样可保证整表数据的一致性。特别地,还允许同一张表单对应不同的多个数据库(如同一张表的不同部分要向不同主管部门的数据库分别提交)。在设计表单模板时建立了数据库字段与表单单元格之间的对应关系。服务器会根据对应关系生成SQL语句。程序会自动决定生成UPDATE还是INSERT语句,同时会自动判断数据库的类型,在SQL语句中添加相关的数据类型转换函数(如在ORACLE中的日期常数要加TO_DATE,而SQL Server则是CONVERT)。3 应用方案除联机填报外,润乾报表还支持离线填报、批量导入及汇总填报等多种应用方案。l 离线填报润乾报表生成的HTML表单可下载成本地文件中,其中保留了JavaScript代码,因此所有的填写控制均依然有效。用户直接用浏览器打开这些离线HTML即可继续填写数据,填写过程中可以多次保存而不必与服务器有网络连接,填写完成后再联机上传即可将数据提交到服务器的数据库中。离线填报也可以采用导出或用户自行绘制的EXCEL文件进行。l 批量导入离线用的HTML(或EXCEL)也可不是从浏览器下载而成,而由报表服务器批量生成并采用某种方式(EMAIL、软盘等)分发给填报人,由填报人填好后再收集回来。润乾报表支持批量数据文件导入的功能,配合调度器,可将收集回的报表批量分析将其数据导入到数据库中。l 汇总填报润乾报表的填报表首先是一个统计汇总表,然后再在其上定义填报属性。统计汇总的数据来源可以和填报的数据目标可以是没有任何关系的,两者可以分别来自完全不同的一些数据表,甚至是不同的数据库!系统可从某数据库(表)中汇总出一个统计表,然后发布出来填写,用户修改统计结果或填入一些原统计结果中没有的信息,然后再写入另一数据库中。若汇总出来的统计表中没有可填写的项目,则可用作汇总数据的合法性检查,在提交检查时,系统并不关心是否有信息被填写过,而只是简单地在表格中应用各项合法性检查规则,这样,可以在统计报表上定义一些规则用以检查从各个口径下统计上来的数据是否有误。六、 其它功能1 参数面板润乾报表提供两种参数输入界面:l 缺省参数界面润乾报表根据报表的参数信息自动生成一个非常简单的参数输入界面。该界面报表所有参数都罗列出来,且只提供最简单的文字输入方案,不能做出下拉选择等效果。因使用非常简单,这种方式一般都用于报表测试的。l 绘制参数界面可绘制的参数界面是利用填报表单完成的。润乾报表可将填报表单发布成参数填写的界面,其中可以支持下拉选择等填报表单中可以支持任何编辑风格与填写控制方案。绘制参数的方案可省去许多编写页面程序的工作量,也能获得很友好的输入界面,且也较易于维护。2 语义层与表达式输入润乾报表提供中间语义层的描述,用户可以将数据库中的表(或逻辑视图)描述成业务人员更加习惯理解的术语,制表时可以直接采用这些术语构造数据集和表达式(可以用中文表达式,如价格*数量),进一步降低人员的应用水平,使业务人员也能某种程度地参与到报表制作中来。润乾报表为简单的报表提供了向导,用户可以不用输写表达式即可制作出简单的行式、分组(多层)、交叉(多层)的报表。表达式的输入均提供了对话框供选择其中的数据元,用户不必记忆视图与其中字段的名称。3 调度器润乾报表调度器用于离线批量运算报表。 多种时间方案,支持相对与绝对时刻,如每周某日,每月某日某时等; 参数循环机制,自动遍历所有参数,全面生成报表; 自动保存到文件系统,按规则创建子目录; 提供FTP和EMAIL推送功能,按规则将生成的报到分发出去; WEB方式的任务管理界面,提供程序接口可再编程;4 交互能力润乾报表在页面上提供两种简单的交互能力。 链接钻取润乾报表的所有单元格和统计图的图例上都可以加上超链接,且可以引当前单元格的值和统计图图例对应值作为超链接的参数。这样,可以将几张事先做好的报表通过链接参数串到一起,在网页上制作出钻取的效果。 收缩展开润乾报表生成的行向多层统计报表可以在网页上动态展开收缩(由于HTML的限制,列方向目前无法提供此项功能),类似一般的树状结构,用户可以自由选择展开到哪些项目和展到哪一层次。也可以表现出动态钻取聚集的效果。七、 集成讨论1 支持方案易集成性是非常重要的指标。若难以集成,再好的报表工具都很大程度地失去意义。润乾报表专为集成而设计,有非常好的集成性的,而且运行环境非常简单,只要有JDK即可工作,可与应用非常紧密的集成,轻易部署在各种操作系统下。润乾报表支持多种应用方式,服务器可被多种不同类型的应用集成: 基于J2EE的WEB应用; 非J2EE机制的WEB应用; UNIX下的C/C+程序及字符终端; Windows下的图形程序; Java Application和Java Applet;除运算程序外,润乾报表的设计器也可以在某种程度被集成,可以采用外置的数据语义层定义和数据源,在报表绘制和预览时不必直接面对物理数据库,而是基于应用程序员设计好的一套逻辑数据视图。2 J2EE集成J2EE机制是最常见的WEB应用方式,润乾报表对这种应用有最好的集成性。在J2EE机制下,润乾报表在物理上并没有独立的服务器,而是作为应用服务器的一个应用,甚至一个JAR包提交给应用程序员,这样可以和应用最紧密的无缝结合,信息传递不必通过网络协议,达到最高的运行效率,而且应用非常简单,只要直接调用类的方法即可,和自己编写的程序地位一致,可以非常深入地控制,也无须专门准备环境。同时,应用服务器的各项强大功能都可以在报表服务器中得到充分利用,如共享数据库连接池、应用服务器平衡负载的集群能力、和应用一起打成一个WAR包进行一致的应用部署等。润乾报表提供丰富的API,允许程序员更换数据源(数据不来自数据库,如采用自定义文件数据源或程序数据源),更换连接管理(应用程序自行管理连接池),修改属性,自行处理结果等。3 集成对比相比之下,以国外产品为代表的传统报表工具均采用独立服务器的机制,这种方式的应用集成性有非常巨大的困难。首先,与应用程序沟通要通过网络协议,严重影响性能,调用方式复杂,控制力度太弱,如不太可能通过程序修改报表,只能作报表设计器。其次,这些独立服务器常常都有自己的一套用户和权限管理机制,常常很复杂但却永远也不能和应用程序的机制吻合,从来不会够用;但却迫使应用程序要向这些机制靠拢,无端浪费工作量且制造混乱。另外,独立服务器无法享受应用服务器的强大功能,数据连接池无法共享统一管理、无法利用应用服务器的平衡负载能力而只能自己集群,但无法想像报表服务器的集群能力会超过应用服务器、报表也不能和

温馨提示

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

评论

0/150

提交评论