版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、报表工具FineReport 多数据源报表简单多源报表1. 描述多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。 如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售总额表,即数据来自于两张不同的数据库表: 2. 示例2.1 打开单个数据源报表打开报表%FR_HOME%WebReportWEB-INFreportletsdocPrimaryCrossReportCross.cpt。2.2 新增数据源再新增一个数据集ds2,其SQL 语句为SELECT * FROM 销售总额。ds2数据集与ds1数据集都有一个销售员字段。2.3 绑定数据列如下图,
2、将ds2中销售总额数据列拖拽到单元格中,并设置父格为销售员所在单元格,使销售总额跟随销售员而扩展: 2.4 设置过滤此时设计器预览,效果如下: 可以看到,扩展出来的每一个销售员下,都重复显示销售总额字段的所有数据。虽然销售总额的父格为销售员数据列,由于他们来自于不同的数据集,因此销售总额不会将父格销售员作为条件进行筛选,即不存在附属关系。我们需要销售总额与销售员一一对应,就需要设置过滤条件,将这两个数据集的数据通过销售员关联起来。选中销售总额所在单元格,设置过滤,添加过滤条件:销售员 等于 'C4',取出与C4单元格中销售员匹配的数据,如下图: 2.5 保存并预览保存模板,预览
3、报表,即可看到如上的效果。模板效果在线查看请点击Multi_1.cpt已完成的模板,可参见%FR_HOME%WebReportWEB-INFreportletsdocAdvancedMultidatasourceMulti_1.cpt3. 多数据源报表优势多数据源报表传统的做法,是通过拼SQL 将多源整合为单源。如上例中将销量表与销售总额表整合起来:SELECT * FROM 销量, 销售总额 WHERE 销量. 销售员 = 销售总额. 销售员 。若数据库表比较复杂,且使用的表个数不止2张而是更多时,可以想象,最终的SQL 查询语句将会非常复杂。FineReport 天然支持多数据源的报表,一
4、张报表中可以添加任意多个数据集,每个数据集使用最简单的SQL 语句查询出需要的表数据,在报表中只需要使用过滤就可以将来自不同表的数据相互关联起来。使得多数据源报表制作更加简单。多源报表在线视频请查看【多源报表】复杂多源报表1. 描述上一节中,我们介绍了简单的多数据源报表,而实际应用时,交叉表当中的行列与汇总计算数据,均来自不同数据库也是很常见的。如下报表: 在这张报表中,项目总数,需财政安排数,单位自筹,它资金都是来自于不同的数据集。2. 示例2.1 准备数据集数据库的数据表是项目ID 与项目名称有一张单独的表来保存,另有项目数量,财政补贴资金,单位自筹资金,其它资金等四张列表。每张表均通过I
5、D 字段与项目名称表建立关系,以下是五张内置的数据集:注:在数据集面板中点击添加按钮,选择内置数据集即可新建内置数据集,直接添加数据,详细请查看内置数据集项目名称(项目名称,ID )-project 项目总数(ID ,项目总数)-zs 财政拨款(ID ,金额)-cz 单位自筹(ID ,金额)-dz 其它资金(ID ,金额)-qt 2.2 表样设计如下设计报表: 2.3 绑定数据列及过滤设置将数据列依次拖拽到单元格中,设置如下: 2.4 编号和公式在需要添加编号和计算汇总的格子中写入公式: 2.5 保存并预览报表保存模板。设计器中点击分页预览,即如上的效果图。模板效果在线查看请点击 Multi_
6、2.cpt已完成的模板,可参见%FR_HOME%WebReportWEB-INFreportletsdocadvancedMultidatasourceMulti_2.cpt说明:这个报表当中的数据,来自于5个不同的数据集。通过报表当中的数据列关联方式,将不同数据集的数据关联显示到一张表中。从而避免了在传统的报表处理方式中,通过复杂的SQL 语句,将5个数据集拼成单源的情况,大大降低报表制作的难度及对报表设计人员SQL 水平的要求。多源分片报表1. 描述多源就是一张报表的数据来源来自多个数据表,甚至是多个物理数据库。这里的“多个”常常不是两个三个,而是七八个乃至十几个,无法转成单源;分片是指一
7、张报表的纵向或横向或双向同时被分成了多个区域,往往每个区域来自不同的数据源;这样的报表即多源分片报表,如下图: 2. 思路设计多源分片报表通常有比较复杂的横表头与纵表头,在设计多源分片报表时,可以先将表头设计好,最后设计中间部分的数据,此时只需要设置好对应的关联过滤即可,最后进行模板数据字典等显示设置;另外一种快速制作多源分片报表的方法是每片单独设计,如上图报表,可以先设计分片1,确认无误后再设计分片2,如此类推,同样最后进行模板数据字典等显示设置。3. 示例3.1 准备数据连接数据库FRDemo ,新建四个数据集,数据集名分别为雇员、产品、订单信息和订单对应的sql 语句如下:雇员的SQL
8、语句: SELECT 雇员ID, 职务 FROM 雇员产品的SQL 语句: SELECT 产品ID, 类别ID FROM 产品 where 类别ID =1 or 类别ID =2 订单信息的SQL 语句: SELECT 订单. 订单ID, 雇员ID, 产品ID, 数量,(数量*单价 AS 总额 FROM 订单, 订单明细 WHERE 订单. 订单ID=订单明细. 订单ID订单的SQL 语句: select * from 订单3.2 表样设计最终表样如下: 分片1制作 分片1按国家与雇员进行分组统计,中间数据受左表头与上表头双重控制: 分片2制作 分片2直接统计总额与数量,中间数据只受上表头控制:
9、 分片3制作分片3按照雇员职务与雇员进行分组统计,中间数据受左表头与上表头双重控制:单元 格 数据 集 数据 属性 列 B8 雇员 职务 默认 雇员 C8 雇员 ID 默认 订单 E8 信息 总额 汇总求和,添加过滤条件 雇员 ID(列序号:2 等于 'C8' and 产品 ID(列序号:3 等于 'E3' 订单 E9 信息 数量 汇总求和,雇员 ID(列序号:2 等于 'C8' and 产品 ID(列序号:3 等于 'E3' 3.3 形态设置 最后我们根据需要,设置数据的显示样式、形态、颜色等。 对 C4,C6,E2 和 E3 单元格作形态数据字典设置,都采用数据库表的方式,具体设置如 下表: 单元格 数据库 数据表 列名(实际值) 列名(显示值) C4 FRDemo 雇员 雇员 ID 姓名 C6 FRDemo 雇员 雇员 ID 姓名 E2 FRDemo 产品类型 类型 ID 类别名称 E3 FRDemo 产品 产品 ID 产品名称 3.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育研究办公区施工合同
- 水库周边道路建设合同模板
- 喀什招投标合同管理要点
- 发电站电力安装施工合同
- 真石漆施工合同度假酒店外墙装修
- 医院手术室电工施工合同样本
- 滑雪场改造合同
- 洗浴中心礼仪服务合同
- 《距离保护计算》课件
- 山西省长治市(2024年-2025年小学五年级语文)人教版期中考试(上学期)试卷及答案
- 医学考博阅读强化3附答案
- 耐压绝缘测试报告
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
- 小学道法小学道法1我们的好朋友--第一课时ppt课件
- 路由和波长分配PPT课件
- 光伏组件开路电压测试记录
评论
0/150
提交评论