1. 概述
1.1 版本
报表服务器版本 |
---|
10.0 |
1.2 预想效果
上一节中,我们介绍了 简单多源报表,而实际应用时,交叉表当中的行列与汇总计算数据,均来自不同数据库也是很常见的。
如下图所示,在这张报表中,项目总数,需财政安排数,单位自筹,其他资金都是来自于不同的数据集。
1.3 实现思路
这个报表当中的数据,来自于 5 个不同的数据集。可通过报表当中的数据列关联方式,将不同数据集的数据关联显示到一张表中。
从而避免了在传统的报表处理方式中,通过复杂的SQL 语句,将 5 个数据集拼成单源的情况,大大降低报表制作的难度及对报表设计人员 SQL 水平的要求。
2. 示例
2.1 报表制作
2.1.1 新建数据集
数据库的数据表是项目 ID 与项目名称有一张单独的表来保存,另有项目数量,财政补贴资金,单位自筹资金,其他资金等四张列表。
每张表均通过 ID 字段与项目名称表建立关系,以下是五张内置的数据集:
注:在数据集面板中点击添加按钮,选择内置数据集即可新建内置数据集,直接添加数据,详细请查看:内置数据集
1)项目名称(ID,项目名称)——project
2)项目总数(ID,数量)——zs
3)财政拨款(ID,金额)——cz
4)单位自筹(ID,金额)——dz
5)其他资金(ID,金额)——qt
2.1.2 报表样式
报表样式如下图所示:
2.2 数据列及过滤设置
将数据列依次拖拽到单元格中,设置如下表所示:
单元格 | 数据集 | 列名 | 设置 |
---|---|---|---|
B4 | project | 项目名称 | 数据设置分组并从上到下纵向扩展,其他默认 |
C4 | zs | 数量 | 数据设置汇总求和,不扩展,过滤条件为“数据列”:ID 等于 project.ID,其他默认 |
E4 | cz | 金额 | 数据设置汇总求和,不扩展,过滤条件为“数据列”:ID 等于 project.ID,其他默认 |
F4 | dz | 金额 | 数据设置汇总求和,不扩展,过滤条件为“数据列”:ID 等于 project.ID,其他默认 |
G4 | qt | 金额 | 数据设置汇总求和,不扩展,过滤条件为“数据列”:ID 等于 project.ID,其他默认 |
示例:C4 单元格的数据设置及过滤设置如下图所示:
其他单元格类似,不再详细说明。
2.3 编号和公式
在需要添加编号和计算汇总的格子中写入公式,如下表所示:
单元格 | 公式 | 其他设置 |
---|---|---|
A4 | =&B4 | 在右键扩展属性中,定义其左父格为 B4 无 |
D4 | =sum(E4:G4) | 不扩展 |
C5 | =sum(C4) | 不扩展 |
D5 | =sum(D4) | 不扩展 |
E5 | =sum(E4) | 不扩展 |
F5 | =sum(F4) | 不扩展 |
G5 | =sum(G4) | 不扩展 |
示例:A4 单元格的设置如下图所示:
2.4 效果预览
2.4.1 PC 端
保存模板,选择「分页预览」,效果如 1.2 节所示。
2.4.2 移动端
1)App
2)HTML5
3. 已完成模板
已完成的模板,可参见%FR_HOME%\webroot\WEB-INF\reportlets\doc\advanced\Multidatasource\复杂多源报表.cpt
点击下载模板:复杂多源报表.cpt