资源预览内容
第1页 / 共92页
第2页 / 共92页
第3页 / 共92页
第4页 / 共92页
第5页 / 共92页
第6页 / 共92页
第7页 / 共92页
第8页 / 共92页
第9页 / 共92页
第10页 / 共92页
亲,该文档总共92页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
润乾报表 技术白皮书 北京润乾软件技术有限公司 2006 年 3 月 目目 录录 第第 1 章章总体说明总体说明 4 1 1润乾报表软件概述 4 1 2产品构成 5 第第 2 章章新一代报表模型新一代报表模型 7 2 1数据统计模型 7 2 2数据填报模型 18 第第 3 章章功能详细描述功能详细描述 22 3 1报表设计 22 3 2报表展现输出 41 3 3数据填报 52 3 4交互与 OLAP 58 3 5报表管理中心 63 3 6报表任务调度 65 第第 4 章章部署与应用方案部署与应用方案 67 4 1报表设计模式 67 4 2报表应用部署方式 69 4 3数据报送应用方式 73 4 4支持环境 76 第第 5 章章性能指标与控制性能指标与控制 78 5 1性能分析 78 5 2实测指标 79 5 3控制手段 80 第第 6 章章集成接口集成接口 82 6 1数据源 82 6 2JAVA API 84 6 3前端接口 86 6 4设计器接口 88 第第 7 章章特点与优势总结特点与优势总结 90 7 1新一代报表模型 90 7 2真正易用的报表工具 90 7 3纯 JAVA 报表软件 91 7 4强有力的填报功能 91 7 5独有的字符终端解决方案 92 7 6开放的系统 92 7 7可靠的本土支持 93 第第 8 章章逐点应答逐点应答 94 8 1功能性要求 94 8 2非功能性要求 99 8 3实施服务要求 110 第第 9 章章建议建议 113 9 1选择开放性的工具 113 9 2与应用紧密集成 113 9 3基于实际业务报表进行测试 114 附 某保险公司统计报表系统实际测试报告附 某保险公司统计报表系统实际测试报告 115 第第 1 1 章章 总体说明总体说明 1 1 润乾报表软件概述润乾报表软件概述 润乾报表是用于统计报表制作及数据填报的大型企业级报表软件 它提供了高效 的报表设计方案 强大的报表展现能力 灵活的部署机制 并且具备强有力的填报功 能 配合以全面的用户权限管理 报表调度功能和交互功能 为企业级统计分析 展 现提供了高性能 高效率的报表系统解决方案 润乾报表软件的核心特点在于开创性地提出了新一代报表数学模型 采用了革命 性的多源分片 不规则分组 自由格间运算 行列对称等技术 使得复杂报表的设计 简单化 以往难以实现的报表可以轻松实现 避免了大量的复杂 SQL 编写与前期数据 准备 报表设计的效率提高了一个数量级 润乾报表是一个纯 Java 报表工具 提供了全面的 API 接口 是开发 Web 报表软件 的理想选择 Java 报表工具的跨平台特性 使得它能良好地支持大型系统的需要 润乾报表不需安装控件 可以实现纯 HTML 报表方式 可以支持 PDF EXCEL 等输 出 提供了全面的页面与打印控制 能很多地满足 Web 报表的展现需要 同时 润乾 报表对图表有良好的支持 可以生成柱图 饼图 折线图等二十几种图表 润乾报表提供基于动态库表关联技术的填报功能 完美解决数据入库的难题 极 大提高填报表单的处理效率 扩展了 Web 报表工具的应用方式 润乾报表提供了报表管理中心 可以对报表建立多层次的目录管理 进行全面的 用户和基于角色的权限管理 润乾报表还提供了调度器模块 可以实现定时 批量等报表自动处理和报表的自 动分发 1 2 产品构成产品构成 1 2 1基础部件基础部件 润乾报表由两大核心部分组成 报表设计器报表设计器 设计编辑报表 自带报表运算引擎 连接数据库后可预览打印 报表 并可生成其它格式保存 设计器不依赖于其它部分 可独立工作 设 计器以 Java 应用程序 JavaApplication 的形式提交 报表服务器报表服务器 在后台提供统计报表运算和数据填报处理的服务 开放各层次 的 API 接口调用 由程序员调用生成结果报表 服务器运行不依赖设计器 服务器以 Java 类包 jar 的形式提交 一般情况下不需要物理上的独立服 务器 1 2 2可选组件可选组件 除基本部件外 润乾报表还提供如下可选组件 报表管理中心报表管理中心 一个简单的独立报表管理应用 处理用户角色权限控制 功 能组织等 终端用户可直接采用该组件完成报表管理 查阅 填报等工作 报表管理中心运行依赖于报表服务器 报表调度器报表调度器 作为服务程序运行 在设定的时刻自动计算报表并将结果保存 或推送到指定的目标 报表调度器运行依赖于报表服务器 集成 远程 设计支持集成 远程 设计支持 包括基于 HTTP 协议的 JDBC 接口 基于 WebStart 技术的设计器封装包和可编程的设计器远程文件访问接口 基于该组件可将 报表设计器集成于用户的统一门户管理之内 B S 或 C S 均可 实现远程 报表设计 统一管理报表模板文件等功能 WindowsWindows 展现控件展现控件 包括应用于 Windows GUI 程序的 ActiveX 控件 生成 EXCEL PDF 流的 DLL 调用及相关后台的服务程序 基于该组件可将报表运算 结果以控件形式显示于 Windows GUI 程序中 UNIXUNIX 的的 C C 接口接口 包括后台服务程序与前端通讯的 C 程序 通讯部分的 C 代码 以源码形式提交 H 和 C 文件 基于该组件 可将报表应用于 UNIX 下的 C 程序中 第第 2 2 章章 新一代报表模型新一代报表模型 2 1 数据统计模型数据统计模型 数据统计模型是报表工具最重要的指标 它决定了报表工具最基本的制表能力 即在不编代码的情况下能够制作出何种报表 事实上 市场上的众多传统报表产品在 处理复杂报表时确实存在明显缺陷 大量报表仍需编写代码准备数据 润乾报表开创 性地提出了新一代数据统计模型 采用全新的概念方法比较彻底地解决了中国复杂报 表中的各项问题 2 1 1多源分片多源分片 多源分片多源分片是中国复杂报表的基本特征 多源多源是指一个报表的数据来源来自多个物理数据表 或类似数据体 甚至是多个 物理数据库 这里的 多个 常常不是两个三个 而是七八个乃至十几个 传统工具的基本报表单元只支持单源报表 需要在报表设计前将多源转化成单源 处理 两三个源尚可写 SQL 语句完成 JOIN 或 UNION 等 但多到五六个源以上时 一方面对应的 SQL 语句过于复杂难以维护 另一方面运行效率也很低 这时常常要编 写存储过程或其它代码来准备数据了 如果多源来自多库 则更为复杂 无法直接写 出复杂 SQL 或存储过程 需要架构专门的数据库桥后才可以完成 某些传统工具也所声称的支持多源 实际上就是指多数据库支持 把数据库桥功 能集成进入报表工具中 但真正到报表设计时仍然只能单源 多源往往带来分片 正是由于分片 使得报表设计必须直接基于多源进行 而不 能先将多源转成单源进行 有相当一部分分片报表无论如何也不可能换成单源处理 部分能转成单源的报表处理也非常繁琐 分片分片是指报表的纵向或横向或双向同时被分成了多个区域 每个区域扩展重复规 则不同 而又可能相互运算 传统工具能够处理的上下格式一致和列方向固定的分片报表 即可由多源转成单源 的报表 但会迫使用户编写复杂的 SQL UNION JOIN 和代码准备数据 导致工作 量大且维护困难 对于横向分片数较多报表 由于必须采用 JOIN 方式准备数据 关 联条件复杂时很可能导致出 O Nk 的高计算复杂度 k 为分片数 性能很低 表 1 是个典型的纵向分片报表 数据区从上至下分成了几片 先是一片按客户汇 总的两级分组区域 然后是两个固定计算行 接下来又是一片按年度汇总的一级分组 区域 最后又是一个固定的合计行 各片分组层数不同 而且变动与固定固定结合 而且各片之间还有数据沟通 某些计算行的值是由其它行计算出来的 这种上下格式 不一致的报表 其数据源不可能组织成单源 各片列数不同 也就不可能被传统工具 实现 表 1 我们把表 1 横过来摆形成表 2 成为一个横向分片表 类似的 也是有两片分组 层数不同的变列区域和几个固定的计算列混合而成 传统工具只提供比较死板的交叉 报表模型处理变列报表 其中的集合运算只有固定的几种选择 不可随意加列 更不 可能有多片变列区域 而这种复杂的动静混合交叉表就只能手工编程动态加列实现 表 2 为了解决多源分片的问题 许多传统工具引入了子报表的概念 把每个分片做成 一个子表 然后再在主表中拼接起来 如上述的表 1 理论上是可以通过子表拼接完成 但实际上仍非常烦琐 子表割裂了整表的一致性 一张报表被分成了多个小表 难以统一处理 给维护 管理工作带来麻烦 从格式上看 各个子表各自独立 很难将格线统一对齐 某个子表的格式进行了 调整 所有其它子表都需要改动 这是极其繁琐的工作 而且每个子表的大小不固定 可能随数据记录数而变化 由于传统工具的行列不对称 下面还会谈到 纵向排 列的几个子表可以自动摆位 而横向则不行 如上述的表 2 即使用子表也无法完成 数据可以拼出 但格式无法拼出 而且 主子表之间和子表相互之间都无法沟通数据 只能将主表的数据作为参数 传递给子表 子表无法带回信息 也无法向其它子表提供信息 这时 整表的混合运 算将非常困难 必须单独计算 无法采用某些子表的中间运算结果 不仅书写复杂 运算效率也降低 表 3 就是个典型的主从表 当然也是典型的多源分片报表 主记录中的金额显然 是明细信息中各产品金额的和 而在传统工具的主子表模型中 主表的合计值不能引 用子表的数据 必须自行重新计算 表 3 润乾报表则直接支持多源 集 设计 在同一张报表中可同时引用多个数据集 摒弃了传统死板的条带式扩展模型 而代之以独创的单元格扩展方案单元格扩展方案 各数据集即可 以独立扩展 也可以相互引用 扩展部分与固定部分可自由结合 而特有的主格关联主格关联 技术则可灵活地决定各级统计的范围 保证汇总运算的合理性与正确性 表 1 在润乾报表中将如下设计 需要根据数据变动的行 5 6 行 采用单元格扩展 B5 C5 格 机制 其中的 ds1 group 函数即负责扩展重复 而中间的固定行 8 11 行 则可直接写上 下一片 变动行 13 14 行 又采用单元格扩展 B13 格 进行 ds4 group 函数 两片扩展分 别基于不同的数据集 ds1 和 ds4 且层数不同 右边的 sum 运算中还能引用这些格 值 整个报表即分片又统一 完美地解决了多源分片问题 完成表 2 只要简单地将相关的扩展单元格改变位置和方向即可 如下图所示 润 乾报表在行方向的扩展能力能够完全应用在列方向上 横向扩展 使得中国报表中常 见的横向分片 多片变动 动静结合的问题很容易解决 对于表 3 这种主子表 在润乾报表无需借助子表概念完成 明细表 8 10 行 本 身可以自行扩展重复 而且由于了设置主格关联 整片明细表会自动跟随主记录重复 而且主细表间可自由沟通信息 如 E3 格中的金额合计可直接由 G9 格中金额明细计算 出来 表达式 SUM G9 2 1 2不完全划分不完全划分 不完全划分不完全划分是中国复杂报表中的典型特征之一 传统工具中的数据分组延用了关系数据库中的相应概念 为完全规则划分完全规则划分 即划 分标准一致且有规则 一般都按某个字段或表达式 所有事实都必须出现且只出现一 次 分组值次序与原数据记录次序一致 与完全划分相反 在报表汇总中却常常需要不规则划分 即划分标准看不出规律 常常只能穷举 所有事实不一定全部出现在分组结果中 个别事实还可能重复出现 次序也与原数据记录无关 固定固定分组是不规则划分的常见表现 表 4 表 4 是个含有不规则划分的人员统计表 同时也是个分片报表 年龄段的分组就 是个不规则划分 划分规律不明确 只能穷举出来 分组不完全 没有列出所有的部 门 每个一级部门中还可能有一些不属于任何二级部门的人 其他类 表 5 表 5 则是另一种形态的不规则划分报表 它的地区分组有三个特点 华北部分地 区中未包括内蒙古 出现了不完全分组不完全分组 山东和青岛有重复的部分
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号