文档详情

多数据源报表解析之简单多源报表.pdf

发布:2019-03-30约1.1千字共4页下载文档
文本预览下载声明
多数据源报表解析之简单多源报表 多数据源报表即一张报表中可以定义多个数据集,分别取出需要的数据库表,所取的数 据库表甚至可以来自于不同的数据库。本文通过几个例子说明多个数据集数据如何相互关联 来实现多源报表。 1. 描述 多数据源,就是在同一张报表当中,显示的数据来自于多个不同的表或不同的库。 如下图一张简单的多数据源报表,左侧蓝色部分来自于销量表,右侧黄色部分来自销售 总额表,即数据来自于两张不同的数据库表: 2. 示例 2.1 打开单个数据源报表 打开报 表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Primary\CrossReport\Cr oss.cpt。 2.2 新增数据源 再新增一个数据集 ds2 ,其SQL 语句为 SELECT * FROM [销售总额]。ds2 数据集与 ds1 数据集都有一个销售员字段。 2.3 绑定数据列 如下图,将 ds2 中销售总额数据列拖拽到单元格中,并设置父格为销售员所在单元格, 使销售总额跟随销售员而扩展: 2.4 设置过滤 此时设计器预览,效果如下: 可以看到,扩展出来的每一个销售员下,都重复显示销售总额字段的所有数据。 虽然销售总额的父格为销售员数据列,由于他们来自于不同的数据集,因此销售总额不 会将父格销售员作为条件进行筛选,即不存在附属关系。 我们需要销售总额与销售员一一对应,就需要设置过滤条件,将这两个数据集的数据通 过销售员关联起来。 选中销售总额所在单元格,设置过滤 ,添加过滤条件:销售员 等于 C4 ,取出与C4 单元格中销售员匹配的数据,如下图: 2.5 保存并预览 保存模板,预览报表,即可看到如上的效果。 3. 多数据源报表优势 多数据源报表传统的做法,是通过拼 SQL 将多源整合为单源。如上例中将销量表与销售 总额表整合起来:SELECT * FROM 销量,销售总额 WHERE 销量.销售员 = 销售总额.销 售员 。若数据库表比较复杂,且使用的表个数不止2 张而是更多时,可以想象,最终的 SQL 查询语句将会非常复杂。 FineReport 天然支持多数据源的报表,一张报表中可以添加任意多个数据集,每个数据 集使用最简单的 SQL 语句查询出需要的表数据,在报表中只需要使用过滤就可以将来自不 同表的数据相互关联起来。使得多数据源报表制作更加简单。
显示全部
相似文档