《帆软集团数据库项目构建方案(第二版).docx》由会员分享,可在线阅读,更多相关《帆软集团数据库项目构建方案(第二版).docx(144页珍藏版)》请在课桌文档上搜索。
1、L项目背景2.项目整体建设思路2.1、 系统设计蓝图用户端业务场景层败据加工T具数据清洗工具Bl展现工具报表工具知识层运康工具手机移动端财务管理人事管理风险管理流程管理法务管理采购管理运营管理工具功能层应用族务业务题务效亮分析后台腕务层自定义熊务组合服务毁空艇务层数据座服务效宪访问题务数据中心(DW)业务系统数行座FAS、OA, DCS.基础应用度统一依据集成平台中间件主机网络存储敷照度如上图所示,本项目系统架构模型中,主要分为几个层级:基础应用层:本模块中主要提供硬件环境以及软件支撑环境。包含主机,网络,磁盘存储,中间件以及数据看信息。数据服务层:本模块主要提供业务数据存储测策略,包括基础数
2、据(业务系统数据库)读取,数据ETL管理,数据中心构建,数据监控用户后台服务层:本模块主要提供应用层CS,BS设计模式,提供数据从数据仓库转化成业务服务,提供用户自定义个性化配置服务,以及各类软硬件的组合服务工具功能层:本模块涵盖项目各流程节点需要的辅助工具以保证该节点的正常流转。包含底层的数据抽取工具,数据加工工具,数据清洗工具,业务主题包,知识库,以及上层的报表绘制工具,Bl自助分析工具,同时涵盖系统运维,环境监控等各类工具业务场景层:通过工具层的梳理,将业务进行主题化划分和管理,维护。此层级包含财务(法定)报表,财务分析、运营分析、生产力分析,生产工艺分析,生产质量分析,趋势分析等;对与
3、上述整理的业务运行流程进行定义,监控,记录,为主业务服务保驾护航用户层:本模块是整个系统最顶层服务,各种访问形式Client,web,mobileservice等方便信息人员快速构建业务主题;业务人员灵活查看,自助分析,摸索挖掘最贴合当前主题的分析模型,并协调信息人员快速修改主题模型;运维人员根据丰富的监控展示形式直观方便的实时监控系统软硬件情况。各类终端手机,电视大屏,PAD,PC满足不同层级,不同岗位的人对于数据的实时需求。2.2、 Bl系统建设建设目标:构建集团数据仓库;构建集团完整的Bl分析体系,替代重复的人力劳作,分析挖掘企业各个环节的经营活动,监控营运状况、趋势与一切可能风险,辅助
4、企业战略决策,提升核心竞争力,最终达成管理的睿智。建设方针:通过建立严格、细化、符合统计学原理的数据整合原则,不断提升数据的质和量,在高质量的数据基础保障下,建立和扩充Bl报表体系的管理应用。建设步骤:数据管理I系统对接 数据抽取 数据导入上报 DW搭建 扩充优化企业指标系统数据同步 KPl体系建设 标准值设定BI报表 快速报表展现 驾驶舱 预警风控 模型分析 移动应用3数仓建设方案3.1. 数据全面,存储所有采集的数据本项目的技术架构一共有五个主要环节,各系统的系统接口、数据抽取、数据处理、数据加载、按业务主题加载数据,能自动抓取的按照设置的模型自动抓取数据,需要补充的数据设计表单填报数据,
5、有需要EXCel导入的数据,可以设置Excel导入提交到数据库。企业数据仓库九恒星hperion费用报 销系统数据抽取、清洗、转换、加裁(ETL)领导驾驶舱 仪表板地图移动端大屏财务管理信息技术流程管理法务管理生产管理项目管理人事管理内部审计风险管理仓库管理物流管理未来价值B.分析平台企业数据仓库各系统的数据接口,采用ETL工具集成的数据接口,实现读取数据主要是报表平台能从不同的数据源读取经营数据库系统所需要的数据,将数据按照约定的规则进行相应的转换后,放置到经营数据库系统的数据库中,利用报表平台软件对不同维度不同指标的数据进行可视化分析。数据仓库的数据存储采用Oracle作为DWH的数据存储
6、中心,在此基础上,把明细数据聚合成对应的下属超市业务主题,供经营数据库系统实现报表分析与查询;Oracle是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。Oracle数据仓库里面存储所有业务模型需求的明细数据和按照维度聚合后的数据,也存储填报上报的数据和Excel导入的数据。3.2. 数据仓库设计合理,经过数据清洗装载后无数据失真,具有可扩展性。为了确保历史数据的准确性,我们设计
7、时采用国际上主流的数据仓库设计理论方法:变化类型I(Typel),变化类型2(Type2)s变化类型3(TyPe3)和这三种类型的混合设计,保证数据的准确性、完整性。举例如下所示:业务场景;二航在沿笆r*2tetT*.201403-0*MM*部,也产生了一张订单.20140402再次转到精售三部,又产生了一张订单.分别把在二个削门产生的仃单统计到三个部门!系蜕不保留:门变更历史记最嗔型通IFCB键关连I/ZtMR 0tMF NAMtAOOlDOO)DBF UAMH林坦或张松,.KEYODCR-CMTEOltDER.MONH-1/0140141IOOOO1MWIWOO2XH4d200003701
8、4 04475000AOOl3AOOlD003说明:上图所示是变化类型2和变化类型3的混合设计,实现了无论销售人员如何调整部门,他本人的销售业绩始终是跟着人走,而他在每个部门所销售的业绩能够准确地分布到当时他所在的部门(按人统计销售业绩使用上图红框内的字段EMPJD,按部门统计使用另一个红框内的字段DEP_ID_HIS)O数据安全是数据中心建设的关键。系统要有完善、周密的安全体系和信息安全支撑平台紧密配合,系统的安全性主要应该考虑:a.系统具备严格的等级访问及授权机制;对于认定的关键及敏感数据,只有经过授权的合法用户才能使用访问及修改,并具有完备的日志及审核功能。b.完整的身份认证与授权。c.
9、确保数据的安全性。系统中存在大量的数据,要确保用户不能够直接存取关键数据,而只能通过相关的功能模块对数据进行操作,建立完备的数据备份与灾难恢复机制及策略。本平台具有以下开放性:(1)本系统采用开放式的DWH设计方案(维度设计模型),具有很好的扩展性,将充分考虑增加新的业务系统或老的业务系统扩展;(2)采用国际上成熟的技术设计模型(主要采用RalPhKimbaII维度建模方式和Inmon的信息工厂构建方式混合构建数据仓库);3.3. 数据仓库的效率高,可以及时给出访问的数据。本项目数据仓库数据加载都是按照数据模型进行预处理,访问报表时,根据所需要的报表维度可以快速的从数据仓库读取数据。具体数据模
10、型设计方式如下:主要采用国际主流的数据模型构建方式,设计的主导思想来自于RalphKimball和Billlnmon1围绕绿地商超为实现业务价值链数据集成的需要设计数据模型。3.3.1 设计事实表事实表是维度模型的基本表,其中如图所示存放有大量的业务性能度量值。力图将从一个业务处理过程得到的度量值数据存放在单个数据集市。由于度量值数据压倒性地成为任何数据集市的最大部分,因此应该避免在企业范围内的不同地方存储其拷贝。用术语“事实”代表一个业务度量值。可以设想一个作为例子的情形:查询某个客户在某个机构下某个产品合约账户的某个币种的某个时点余额,在各维度值(客户、产品合约、账户、机构、币种、日期)的
11、交点处就可以得到一个度量值。维度值的列表给出了事实表的粒度定义,并确定出度量值的取值范围是什么。账户余额表产品合约关键字(FK)账户关键字(FK)机构关键字(FK)客户关键字(FK)币种关键字(FK)日期关键字(FK)账户余额事实表的一行对应一个度量值,一个度量值就是事实表的一行;事实表的所有度量值必须具有相同的粒度。最有用的事实是诸如账户余额这样的数字类型为可做加法的事实。可加性是至关重要的,因为数据仓库应用不仅仅只检索事实表的单行数据。相反,往往一次性带回数百、数千乃至数百万行的事实,并且处理这么多行的最有用的事就是将它们加起来。3.3.2 设计维度表维度表是事实表不可分割的部分。如图所示
12、,维度表包含有业务的文字描述。在一个设计合理的维度模型中,维度表有许多列或者属性,这些属性给出对维度表的行所进行的描述。应该尽可能多地包括一些富有意义的文字性描述。对于维度表来说,包含50到100个属性的情形并不少见。维度表倾向于将行数做得相当少(通常少于100万行),而将列数做得特别大。每个维度用单一的主关键字(如下图图中PK符号标记的部分)进行定义,主关键字是确保同一与之相连的任何事实表之间存在引用完整性的基础机构维度表机构编号机构关键字(PK)邮政编码机构中文名称机构英文名称机构类别总行机构编号总行机构名称一级行机构编号一级行机构名称二级行机构编号二级行机构名称支行编号支行名称开业日期机
13、构描述详细地址3.3.3 维度表和事实表的融合在定义了事实和维度表之后,现在就考虑将两个组块一起融合到维度模型中去的问题。如图下图所示,由数字型度量值组成的事实表连接到一组填满描述属性的维度表这个星型特征结构通常被叫做星型连接方案。产品合字A9工度数拆实际数据仓库业务主题分析说明:构建好的数据仓库架构还要很好地理解企业业务价值链,并按业务总线的方式,分成各个不同子公司的业务主题,然后从不同的维度对指标进行分析。如上图所示,基于通用的业务价值键及业务主题,通过上述主题描述,结合具体业务对业务主题进行划分,实现数据仓库中后续数据集市的构建,并提供给经营数据库系统进行报表查看分析。4.数据集成ETL
14、ETL即数据抽取(Extract)x转换(Transform)x装载(Load)的过程。它是构建数据仓库的重要环节。数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。数据仓库系统中有可能存在着大量的噪声数据,引起的主要原因有:滥用缩写词、惯用语、数据输入错误、重复记录、丢失值、拼写变化等。即便是一个设计和规划良好的数据库系统,如果其中存在着大量的噪声数据,那么这个系统也是没有任何意义的,因为“垃圾进,垃圾出”(garbagein,garbageOUi:),系统根本就不可能为决策分析系统提供任何支持。为了清除噪声数据,必须在数据库系统中进行数据清洗
15、。ETL过程中实现数据清洗的实现方法:首先,在理解源数据的基础上实现数据表属性一致化。为解决源数据的同义异名和同名异义的问题,可通过元数据管理子系统,在理解源数据的同时,对不同表的属性名根据其含义重新定义其在数据挖掘库中的名字,并以转换规则的形式存放在元数据库中,在数据集成的时候,系统自动根据这些转换规则将源数据中的字段名转换成新定义的字段名,从而实现数据挖掘库中的同名同义。其次,通过数据缩减,大幅度缩小数据量。由于源数据量很大,处理起来非常耗时,所以可以优先进行数据缩减,以提高后续数据处理分析效率。最后,通过预先设定数据处理的可视化功能节点,达到可视化的进行数据清洗和数据转换的目的。针对缩减
16、并集成后的数据,通过组合预处理子系统提供各种数据处理功能节点,能够以可视化的方式快速有效完成数据清洗和数据转换过程。此处采用热门的开源ETL工具kettleo4.1. 工具简介KettIe是“KettleE.T.T.L.Envirnonment只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。同时,kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、UniX上运行,数据抽取高效稳定S
17、teP插件处理JobMi件处理DataBaSe 扩展捕仰价埋矍SteP引挈Job引擎数据库访问引擎Ui描述信2SPOOd XUlISteP插件IIJobG件UlDataIntegrationEngine元数捌管理引擎(ktr,kjb)PDl平台Kettle家族目前包括4个产品:SPe)On、Pan、CHEF、KitchenoSPOON允许你通过图形界面来设计ETL转换过程(Transformation)。PAN允许你批量运行由Spoon设计的ETL转换(例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面。CHEF允许你创建任务(Job)。任务通过允许每个转换,任务,脚本等等,更
18、有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。KITCHEN允许你批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。4.2. 实际案例:燕塘乳业数据中心项目D项目简介广东燕塘乳业股份有限公司是广东的一家乳品生产企业,总部位于广东广州天河沙河燕塘,公司主营范围为生产、销售乳制品:液体乳(巴氏杀菌乳、调制乳、灭菌乳、发酵乳),饮料(蛋白饮料类),生鲜乳收购(以上各项凭公司有效许可证经营),乳制品生产技术服务,奶牛养殖,草类的种植及销售,有机肥的生产及销售。广东燕塘乳业股份有限公司在2014
19、年获得“广东老字号”称号目前,燕塘乳业拥有广州、湛江等现代化生产基地,同时在建一个日产600吨乳品生产基地,建成投产后将成为中国南方乳制品生产的旗舰工厂之一。此外,公司拥有阳江红五月牧场(全国农垦现代化养殖示范场)、湛江澳新牧场、陆丰新澳牧场等大型自有示范牧场,并与10多家规模牧场建立长期战略合作关系,引领南方种养殖业持续健康发展。客户鉴于预算和数据量的综合考虑,客户选用开源工具kettle作为ETL数据工具。客户的数量为千万级别,销售数据每年在2000W条左右。从项目上线到目前为止,未出现异常。2) kettle运用案例a月度指标事实表b.物料维度M.22O(H.BHC产量事实表5硬件配置方
20、案此次平台建议准备4台新的服务器,一台作为ETL调度服务器(用于抽取原始系统数据库中的数据,经过清洗转换之后进入数据仓库),一台作为数据仓库oracle服务器,一台作为数据分析平台应用服务器(用于部署帆软BI软件平台),一台作为数据分析平台测试服务器(测试环境)。推荐配置如下:a)ETL调度服务器:CPU:高端服务器专用八核内存:32G磁盘:500GB操作系统:WindowsServer2008b)数据仓库Oracle服务器:CPU:高端服务器专用八核内存:32G磁盘:2TB以上(可扩容,磁盘空间主要用于数据存储,考虑到数据持续性的增长,数据仓库磁盘空间需要支持后期扩容)操作系统:Window
21、sServer2008c) Bl应用服务器:CPU:高端服务器专用八核内存:32G磁盘:500GB(此服务器磁盘空间主要用于系统备份使用)操作系统:WindowsServer2008Web容器:Tomcatd) Bl测试服务器CPU:四核CPU内存:8G磁盘:200GB操作系统:WindowsServer2008Web容器:Tomcat6.帆软bi产品解决方案6.1、 什么是finereport展示层终端浏览设备TB数据上报权限控制审计监控文本数据源程序数据源Bl多邮据库数据库数据源数据库表/视图/存储过程/SAP数据集I 个性化 Il图表分析I灵活钻取|自定义查询1 I FIaSh打前6.1
22、.1 .FineRePort功能结构用户管理I组织管理工作确访吸计西喇般陷设计人员创建数据源并进行报表设计;管理员配置用户、权限体系;普通用户在前端执行报表的查询、分析、打印、导出、填报等,支持PC/平板/移动端/大屏设备,兼容主流浏览器。6.1.2 .FineReport技术架构FineRePort是纯java软件,具有良好的跨平台兼容性,支持和各类业务系统进行集成,支持各种操作系统,支持主流Web应用服务器。前台是纯HTML展现,无需安装任何插件。其技术架构图为:服宪器部因单点登录系统部离或群配司双机热布最终展现逻辑处理层记本逻辑设计层自主备学福古支后B、S湍制作居在箭制作门名伪JDBC数
23、据层目录文本数据源支撑框架后台散据库技术GUI设程序数据源VVebag务器技术底层支持基本硬件6.2s产品组成FineRePort报表系统主要由报表设计器(设计模板)和报表服务器(解析模板)两大部分组成,使用层次鲜明的三层结构体系搭建,通过多种连接方式连接不同数据源,所有的报表制作工作都在设计器(中间层)中完成,并最终通过服务器解析展现给用户。/报表设计器(设计报表)e报表服务器(解析报表)类excel设计可视化叁数丰富的阴表Illhl动态格间计算dashboard审报设置中国式复杂报表制作独立部Y嵌入式都若集成WEB页面鬃务集成*报表的部署和集成62.1.报表设计器FineRePOrt设计器
24、可以进行表格、图形、参数、控件、填报、打印、导出等报表中各种功能的设计,是集报表应用开发、调试、部署的一体化平台,其组成原理如下图所示。打印输出设计处理图表结合报表展现或 析表单录入图表类型基本展现数据过滤图表数据视盘优化样式设置运算设计条件展示6.2.2. 报表服务器报表服务器是指用在web环境中解析报表的Servlet形式的服务器,用户通过浏览器和报表服务器进行应用交互。 报表解析:FineRePort服务器主要用来读取和解析设计器制作好的模板,并将模板转换成HTML页面,方便用户通过浏览器查看、修改和打印数据。 缓存管理:面对频繁访问所造成的资源浪费和效率低下,FineRePort提供了
25、强大的缓存机制进行数据的缓存,使用户的访问更加高效。 连接池的配置:通过建立一个数据库连接池以及一套连接使用、分配、治理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。 性能管理:支持分布式集群和超大数据量运算,并支持大量用户并发处理。6.3、 自定义拖拽式的报表定义FineRePort采用零编码的设计理念,绝大多数操作通过拖拽即可完成。设计器针对不同类型的报表需求提供了多种设计方式,包括普通报表、聚合报表、决策报表。普通报表模式,采用的是类Excel的风格,用于解决中国式复杂报表,基本上会使用excel就能学会多数操作,同时支持多SHEET和跨SHE
26、ET计算,完美兼容EXCEL公式,完全支持公式、数字和字符串的拖拽复制,支持行列变化时单元格引用的内容自动变化等,用户可以所见即所得的设计出任意复杂的表样。6.4、 导出FineReport支持在设计器端导出文件,也支持在浏览器页面导出。导出格式:PDF、WoRD、EXCEL(包含分页导出、原样导出、分页分Sheet导出三种导出样式)、TXT、SVG和图片格式(PNG、JPG、BMPW)输出属性控制:控制隐藏行、隐藏列的导出,支持设置打开密码和编辑密码。6.5、 中国式复杂报表6.5.1 .多源数据关联FineRePort提供了异构数据源模型,可以进行多源数据关联,使得同一张报数据取自: A数
27、据库的 产品表表的数据可以来源于同一数据库的多个不同表,或多个不同数据库数据取自: C数据座的 订单明细表 数据取自:B数据阵的客户表6.5.2 .行列对称一些传统的报表工具,由于条带状的展现方式的缺陷,数据的横向展示能力要远远弱于纵向,往往很难甚至无法制作交叉报表,更不用说更为复杂的中国式报表了。FineRePOrt采用的是EXCEL+绑定数据列的处理模型,天然支持行列对称,所有纵向的操作都可以在横向得到同样的充分体现。不仅不需要专门设定交叉表模型,还能够支持任意格式不规则的展现样式。6.5.3 .分栏、分页和分组报表分栏报表可以允许用户自定义分栏的列数和行数,复制标题并且自动补足空白行,此
28、功能特别适合员工信息卡、书籍信息卡的制作。出于分类浏览或者打印时的需要,很多时候我们要将报表内容按一定的规律显示在不同的页面上,这就是分页。FineRePe)rt支持多种分页报表设置: 指定分页:用户可以根据实际情况自行决定该如何分页。例如可以指定固定行数分页,即在一页当中展示固定的行数,或将报表按组分页,便于浏览数据。 动态重复标题或结尾行:无需重复输入、设计,实现不同页不同的标题或结尾。 页内合计:在每一页的末尾对该页的所有数据进行合计。 不分页预览:将所有数据都放在一张页面上展示,用户可以通过拖动右侧的滚动条对整张页面进行浏览。 冻结表头:上下、左右拖动滚动条时,首行或首列内容固定在页面
29、原始位置。中国式复杂报表中存在着诸多的不规则的分组报表,为完美响应此类报表,FineReport支持者多种报表分组设置。 自定义公式分组:数据是通过某一字段来进行分组,如日期字段,每个日期对应一个组,此时分组过于详细,希望按照年与周来分组显示。 自定义条件分组:自定义条件分组一般也称为按段分组,是一个比较典型的高级分组报表样式,其分组是根据数据的值段来分的,比如按照分数段、年龄段、时间段等,属于某个值区间的记录归到一个组里显示。 相邻连续分组:数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。 归并分组:在国
30、内,一般企业的主营地区是华北与华南,做报表的时候便希望将销售业绩较好的北方与南方作为主要查看对象,而其他地区则汇总于“其他”组,这就是归并分组。 组织递归树:组织递归分组,一般表现形式为企业或事业单位,或集团或部门的组织结构,FineRePort可以快速自动处理递归型的数据结构。企业员工考勤一览表企业名称部门员工基本制度矿工息计事间房钱息计加班三总计迟到早退B恒天科技(上海分公司)分公司的。98118651134S4口人事部部门员工321621399Randy110210133PauL201310122Lucy010101144口企划部部门虹45094041515口超售部部门员工2103044
31、1010口恒天科技(广州分公司)分公司部分公司员工4601050556566.5.4 .动态格间运算基于格子界面中数据扩展的特性,即设计界面与返回数据的一对多的关系,FineRePort提供了一整套运算体系,用于扩展后数据的定位与相互引用计算,这就是层次坐标,即动态格间运算。其表示方法为:左父格上父格CellxLk:Ik,Lk-I:Ik-I,Ll:11目Tk:tk,Tk-I:tk-l,Tl:tlCellx:指目标单元格,Lk:指某个目标单元格Cellx的左父格,Tk:指某个目标单元格CellX的上父格。如下例所示:ABC扩展后481=range3)=range(4,6)=Al*B1-2510C
32、lAl:2,Bl:3的返回值为18ClShl的返回值为8,10,1261241235156叵I动态隔间运算可以用来轻松实现数据的占比、数据比较、同期比、环比、排名、循环应用、逐层累计、跨层累计、交叉表累计、行序号、组内序号等。6.5.5 .函数(公式)支持在模版制作的过程中,当需要对数据进行统计时,就会用到公式。FirleRePort完全兼容了EXCel的公式写法,并且在此基础上进行了扩展,并且所有封转的函数都有相应的说明,加快上手速度,减轻了模板制作的难度,对于公式的熟练运用可以提高模板制作的效率。公式定义清在下面的文本编辑据里面输入公式sun(D4)导出/缩揭结果S水保甯公式。埴报/分析时
33、,保留公式用于计笈检直合法性京用函数S:黑独学和三角函知文本函数日期和时间函数遇函数数组函数报宗函数其它函数层次坐标函数全部的教自定义的效cowa11ragsCMARDATE1.axN11TIHIK11GE国数据顷K变里-(15J$pgjnwbr(StotftlPagjnsborSfrvUsernane$r_authoriCy$fr_urpositon11ULL厢FILlrareportlfanesrvltURLServerSchenaStrvertfane5rvrPortsrv4rURLContextPathsessioxklD%)数据源参数-,地区回*陈参数SUM(nmbrl,nmbr2,
34、):求一个*艇单元格区域中所有数享之和。11unberl,nunber2,:1到处个参数熨指定单元格区域中所有数字。爸:王.匡檄将直接速入参数中的数值、遇a值及文本友达式计直在内。着善款是教组或引用,贝I只有数组或单元格引用中侪激值进行计算。示例:SSI(70,80)等于150。SUM(“;0.,80,IRVI)等于151,逻错值“TRUI”作为1来计算;“FALSE”作为。计宜J讣“70”作为;0来计算。FineReport报表提供了多函数类型:常用函数、数学和三角函数、文本函数、日期和时间函数、逻辑函数、数组函数、报表函数、层次坐标函数和其他函数。在一些特殊领域,可能需要一些特殊的函数,对
35、此,FirleRePort提供了自定义函数机制,可以由用户根据业务需要自己来定义一些函数,但这些函数必须满足FineReport函数定义规则。6.5.6 .聚合报表对于一些非常复杂的大报表,即数据有多个分片区,涉及到很多很多统计数据和指标,常规方式制作起来就显得吃力。如下图中的报表,就很难用常规方式来解决。特事特办,FineRePort针对复杂大报表的特点,推出了聚合报表功能,把原报表进行规则分割,每一聚合块有其独立性,且块与块之间有组织联系。羌二sld-库一 .0H-4tt-o3-:-21旬WF三W S新建图表标题PSlPS2PS3PS4,PS5SPS6PS766、查询6.6.1 .数据查询
36、与过滤在很多情况下,用户需要通过输入条件值,对数据进行查询,并灵活控制显示的数据范围。FineRePOrt通过参数以及参数界面的定义,可以非常灵活的定义出强大的查询界面,由用户通过界面输入查询条件,来控制报表显示的内容以及形式。除了由用户输入的参数外,还有部分报表中需要用的到参数是由系统环境来决定的,例如当前登陆用户的用户名、角色、当前日期时间等。这些都可以通过设计或配置取得,进行灵活的数据分析。FineReport报表中的参数按照其使用范围可以分为:模板参数和全局参数。全局参数:当前工程应用下的所有模板都可以使用;模板参数:只有当前模板才可以使用。按照其使用方式不同可以分为:模板参数和数据集
37、参数。数据集参数就是直接取出满足条件的数据,而报表参数是取出全部数据后通过设置过滤条件再获取对应参数的数据,因此若数据量大的情况下使用数据集参数可以提高报表的访问效率。6.6.2 .丰富的控件类型FineRePort提供了文本、文本域、数字、密码、按钮复选框、复选框组、单选按钮组、日期下拉框、下拉复选框、时间、多文件上传列表、网页框、下拉树、表格树和视图树等多种控件类型,支持预定义控件、自定义控件。开始日期.2012-01-01结束日期2012-12-31SiS青除条件选择时间维度按日按月技年根据选揉的维度,动态显示下方的日期控件是否已付:已付 未付I!区省份城市,狂租是否已付否地区华北Q*下
38、拉树客户I财限公司国格UrarrWMQJI实叱有限公司订单信息列表落鬻易订单号客户订购日期黑有限公司林Iffl10811保值M2012-01-02S解1.m;M6.63.灵活的参数面板FineReport为了让用户快速的实现参数查询数据功能,提供了专门的参数面板,用来放置与查询相关的控件,用户可以灵活布局,可视化拖拽设计想要得到的界面效果。FinerePort的参数面板,可能是业内最好用的可视化参数面板。同时,用户可以对参数界面进行简单的属性设置,可设置的属性有:是否显示参数界面、点击查询前显示报表内容、参数面板的背景设置、参数界面显示位置等。6.6.4.高级参数查询功能参数联动:就是指后面一
39、个参数的值会根据前一个参数的值的改变而改变,常用于层次多的筛选查询,方便锁定数据,如国家-省份-城市-公司的查询,输入国家“中国”后,省份中的值即为“江苏、上海、安徽、浙江”等中国的城市,若输入美国,则省份中的值为美国城市。 动态列查询:多数情况下,我们在查询报表时,报表当中的字段都是已经固定的。但是我们可能会遇到这样一种情况,即需要查询的是一个数据集,但是显示在报表当中的字段却并非固定,要允许用户在查询报表时,自己定义需要显示的是哪几个列,这样的报表我们称之为动态列报表。FineRePort实现动态列报表可以有两种实现方式:一是通过使用函数实现,二是通过定义数据集实现。 自动查询:用户直接在
40、输入参数后就查询出报表结果,并不需要点击查询按钮。 参数为空显示全部值:用户如果某些单元格没有输入数据就直接点击查询,普通的报表工具可能直接提示SQL拼写错误。而FineRePort可以预先设置参数值为空得到全部值。 动态显示参数控件:由于业务的需要,很多情况下需要当满足某个条件时,某些查询条件才显示出来:选择年报,显示年的下拉框控件;选择月报,显示年月下拉框控件;选择日报,显示日期下拉框控件。 参数面板中数据对应显示:我们的参数联动在报表展示时,联动效果是通过客户自己的选择来实现联动的,但是在当联动内容是一一对应的时候,客户不希望还要再选一次才能实现联动效果,该功能便可实现,在参数面板选择一
41、次参数之后,后面的数据自动展现出来,形如填报界面的自动匹配。同时还支持后面联动的数据前面的标签在第一次打开模板时,并不展现出来。 根据参数查看不同报表:在进行查询数据时,一般是根据参数值的不同展现不同的数据,该功能支持用户可以根据参数值的不同,选择跳转到不同的报表中。 根据用户提供常用参数组合:支持针对用户的习惯保存最常用的参数查询组合,方便下次预览时直接调用。同时还支持根据用户习惯,智能推荐常用参数。COlocalhost8075WebReportReportServer7reportlet三doc2FParameter%2F%5B4eOb%5D5B62c9%5D5B6846%5D5B53.
42、-传统意义上的报表,是负责展现的,解决数据呈现的问题,即把数据从数据库中取出来,然后以各种格式展现出来,对展示的结果可以进行导出、打印等。CRM、ERP、OA等基础信息化系统中都会包含一些页面,提供给业务人员或者用户对数据库进行增加、修改、删除等操作。这样的页面我们就叫做填报报表。FineReport填报功能十分灵活,对数据和报表结构有着强大的处理能力。 多源填报:一张填报表中的数据可以指向多个不同数据库或数据表。 数据来去无关:填报表中可以从A数据库取数进行计算,经编辑后数据可填回A数据库,也可提交至B数据库或C数据库,数据的来源与去向是完全独立的,也就是可以做到数据的来去无关。 自由填报:
43、对财务、服务、医疗等等行业常常有如下样式自由、编辑风格多样化的数据录入界面,用来采集信息并保存入库,这样的报表我们称之为自由格式填报表。二数推蟋1书啊,蛇打印雇户潴回导入ExCeI员工信息登记表:I填写三期:2015-05-20姓名:性SkQ出生年月:统:政治面猊:D三S:A身高(Cm):t三(kg):健旗状况:D身份证号:学历:D地不:专业:赫畸:日现:Email:翔号:外语语种:y外语水平:HSVlzK三:H毕业时间:3嬲时间:SR称:教育经历:工作经历:行式填报:若需要在展示数据库原有的数据的基础上再对数据进行添加,删除,修改,可以使用行式填报,这也是很常见的一种填报表样式。IT运维部设备明细填报表睨沁切:S淞EQsasn:m!3Q比Jg含:025-21223344ST生es:1680日MW与B:socoo=境便可学疾声I三:个GH1年力孰:交叉填报:填报表是交叉报表,比较复杂。XXX钢铁股份有限公司inRIB2010年利润2010年实际发生数实际发生效冢豚发生救实际发生故3m发生触海发生效其际发生彼病发生数1月份2份3月份,月份5月份阴份7月份8月份tfiIa他涧9T.2S385,232呢412144,192106,7%82,94394,943雌网53,29755,77655z375,59652,105电13755,036113,80