润乾报表技术白皮书开发版_第1页
润乾报表技术白皮书开发版_第2页
润乾报表技术白皮书开发版_第3页
润乾报表技术白皮书开发版_第4页
润乾报表技术白皮书开发版_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

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

文档简介

1、目录第 1 章总体说明7软件概述71架构图723. 8第 2 章功能特点12报表设计1211)类 Excel 的报表设计方式132)单元格类型163)套打绘制及相关功能174)多数据源185)内建数据集196)表达式与函数207)分片混合扩展与相关. 208)灵活快捷的分组汇总219)行列对称的扩展机制21层次座标2210)子报表2211)统计图的定义2312)报表参数与宏2513)向导与工具2614)报表服务器2921)报表展现输出292)多源关联报表383增强统计套件434前端交互套件491)OLAP 分析组件492)通用. 563)Flash 统计图57报表设计器583)高级填报套件58

2、5多数据源表单填报581)编辑风格622)填写3). 64行式填报654)Excel 方式及 HTML 方式的离线填报655)报表组方式填报656)即表套件666数据集选取671)条件设置682)报表设计及部署693)报表风格704)报表展现705)调度套件7171)任务管理与触发722)参数循环733)分发. 738集算器错误!未定义书签。1)继承并完善关系表模型错误!未定义书签。2)分步执行的直观网格代码错误!未定义书签。3)集合数据类型及运算支持错误!未定义书签。4)有序集合及计算错误!未定义书签。及集合.错误!未定义书签。5)6)关联计算错误!未定义书签。第 3 章部署与应用方案96报

3、表设计模式9611)本地设计(应用)962)集成()设计97报表应用部署方式992J2EE 的 B/S 应用991)非 J2EE 的B/S 应用1002)Windows 下的 GUI 应用1003)4)Java Application101数据报送应用方式10131)联机填报1022)脱机填报102支持环境1044第 4 章性能指标与. 106性能分析10611)决定运算速度的关键1062)并发数量1072实测指标1071)容量1072)响应1083)并发108第 5 章集成接口108数据源10811)JDBC108数据文件和自定义数据源1082)2JAVA API1091)数据源与连接池11

4、02)运算与展现1103)报表模板111前端接口11131)JSP/HTML111ActiveX 与 DLL1122)设计器接口11341)模板文件. 1132)自定义函数登记113第 6 章 特点与优势总结1141非线性报表模型1142全面的细节优化1143纯 JAVA 报表软件1154丰富的API 接口1155强的填报功能1166开放的系统1257可靠的本土支持125润乾报表是用于报表制作及数据填报的大型企业级报表软件,它提供了高效的报表设计方案、强大的报表展现能力、灵活的部署机制,并且具备强的填报功能,配合以全面的用户权限管理、报表调度功能和交互功能,为企业级统计分析、展现提供了高性能、

5、高效率的报表系统解决方案。润乾报表软件的特点在于开创性地提出了非线性报表数学模型,采用了性的多源关联分片、不规则分组、自由格间运算、行列对称等技术,使得复杂报表的设计简单化,以往难以实现的报表可以轻松实现,避免了大量的复杂 SQL 编写与前期数据准备,报表设计的效率提高了一个数量级。润乾报表是一个纯 Java 报表工具,提供了全面的 API 接口,是开发 Web 报表软件的理想选择。Java 报表工具的跨平台特性,使得它能很好地支持大型系统的需要。润乾报表不需安装控件,采用标准的纯 HTML 的Web 报表,支持 ie、netscape 等多种浏览器,可以支持 PDF,Excel 等输出,提供

6、了全面的页面与打印,并且能够满足 Web 报表的多种展现需要。同时,润乾报表对图表有良好的支持,可以生成柱图、饼图、折线图、雷达图、甘特图、双轴柱线图等三十几种图表。润乾报表提供基于动态库表关联技术的填报功能,完美解决数据入库的难题,极大提高填报表的处理效率,扩展了 Web 报表工具的应用方式。润乾报表提供了调度器模块,可以实现定时、批量等报表自动处理和报表的自动分发。润乾报表还提供了一款新型的计算处理工具润乾集算器,主要批量的结构化数据,具有快捷高效的统计、数据准备、数据整理能力。2架构图1软件概述第1章总体说明总体架构图润乾报表由报表模板设计工具润乾报表设计器和一系列的功能组件组成,润乾报

7、表的各项功能都被封装在各个的功能组件中,组件之间可以无缝拼合,方便挂接和拆卸,灵活的组件组装机制可以保证按照客户企业需要量身订制解决方案,同时,也为将来功能升级带来方便。报表设计器设计编辑报表模板,自带报表运算引擎,连接数据库后可预览打印报表,可导出以其它格式保存。报表设计器可工作,以 Java 应用程序(JavaApplication)的形式提交。组件功能开发版设计器无 RAT 输出;无导出/打印标准版设计器RAT 输出,RAT 文件是润乾报表的一种文件格式,输出RAT 文件报表的运算结果。导出/打印,在设计器中可以直接导出为 Excel、Word、Pdf、Html、Txt 以及 Xml 文

8、件,在设计器中可以直接打印报表。31) 概述集算器是一款用于数据计算的工具软件,特别适合于批量的结构化数据计算,即关系数据库中的数据。与编程工具的工作机制类似,用户用其特有的语言编写计算代码,再由集算器解释执行以达到计算目标。集算器的语言称为集算语言,集算语言中提供了变量、数组以及循环、分支等机制,可以完成绝大多数常规程序逻辑。从这个意义上讲,集算器也可以看作是一种程序设计工具。集算器的面向用户是需要做复杂数据计算的开发。相对于业界流行的 SQL(包括过程)和高级语言(如 JAVA、C#等),采用集算语言编写数据计算逻辑将更加简捷高效,可以极大地降低计算繁琐度并提高实施效率。2) 应用场景集算

9、器的应用场景主要在如下三个方面:l统计应用数据库经过多年积累,已有蕴含了大量决策支持信息,但这些信息经常并不能简单地取出来,需要经过多步骤的复杂计算才能得到。如:4集算器基本说明开发版服务器多源关联报表,可以同时多数据源中的数据,并对其进行相互关联计算。开发版增强统计套件非线性增强算法模块,提供除多源关联之外的其他非线性功能,如增强函数、枚举分组、动态格间计算等。开发版前端交互套件OLAP 分析组件通用面板Flash 统计图报表设计器(WEB 端启动方式)开发版即表套件即表,相当于一个 WEB 端的、纯HTML 方式的报表向导。开发版高级填报套件多数据源表单填报Excel 方式及 HTML 方

10、式的离线填报报表组方式填报开发版调度套件报表调度器及填报调度器Ø一内连续三天涨停的股票Ø当年销售额占在一半的前n 个客户Ø指定时段内更换过销售代表后的客户的销售额增长(或降低)率Ø显然,这些问题都是决策者会感的,而且只要支付足够的时间和技术成本,这些信息都可以从数据库中计算出来,但实施起来并不轻松。l数据准备数据库的结构不可能对任何业务需求都足够方便,某些临时的业务需求(特别是报表制作)经常不能直接使用数据库中的数据,需要经过一系列复杂的准备工作(也就是数据计算)才具有可用性。l数据整理同上的,某些业务模块的数据不适合其它业务模块,需要定期进行统计整理后

11、以另一种结构存入数据库中才可以方便后续业务模块使用。3) 产生背景当前完成上述数据计算的方案主要是有两种:一是采用 SQL(或 MDX 包括过程)等结构化语言,二是采用高级语言(如 JAVA、C#、C+)。SQL 提供了完备的批量结构化数据计算能力,但由于支持层面过低,导致书写十分繁琐。具体体现在如下四个方面:1)缺乏步骤化:SQL 要求计算在一个语句内写出,必须采用繁琐的过程才能实施分步计算。不分步不仅造成思维,而且无法利用已有的中间结果;2)缺乏集合数据类型:SQL 没有显式的集合数据类型,只能采用临时表这种成本高昂且理解的方式保持中间集合结果。3)缺乏次序计算:SQL 不直接提供次序的计

12、算支持,次序相关的计算(如排名、比上期)都需要繁琐的转换才能实施。4)缺乏对象机制:SQL 不支持及其集合的,数据表间的关联采用同值外键方案,多表计算时需要做连接,不仅理解而且效率低下。开发完成一个数据计算的过程,也就是将解决思路翻译成计算机可以理解的形式化语言的过程。而 SQL 的上述问题,使得形式化解答的难度要远远超过解决问题本身。除了上述的 2)(只有简单的数组),现代高级语言没有 SQL 的其它缺点。但高级语言对于批量结构化数据的计算支持很弱,缺乏业内标准的组件或类库,一个简单的过滤或分组计算都需要编写大量代码,应用时仍然很。4) 理论基础SQL 的上述弱点,集算器发展了作为 SQL

13、的理论基础的关系代数模型,提出了新一代离散数据集模型理论,完整地解决了 SQL 的:l步骤化将计算分解成多个简单的步骤执行,后面步骤可前面计算的中间结果。l集合运算提供显式的集合运算功能,如交、并、差等,集合作为某种对象可被并直接参与计算,而不必间接地靠选出条件的拼接来完成集合的运算。l有序集合与关系代数中的集合不同,提供有序集合的概念和相关运算。l对象将(即结构化的数据)直接作为对象和,选出数据时只要将对象起来而不必对象内容本身;数据之间的关系可以直接以对象的方法建立,而不必基于外键。需要指出的是,SQL 的这四个并非存在,而是互为条件的。有了集合数据对象,才可能更好地分步计算,而对象又能使

14、集合数据更灵活,。要克服这些,需要统一设计一致的计算体系,而不是简单地逐个修补。5) 技术体系集算器采用 JAVA 开发,要求 JDK1.4 或以上版本,可运行在各种支持 JAVA 的操作系统中。集算器支持有 JDBC 接口的各种关系数据库。模块结构如下:集算设计器:用于编写集算程序(即代码)的集成环境,可连接数据源现场执行、调试代码并查看计算结果。集算服务器:用于解释执行集算程序完成数据计算和整理,可被集成到宿主应用程序中。集算服务器以 jar 包形式提交,可以无缝地集成在任何基于 J2EE 架构的应用程序中。特别地,可以与润乾报表 4.x 集成,以用作报表数据源。1报表设计第2章功能特点1

15、)类 EXCEL 的报表设计方式类 EXCEL 的编辑润乾报表采用类 Excel 的方式进行报表的绘制和编辑,如下图:润乾报表主编辑界面采用类Excel 的可视化网格式编辑方案,不仅可以以可所见即所得的方式绘制出复杂表样,而且可免去使用传统控件拖拽式编辑时对齐数据项的繁琐,在保证格式整齐美观的同时大幅提高绘制效率,避免打印与显示因分辨率不一致而出现的失真现象。另外,熟悉 Excel 使用的相当多,类Excel 的报表设计方式显然更易于报表绘制工作的上手。这种方案已逐步成为报表样式绘制方案的主流。类 Excel 的单元格组织机制导入 EXCEL 文件直接用设计器打开 excel 文件:润乾报表可

16、直接打开用 Excel 绘制好的报表格式,然后在报表设计器中进一步修改,以充分保护用户以往在 Excel 上的积累,大大减少重复工作。Excel 原表润乾报表直接打开 Excel 报表格式(设计器中可直接打开 xls 文件)导入 excel 文件:润乾报表提供自动将 excel 文件转换为报表模板 raq 文件的功能。导入 excel 文件(自动转换为 raq)公式调整行列时的公式调整:润乾报表在编辑过程中能够象 Excel 一样自动调整公式,如在单元格 B1 中了 C1,当 B列和 C 列间一列时,的 C1 将会自动变成 D1,这对于报表中表达式编辑非常必要。原报表,B2 中的表达式了 C2

17、 和 D3在 C 列前一列后,B2 格的表达式自动调整为 D2 和 E3拷贝剪切粘贴时的公式调整:从 B1粘贴到 B2、B3等单元格,表达式自动由=C1+D1 变成=C2+D2、=C3+D3 等等。界面及基本功能润乾报表提供了非常美观的外观界面,可有多种配色风格。采用全中文菜单和框,常用的编辑均有快捷工具条以提高设计效率。在编辑过程中,提供缩放编辑功能,可以根据需要灵活设置缩放比例,更方便地进行报表的格式调整。在报表设计器中,可直接预览报表。标准版设计器支持直接打印报表或导出为 Excel、Word、PDF、Html、Txt、xml 等外部文件格式。还支持 RAT 输出,RAT 文件是润乾报表

18、自有的文件格式,用以保存运算后的报表结果,其中带有统计图、纸张打印信息等,可由润乾报表设计器打开查看以实现报表的脱机浏览(不依赖于第软件且可在 UNIX 上显示),并可打印或再次输出成上述几种格式的文件。2)单元格类型润乾报表的单元格支持如下四种基本类型:文本:一般的数值、文字及表达式,可以支持斜线。这种类型可以通过象 Excel 一样的表达式,从数据库中提取数据和进行各种计算。该类单元格的显示值可与数据值,从而实现内部代码与显示之间的对应,显示内容可来自固定列表,也可来自数据库中的字典表。图片文件:固定的图片,如企业 LOGO。图片字段:来自数据库字段的图片,如。HTML:单元格内的文字(或

19、表达式的运算结果)被理解成为一段 HTML 代码,在报表WEB 展现时将被嵌入整个报表的 HTML 文本中,从而可实现用户自定义显示或编辑方案。通过各种类型的单元格,可以在报表中添加各种元素,实现各种复杂的报表。润乾报表的单元格类型还支持以下两种特殊类型:子报表:单元格中嵌入或引入一个子报表。统计图:单元格中嵌入一个统计图。3)套打绘制及相关功能底图描绘实现套打绘制润乾报表采用底图描绘的方案解决套打时的报表绘制问题。可将需要套打的票据扫描成图片,作为报表设计的底图,然后依照图片上格线进行报表描绘,可保证绘制出的报表能够精确地套打进入印刷票据中。底图描绘方式进行套打绘制(下面的表格及黑色字是底图

20、,字是填入的数据)精确度量润乾报表提供以毫米或像素为的精确度量,可保证报表的绘制和输出完全与纸张精准一致。并会根据纸张大小在设计界面中画出纸边虚线,以提示设计分页位置。4)多数据源润乾报表支持多数据源,同一张报表的数据来源可以是多个数据集甚至是多个数据库或是用户自定义的数据集。通过这能,不仅可以来自不同来源的数据,更重要的是在润乾报表中可以在报表内直接使用多个不同数据集,而不需要强行用复杂的视图把它们连接在一起,从而大大提高了报表设计效率和提高了灵活性。润乾报表多数据源数据源的定义画面润乾报表支持多种数据集5)内建数据集润乾报表支持内建数据集,即某个数据集的数据被写进报表模板文件之中,内建数据

21、集和外部数据集有完全同样的运算,如扩展、过滤等。内建数据集可有如下应用:完成不规则分组大量中国复杂报表均可能有不规则分组要求(比如选择若干个城市显示相关的数据),润乾报表可以将这些不规则分组(如可重分组、固定分组)方案设置进仅与当前报表相关的内建数据集中,而不必在数据库中创建冗余的数据表或视图。脱机浏览润乾报表提供将外部数据集转换为内建数据集的功能,这样即可将已做好的报表数据源绑定进报表,从而做到脱机(不连接数据库)运算和浏览,这能对于调试报表有巨大帮助(技术可以不必依赖于用户的数据环境而调试报表中的错误)。内建数据集绑定报表数据以实现脱机运算和浏览6)表达式与函数表达式润乾报表支持基于数据集

22、和基于单元格的两类表达式,并且可以混合书写,如ds1.sum( amount );B3+C3+sum(D3); ds1.select( id, typeid=C2)等。函数润乾报表提供九大类系统函数:数据集函数、单元格函数、数学函数、字符串函数、日期时间函数、数据类型转换函数、数据类型函数、分页后运算函数、统计图运算函数。同时也用户自定义 JAVA 函数。润乾报表的函数功能非常强大,除了常规的计算函数外,更报表和统计分析的需要提供了特有的集合处理函数,可用以实现报表自动扩展、分组等变化。例如,润乾报表提供 Plot函数实现中国复杂报表中常见的按段分组需求,也可以实现多层或交叉分段汇总。7)分片

23、混合扩展与相关润乾报表摒弃传统条带扩展方案而采用单元格扩展机制,可以很容易完成同一报表中的分片扩展(并列或层次均可),并可实现固定行列与变动行列混合编排。各扩展片之间还可相互引用数据而并非完全无关。8)灵活快捷的分组汇总润乾报表可简单完成带有多级分组与汇总的报表,采用单元格分组函数实现分组扩展,没有明显的分组区域,从而在增删分组或改变分组次序时不必象传统报表工具需要重新设计分组区内数据表达式。润乾报表独创的主格关联机制决定了统计汇总的范围,汇总表达式可以摆放在报表中任何合理的位置(分组上/下边或在分组明细合并成一个大格)。多级分组汇总报表9)行列对称的扩展机制润乾报表行列对称设计,无须专门的交

24、叉表模型处理列向变动的报表。多层、分片交叉报表均可轻松实现,不限制层数,并可同样编写自由的汇总运算。多层分片交叉汇总报表10) 层次座标润乾报表独创的层次坐标和位移坐标概念能够对扩展后单元格/集进行命名,从而可以在表达式中精确描述出对其它单元格的,完美地解决自由格间运算。有规律的单元格跨行组运算可轻松实现,对于无规则的任意运算,润乾报表还提供类 Excel 式的格间运算。11) 子报表润乾报表支持不限嵌套层数的子报表功能。子报表分为引入式和两种,引入式将子表数据和格式依次填到主表的单元格中,而则将整个子表缩放后嵌入到主表的某个单元格中。主子表引入式主子表12) 统计图的定义统计图常规定义润乾报

25、表的统计图数据来源于报表内而非重新再设置数据源,因而也可以支持多表多库的统计图。同一张报表可绘制多个统计图,甚至可绘制在分组内,随着数据分组一起扩展成多个。统计图类型及数据定义图形特性定义显示外观定义时间状态图定义属性的扩展和的支持润乾报表提供强的统计图开发接口,支持通过二次开发和第,实现丰富的展现效果。在一些特殊情况下,系统提供的默认统计图如果都不能满足要求,那么就可以利用自定义统计图。自定义统计图可以满足任意一种特殊的统计样式和效果。只需要符合 API 接口即可实现,更为灵活。由于报表自身的单元格能支持嵌入 HTML 元素,所以还可以将其他支持交互的动态元素作为插件,和报表共同工作,实现一

26、些更为美观和有特殊交互功能的展示效果。13) 报表参数与宏润乾报表提供报表参数功能。参数具有数据类型,可以用于报表的数据源(SQL 语句)或报表中的运算表达式中。报表参数定义数据集 sql 语句中使用参数参数的类型有普通参数、动态参数和会话变量。普通参数普通参数直接将输入的参数值传给报表进行运算。动态参数动态参数是一个表达式(不用等号开头),报表运算时先该表达式,然后将表达式计算出的结果作为参数值传给报表进行运算,用动态参数的时候要注意参数的数据类型。动态参数适用于需要动态表达式的场合。会话变量会话变量是指和用户个人信息相关的一些变量,比如用户名、岗位、部门、职位、等等,有了会话变量,就可以识

27、别这个人的,知道这个人拥有哪些权限。用户在登录报表设计系统时,系统会该用户的会话变量,利用会话变量生成一些过滤条件,并把这些过滤条件强制叠加到报表中,这些过滤条件可以过滤掉这个用户不该看到的数据。于是能够保证用户只能看到限看到的数据。除参数外,润乾报表还提供特有的宏。宏没有数据类型,仅是简单地在语句或表达式中替换,给使用者提供更加灵活的方式。宏的类型分普通宏和动态宏。普通宏是直接将宏值传到报表中计算,动态宏是先计算传进来的宏,然后再把计算得到值做为宏值传到报表中参与计算。14) 向导与工具润乾报表软件提供了强的辅助工具,可以帮助用户更方便、更高效地进行报表设计。报表设计向导润乾报表对于简单的行

28、式、分组与交叉报表提供设计向导,用户只需要选择相应的数据表列即可以自动生成出报表。分组报表定义向导交叉报表定义向导SQL 编辑器润乾报表提供标准 SQL 编辑框,用户不必记忆数据库表/字段名称,可直接在 SQL 编辑器中选择要操作的数据元素,设计、排序条件等。同时润乾报表也支持直接输入 SQL 语句。SQL 语句编辑器(字段选择)公式编辑/函数帮助润乾报表提供可视化的表达式编辑框,用户不必记忆系统提供的众多函数与需要操作的数据集元素,表达式的大部分都可以简单地用鼠标点击出来,而且对所有系统函数均有详细的。公式编辑器函数帮助1)报表展现输出报表元素的外观属性润乾报表对报表元素提供非常丰富的外观属

29、性,所有属性都支持值和表达式两种设置方式,非常灵活易用。2报表服务器单元格外观属性列表l值Ø值Ø显示格式:支持数值、货币、日期、时间、分数、科学计数等数十种显示格式。单元格显示格式Ø显示值:支持显示值和数据值,从而实现内部代码与实际显示之间的对应。l显示Ø可视:设置当前单元格是否可见。Ø隐藏行/列Ø前景色/背景色:均支持调色板和透明显示。Ø调整方式:提供按单元格内容扩大、按设计不变、图片填满单元格、缩小字体填充四种方式。l段落Ø自动换行:设置当前单元格的数据值长度超出单元格的宽度时,是否自动换行。Ø水平/

30、纵向对齐:靠左、居中、靠右/靠上、居中、靠下。Ø缩进:与对齐配合,设置靠哪边就相对哪边缩进,居中时则相对两边同时缩进。l字体Ø字体、字号Ø加粗、斜体、下划线l扩展Ø扩展方式:默认、纵向扩展、横向扩展、不可扩展。Ø左主格/上主格:不设置时按照缺省主格认定规则。l超Ø超:路径可以是相对路径也可以是绝对路径。Ø超窗口:超在网页上显示的目标窗口,缺省为_self。l分页Ø分页时伸缩:横向扩展表时保证标题居中或居右,适用于除报表头、分组表头、数据区和表尾区以外的区域。Ø行/列后分页Ø单元格拆分:设置当分页

31、断开正好位于合并格的中间时,合并格里的值是否拆分后在两页里显示。lWEBØ变量名:在 html 网页上该单元格的数据值时使用的变量名,或参数模板中与目标报表中对应的参数名。ØHTMLØ提示:在 web 上发布报表后,鼠标移动到改单元格位置时所显示的提示信息。l其他Ø注释Ø打印时能否修改:打印前是否可以修改该单元格中的数据。图片显示与大字段上传润乾报表支持图片显示,可以支持的图片包括图片文件和图片字段,也支持自定义来源的图片。图片格式支持gifpngjpg 等。图片显示大字段上传润乾报表的大字段上传,不仅仅支持图片格式的文件,还支持其他格式的文件

32、,例如 word文档、压缩包等等,只不过只有图片格式的文件才可以显示在报表中,其他格式的文件仅仅提供上传,不支持显示。统计图润乾报表支持如下 20 多种类型的统计图:l柱形图l三维柱形图l三维簇状柱形图l堆积柱形图l三维堆积柱形图l饼图l三维饼图l折线图l三维折线图l区域图l三维区域图l条形图l三维条形图l三维簇状条形图l堆积条形图l散列图l时序状态图l时间走势图l双轴柱线图l双轴折线图l图l甘特图ll等(还包含自定义统计图)不同需要,在浏览器上可生成如下三种图片类型lGIF:256 色,可透明显示,不失真压缩;lJPG:真彩色,不可透明,失真压缩;lPNG:真彩色,可透明,不失真压缩。页面(

33、 HTML)输出润乾报表可在 WEB 上生成标准的纯 HTML 输出格式,对 IE5 和Netscape7 以及上版本均可支持且效果一致。统计图也完全以纯 HTML 图片形式展现,浏览器端无须事先安装任何插件。润乾报表在WEB 上的展示,可根据实际需要随意嵌入到网页的任何地方。除静态 HTML 外,润乾报表还可生成固定表头(上/左均可)的可滚动报表以及行式分组可伸缩报表,大大方便了用户的使用。文件输出除标准 HTML 外,润乾报表还可将报表以文件方式导出:lExcel润乾报表可输出完全不失真的 Excel 文件,报表中的统计图也将嵌入其中,并附带有各种打印属性,生成的 Excel 可不作任何调

34、整直接打印而丧失格式信息。对于报表组,可以无失真的导出为多 sheet 也的 excel 文件。可以预先设置导出为加密文档,可以设置是否导出公式、是否导出隐藏行列、是否导出超,还可对导出的 Excel 进行进一步的处理。lPDF润乾报表可输出 PDF 文件,报表中的统计图也将嵌入,并附有纸张打印信息,结果可直接输出打印,并且支持加密和权限的限定。lWORD润乾报表还可以输出WORD 文件,并连同统计图、图片等一起输出,完全不失真。lTEXT润乾报表可生成专为金融、邮政等行业字符终端应用服务的带格式文本,报表格线由中文表格符拼出,并可在其中设置 Escape 码,可直接在字符打印机上输出。lXM

35、L 文件在设计器的报表预览界面,可以直接将报表导出为 xml 文件保存。lRAT 文件RAT 文件是润乾报表自有的文件格式,用以保存运算后的报表结果,其中带有统计图、纸张打印信息等,可由润乾报表设计器打开查看以实现报表的脱机浏览(不依赖于第软件且可在UNIX 上显示),并可打印或再次输出成上述几种格式的文件。分页与分栏润乾报表对报表页面提供了强的功能:l分页方案可支持按纸张大小分页、按行列数分页、强制分页(分组后或固定行列)。l分页方向支持纵向和横向双方向分页,有上表头、页眉、页脚、左表头等功能。上/左表头信息每页均会合理重复。l单元格拆分单一单元格不能被分页拆分,当合并单元格被拆分时可选择其

36、中数据是否也分页断开显示。报表分页属性定义l分栏及其它支持横向分栏;支持末页补足空行的操作。打印润乾报表采用 JavaApplet 的方式实现浏览器中的精确打印,可支持如下功能:l一纸多页:实现小票据或卡片式打印,可选择按行排列和按列排列;l缩放与:打印前的缩放及在纸张中的;l页码:选择不同页码打印;l打印前可是否再修改数据。报表打印属性定义2)多源关联报表多源关联分片是中国复杂报表的基本特征。润乾报表独有的非线性报表模型,专门支持中国式多源关联报表。可以在设计器里直接进行多源(集)设计,在同一张报表中可同时多个数据集。润乾报表摒弃了传统死板的条带式扩展模型,而代之以独创的单元格扩展方案,各数

37、据集即可以扩展,也可以相互,扩展部分与固定部分可自由结合;特有的主格关联技术可灵活地决定各级统计的范围,保证汇总运算的合理性与正确性。多源关联报表示例多源是指一个报表的数据来源来自多个物理数据表(或类似数据体),甚至是多个物理数据库。这里的“多个”常常不是两个三个,而是七八个乃至十几个。传统的报表工具基本只支持单源报表,多源的情况需要在报表设计前将多源转化成单源。两三个源尚可写 SQL 语句完成(JOIN 或 UNION 等),但数据源多到五六个以上时,一方面对应的SQL 语句过于复杂难以维护,另一方面运行效率也很低,这时常常要编写过程或其它代码来准备数据了。如果多源来自多库,则更为复杂,无法

38、直接写出复杂 SQL 或过程,需要架构专门的数据库桥后才可以完成。某些传统工具所声称的支持多源,实际上就是指多数据库支持,把数据库桥功能集成进入报表工具中,但真正到报表设计时仍然只能单源。多源往往带来分片,分片是指报表的纵向或横向或双向同时被分成了多个区域,每个区域规则不同,而又可能相互运算。正是由于分片,使得报表设计必须直接基于多源进行,而不能先将多源转成单源进行。有相当一部分分片报表无论如何也不可能转化成单源处理,部分能转成单源的报表处理也非常繁琐。传统工具能够处理上下格式一致和列方向固定的分片报表(即可由多源转成单源的报表),但会迫使用户编写复杂的 SQL(UNION+JOIN)和代码准

39、备数据,导致工作量大且维护;对于横向分片数较多报表,由于必须采用 JOIN 方式准备数据,关联条件复杂时很可能导致 O(Nk)的高计算复杂度(k 为分片数),性能很低。下图所示表 1 是个典型的纵向分片报表,数据区从上至下分成了几片,先是一片按货主地区汇总的分组区域,然后是一个固定计算行,接下来又是一片按销售汇总的分组区域,最后又是一个固定计算行。各片分组层数不同,而且变动与固定结合,各片之间还有数据(某些计算行的值是由其它行计算出来的)。这种上下格式不一致的报表,其数据源不可能组织成单源(各片列数不同),也就不可能用传统工具实现。表 1我们把表 1 横过来摆成表 2,成为一个横向分片表。类似

40、的,是由两片分组层数不同的变列区域和几个固定的计算列混合而成。传统工具只提供比较死板的交叉报表模型处理变列报表,其中的集合运算只有固定的几种选择,不可随意加列,更不可能有多片变列区域,而这种复杂的动静混合交叉表就只能通过手工编程动态加列来实现。表 2与传统工具的对比为了解决多源关联分片的问题,许多传统工具引入了子报表的概念。把每个分片做成一个子表,然后再在主表中拼接起来。如上述的表 1 传统工具理论上是可以通过子表拼接完成,但实际上仍非常烦琐。子表割裂了整表的一致性,一张报表被分成了多个小表,难以统一处理,给维护管理工作带来麻烦。从格式上看,各个子表各自,很难将格线统一对齐,某个子表的格式进行

41、了调整,所有其它子表都需要改动,这是极其繁琐的工作。而且每个子表的大小不固定(可能随数据数而变化),由于传统工具的行列不对称(下面还会谈到),纵向排列的几个子表可以自动摆位,而横向则不行,如上述的表 2 即使用子表也无法完成(数据可以拼出,但格式无法拼出)。此外,主子表之间和子表相互之间都无法数据,只能将主表的数据作为参数传递给子表,子表无法带回信息,也无法向其它子表提供信息。这时,整表的混合运算将非常,必须单独计算,无法采用子表的中间运算结果,不仅书写复杂,运算效率也很低。下面的表 3 就是个典型的主子表,当然也是典型的多源关联分片报表。主中的总金额显然是明细信息中各金额的和,而在传统工具的

42、主子表模型中,主表的合计值不能子表的数据,必须自行重新计算。表 3润乾报表设计举例润乾报表则直接支持多源(集)设计,在同一张报表中可同时多个数据集,摒弃了传统死板的条带式扩展模型,而代之以独创的单元格扩展方案,各数据集既可以扩展,也可以相互,扩展部分与固定部分可自由结合;特有的主格关联技术可灵活地决定各级统计的范围,保证汇总运算的合理性与正确性。表 1 在润乾报表中将如下设计:需要根据数据变动的行(第 2 行)采用单元格扩展(B2 格)机制(其中的 ds1.group 函数即负责扩展重复),而中间的固定计算行(第 3 行)则可直接写上,下一片变动行(第 4 行)又采用单元格扩展(B4/C4 格

43、)进行(ds4.group、ds4.select 函数),两片扩展分别基于不同的数据集(ds1 和 ds4),且层数不同,右边的 sum 运算中还能这些格值,整个报表即分片又统一,完美地解决了多源关联分片问题。表 1 的设计界面完成表 2 只要简单地将相关的扩展单元格改变位置和方向即可,如下图所示,润乾报表在行方向的扩展能力(纵向扩展)能够完全应用在列方向上(横向扩展),使得中国式报表中常见的横向分片、多片变动、动静结合的问题很容易就可以解决。表 2 的设计界面对于表 3 这种主子表,在润乾报表中无需借助子表概念,明细表(5-6 行)本身可以自行扩展重复,而且由于设置了主格关联,整片明细表会自

44、动跟随主表重复,而且主子表间可自由信息,如 F3 格中的金额合计可直接由 F6 格扩展后的各值相加得出(表达式 SUM(F6))。表 3 的设计界面提供除多源关联外的其它非线性功能:增强函数,不规则分组,动态格间计算等,专门针式复杂报表,零代码完成非线性报表设计。增强函数主要包括以下几个函数:leval():动态并计算表达式lds():动态改变表达式的数据集对象lquery():执行 sql 语句,返回结果数据集合lcall():执行过程,返回结果数据集合lquery2():执行 sql 语句,返回结果数据集合,可以实现不同单元格从不同数据源获取数据lcall2():执行过程,返回结果数据集合

45、,可以实现不同的单元格连接不同的数据源lfield():获得数据集当前行或者当前组中第一行中,指定列的数据lfieldname():根据列号取数据集的列名不规则分组主要包括以下几个函数:lplot():按段分组函数lenumGroup():枚举分组函数3增强统计套件loverlapGroup():重叠分组函数不规则分组是中国复杂报表的典型特征之一。传统工具中的数据分组延用了关系数据库中的相应概念,为完全规则分组,即分组标准一致且有规则(一般都按某个字段或表达式),所有事实都必须出现且只出现一次,分组值次序与原数据次序一致。然而在报表汇总中却常常需要不规则分组,即分组标准看不出规律(常常只能穷举

46、),所有事实不一定全部出现在分组结果中,个别事实还可能重复出现,次序也与原数据无关。表 4表 4 是个含有不规则分组的统计表。价格区间的分组就是个不规则分组,是按照一定的价格段来进行划分,分组规律不明确,只能穷举出来。这种报表称为按段分组报表。表 5表 5 的完全分组表 5 则是另一种形态的不规则分组报表。该表中数据对类别的完全分组结果如其下边的表所示。而表 5 则是把饮料和点心归入副食品组,肉/家禽和海鲜归入肉类组,日用品归入日用品组,其他所有类别归入其他组。这种人为地把某几组合并成一组,且合并规则并无规律,需要逐组枚举的报表,称为归并分组报表。表 6表 6 的分组又有另一种特点,“华北”组

47、中的一部分被拎出来在“其中:北京”组中进行了重复的统计,“华南”组中的一部分被拎出来在“其中:”组中进行了重复的统计,这种同一部分在不同组中被重复统计的分组报表称为重叠分组报表。这三种报表用传统工具实现都较为,虽然报表格式并不复杂,但由于出现了不规则分组,无法直接用报表工具的分组功能完成,只能编程把数据准备成一个单层的二维表数据源,既加大了工作量,又很难体现数据之间的层次关系。润乾报表为分组运算提供的过滤和排序选项,可生成不规则分组;对于按段分组、归并分组、重叠分组都提供了独特的集合函数 plot(),enumGroup(),overlap(),轻松解决了不规则分组的。表 4 可采用 Plot

48、 函数进行如下设计:表 4 的设计界面B1 格中的 plot 函数负责完成按段分组,分段方案可以通过参数 arg 动态传入,arg 可以定义成数组型的参数,其定义如下:表 4 的参数定义而 arg2 则用于定义价格区间的显示值,这样,用户可以灵活的自行设定分段。表 5 则可以采用 enumGroup 函数来处理归并分组:表 5 的设计界面直接写入分组的条件表达式和对应的显示值,函数会自动从左到右计算各组条件表达式,先出现的表达式先算,如果出现满足的表达式,则归为该组,后面的不再计算。如果没有一个表达式满足条件,则返回缺省值,也就是这里的“其他”一组。这样,通过使用 enumGroup 函数就轻

49、松地完成了归并分组报表。表 6 跟表 5 有些类似,不同的是表 6 的各组之中可能有重复的,换句话说就是,同一条可能同时在多组出现。这种重叠分组我们用 overlap 函数同样可以轻松实现。该函数会对每一条依次计算条件表达式,如果满足则把该条加入到相应的组里。如果有多个组满足,则这些组中都会含有此条。表 6 的设计界面动态格间计算动态格间计算主要包括:l层次坐标:C操作符。对扩展后的每个单元格进行了唯一性定义,避免。l线性坐标:seq()函数。取得指定扩展单元格的同源号,即扩展格扩展后,将此单元格的同源格按行(列)号从小到大排序后,此单元格所在的序号。平面函数:cell()。在平面内取单元格,取的是运算后的单元格。l除不规则分组外,动态格间运算是中国复杂报表另一个典型特征。所有的报表工具都会提供一些计算列的功能,在原始数据基础上再计算出一些别的列值或统计值,这是报表展现中是不可缺少的功能。传统工具一般只提供内的格间运算和某组(或全体)的集合运算,对于跨行组运算则相当。个别传统工具提供了简单的跨行能力,如可以上一行数据,而跨组则为力;对

温馨提示

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

评论

0/150

提交评论