数据分析软件FineReport教程:[23]多源报表
FineReport报表天然支持多数据源报表。一张报表中可以定义多个数据集,分别取出需要的数据库表,所取的数据库表甚至可以来自于不同的数据库。下面就通过数据分析软件FineReport来简单介绍一下。
工具/原料
数据分析软件FineReport7.1.1
大小:148.2M 适用平台:windows/linux
简单多源报表
1、描述多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售总额表,即数据来自于两张不同的数据库表:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/bbf95c406afec314e536715dcac1b727ad539c4a.jpg)
5、设置过滤此时设计器预览,效果如下:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/a48bc2e8904800fc68047cbdd42043715edb934a.jpg)
7、保存并预览保存模板,预览报表,即可看到如上的效果。
8、多数据源报表优势多数据源报表传统的做法,是通过拼SQL将多源整合为单源。如上例中将销量表与销售总额表整合起来:SELECT * FROM 销量,销售总额 WHERE 销量.销售员 = 销售总额.销售员。若数据库表比较复杂,且使用的表个数不止2张而是更多时,可以想象,最终的SQL查询语句将会非常复杂。FineReport天然支持多数据源的报表,一张报表中可以添加任意多个数据集,每个数据集使用最简单的SQL语句查询出需要的表数据,在报表中只需要使用过滤就可以将来自不同表的数据相互关联起来。使得多数据源报表制作更加简单。
复杂多源报表
1、实际应用时,交叉表当中的行列与汇总计算数据,均来自不同数据库也是很常见的。如下报表:在这张报表中,项目总数,财政拨款,自有资金及其它资金都是来自于不同的数据集。
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/2184380f8835dd8a722da1b403013870d441874a.jpg)
3、项目总数(ID,项目总数)--zs
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/51cd85cec7f88a77652e6cff6e4a2f27e6eff84a.jpg)
5、单位自筹(ID,金额)--dz
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/90c61d1c99c0affca775c09c2372941fbfe4ea4a.jpg)
7、表样设计如下设计报表:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/4b626771fe1d96d849ea85932ccd0c6efaf2e14a.jpg)
9、编号和公式在需要添加编号和计算汇总的格子中写入公式:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/604e9556ad042e68761ab55285f85856d43dd14a.jpg)
2、思路设计多源分片报表通常有比较复杂的横表头与纵表头,在设计多源分片报表时,可以先将表头设计好,最后设计中间部分的数据,此时只需要设置好对应的关联过滤即可,最后进行模板数据字典等显示设置;另外一种快速制作多源分片报表的方法是每片单独设计,如上图报表,可以先设计分片1,确认无误后再设计分片2,如此类推,同样最后进行模板数据字典等显示设置。
3、准备数据连接数据库FRDemo,新建四个数据集,数据集名分别为雇员、产品、订单信息和订单对应的sql语句如下:雇员的SQL语句: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 订单
4、表样设计最终表样如下:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/84010e2a04e23ea255b144c92b10bc33ed38c34a.jpg)
6、分片2制作分片2直接统计总额与数量,中间数据只受上表头控制:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/c33acc828689a146cb420a4af4bd4c7c35b3344b.jpg)
8、形态设置最后我们根据需要,设置数据的显示样式、形态、颜色等。对C4,C6,E2和E3单元格作形态数据字典设置,都采用数据库表的方式,具体设置如下表:
![数据分析软件FineReport教程:[23]多源报表](https://exp-picture.cdn.bcebos.com/023cff37c97622bcf5362bd4a05fd5460496284b.jpg)
9、保存与预览保存模板,设计器中点击分页预览,就可看到如上效果。