1. 概述
1.1 概念介绍
多源报表是指一张报表中有多个数据集的数据,这些数据集来自不同的数据库表,且这些表之间存在数据关系,也就是有共同的字段。
如下图示例,表格中有两个数据集的数据,ds1 来自「S订单」表,ds2 来自于「S客户」表,它们都有一个共同字段:客户ID,也就是说它们的数据之间有关系。
最终预览效果如下图所示:
1.2 实现思路
那么 FineReport 中如何实现这样的简单多源报表呢?
其实很简单,就是要利用好那个共同字段,建立起多个数据集之间的联系,展示出它们的数据关系。
2. 示例
2.1 准备数据
新建数据集 ds1,SQL 语句为:SELECT * FROM S订单
新建数据集 ds2,SQL 语句为:SELECT * FROM S客户
这两数据集有一个共同的字段:客户ID
2.2 设计表格
如下图设计表格,将数据集中的字段分别拖拽到对应单元格中。
其中 A2~D2 插入 ds1 的字段,E2~F2 插入 ds2 的数据。
2.3 建立关联
字段拖进去还不能预览,因为这两个数据集之间是有数据关系的,需要将这个关系展示出来。
双击 E2 单元格,给单元格添加过滤条件,让 ds2 的「客户ID」等于 ds1 的「客户ID」,这样两数据集就关联起来了。
2.4 效果预览
保存报表,点击分页预览,效果如 1.1 节中所示。
支持 App 端和 HTML5 端预览。
3. 模板下载
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Multidatasource\简单多源报表.cpt
点击下载模板:简单多源报表.cpt