免费报表工具FineReport多数据源报表汇总.docx

上传人:b****2 文档编号:892031 上传时间:2022-10-13 格式:DOCX 页数:10 大小:164.79KB
下载 相关 举报
免费报表工具FineReport多数据源报表汇总.docx_第1页
第1页 / 共10页
免费报表工具FineReport多数据源报表汇总.docx_第2页
第2页 / 共10页
免费报表工具FineReport多数据源报表汇总.docx_第3页
第3页 / 共10页
免费报表工具FineReport多数据源报表汇总.docx_第4页
第4页 / 共10页
免费报表工具FineReport多数据源报表汇总.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

免费报表工具FineReport多数据源报表汇总.docx

《免费报表工具FineReport多数据源报表汇总.docx》由会员分享,可在线阅读,更多相关《免费报表工具FineReport多数据源报表汇总.docx(10页珍藏版)》请在冰豆网上搜索。

免费报表工具FineReport多数据源报表汇总.docx

免费报表工具FineReport多数据源报表汇总

免费报表工具FineReport多数据源报表

简单多源报表

1.描述

多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。

如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售总额表,即数据来自于两张不同的数据库表:

2.示例

2.1打开单个数据源报表

打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\CrossReport\Cross.cpt。

2.2新增数据源

再新增一个数据集ds2,其SQL语句为SELECT*FROM[销售总额]。

ds2数据集与ds1数据集都有一个销售员字段。

2.3绑定数据列

如下图,将ds2中销售总额数据列拖拽到单元格中,并设置父格为销售员所在单元格,使销售总额跟随销售员而扩展:

2.4设置过滤

此时设计器预览,效果如下:

可以看到,扩展出来的每一个销售员下,都重复显示销售总额字段的所有数据。

虽然销售总额的父格为销售员数据列,由于他们来自于不同的数据集,因此销售总额不会将父格销售员作为条件进行筛选,即不存在附属关系。

我们需要销售总额与销售员一一对应,就需要设置过滤条件,将这两个数据集的数据通过销售员关联起来。

选中销售总额所在单元格,设置过滤,添加过滤条件:

销售员等于'C4',取出与C4单元格中销售员匹配的数据,如下图:

2.5保存并预览

保存模板,预览报表,即可看到如上的效果。

模板效果在线查看请点击Multi_1.cpt

已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Multidatasource\Multi_1.cpt

3.多数据源报表优势

多数据源报表传统的做法,是通过拼SQL将多源整合为单源。

如上例中将销量表与销售总额表整合起来:

SELECT*FROM销量,销售总额WHERE销量.销售员=销售总额.销售员。

若数据库表比较复杂,且使用的表个数不止2张而是更多时,可以想象,最终的SQL查询语句将会非常复杂。

FineReport天然支持多数据源的报表,一张报表中可以添加任意多个数据集,每个数据集使用最简单的SQL语句查询出需要的表数据,在报表中只需要使用过滤就可以将来自不同表的数据相互关联起来。

使得多数据源报表制作更加简单。

多源报表在线视频请查看【多源报表】

复杂多源报表

1.描述

上一节中,我们介绍了简单的多数据源报表,而实际应用时,交叉表当中的行列与汇总计算数据,均来自不同数据库也是很常见的。

如下报表:

在这张报表中,项目总数,需财政安排数,单位自筹,它资金都是来自于不同的数据集。

2.示例

2.1准备数据集

数据库的数据表是项目ID与项目名称有一张单独的表来保存,另有项目数量,财政补贴资金,单位自筹资金,其它资金等四张列表。

每张表均通过ID字段与项目名称表建立关系,以下是五张内置的数据集:

注:

在数据集面板中点击添加按钮,选择内置数据集即可新建内置数据集,直接添加数据,详细请查看内置数据集

项目名称(项目名称,ID)--project

项目总数(ID,项目总数)--zs

财政拨款(ID,金额)

--cz

单位自筹(ID,金额)--dz

其它资金(ID,金额)

--qt

2.2表样设计

如下设计报表:

2.3绑定数据列及过滤设置

将数据列依次拖拽到单元格中,设置如下:

2.4编号和公式

在需要添加编号和计算汇总的格子中写入公式:

2.5保存并预览报表

保存模板。

设计器中点击分页预览,即如上的效果图。

模板效果在线查看请点击Multi_2.cpt

已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\advanced\Multidatasource\Multi_2.cpt

说明:

这个报表当中的数据,来自于5个不同的数据集。

通过报表当中的数据列关联方式,将不同数据集的数据关联显示到一张表中。

从而避免了在传统的报表处理方式中,通过复杂的SQL语句,将5个数据集拼成单源的情况,大大降低报表制作的难度及对报表设计人员SQL水平的要求。

多源分片报表

1.描述

多源就是一张报表的数据来源来自多个数据表,甚至是多个物理数据库。

这里的“多个”常常不是两个三个,而是七八个乃至十几个,无法转成单源;

分片是指一张报表的纵向或横向或双向同时被分成了多个区域,往往每个区域来自不同的数据源;

这样的报表即多源分片报表,如下图:

2.思路设计

多源分片报表通常有比较复杂的横表头与纵表头,在设计多源分片报表时,可以先将表头设计好,最后设计中间部分的数据,此时只需要设置好对应的关联过滤即可,最后进行模板数据字典等显示设置;

另外一种快速制作多源分片报表的方法是每片单独设计,如上图报表,可以先设计分片1,确认无误后再设计分片2,如此类推,同样最后进行模板数据字典等显示设置。

3.示例

3.1准备数据

连接数据库FRDemo,新建四个数据集,数据集名分别为雇员、产品、订单信息和订单对应的sql语句如下:

雇员的SQL语句:

SELECT雇员ID,职务FROM雇员

产品的SQL语句:

SELECT产品ID,类别IDFROM产品where类别ID=1or类别ID=2订单信息的SQL语句:

SELECT订单.订单ID,雇员ID,产品ID,数量,(数量*单价AS总额FROM订单,订单明细WHERE订单.订单ID=订单明细.订单ID

订单的SQL语句:

select*from订单

3.2表样设计

最终表样如下:

分片1制作分片1按国家与雇员进行分组统计,中间数据受左表头与上表头双重控制:

∙分片2制作

分片2直接统计总额与数量,中间数据只受上表头控制:

∙分片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单元格作形态数据字典设置,都采用数据库表的方式,具体设置如下表:

单元格数据库数据表列名(实际值)列名(显示值)C4FRDemo雇员雇员ID姓名C6FRDemo雇员雇员ID姓名E2FRDemo产品类型类型ID类别名称E3FRDemo产品产品ID产品名称3.4保存与预览保存模板,设计器中点击分页预览,就可看到如上效果。

模板效果在线查看请点击Multi_3.cpt

已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Multidatasource\Multi_3.cpt。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1