历史版本4 :复杂多源报表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

1. 描述编辑

上一节中,我们介绍了简单多源报表,而实际应用时,交叉表当中的行列与汇总计算数据,均来自不同数据库也是很常见的。如下报表:
在这张报表中,项目总数,需财政安排数,单位自筹,它资金都是来自于不同的数据集。

2. 示例编辑

2.1 准备数据集
数据库的数据表是项目ID与项目名称有一张单独的表来保存,另有项目数量,财政补贴资金,单位自筹资金,其它资金等四张列表。每张表均通过ID字段与项目名称表建立关系,以下是五张内置的数据集:
注:在数据集面板中点击添加按钮,选择内置数据集即可新建内置数据集,直接添加数据,详细请查看内置数据集
项目名称(项目名称,ID)--project
项目总数(ID,项目总数)--zs
财政拨款(ID,金额)--cz
单位自筹(ID,金额)--dz
其它资金(ID,金额)--qt
2.2 表样设计
如下设计报表:
2.3 绑定数据列及过滤设置
将数据列依次拖拽到单元格中,设置如下:
单元格数据集列名设置
B4project项目名称数据分组并从上到下纵向扩展,其它默认
C4zs数量数据汇总求和,不扩展,过滤条件为“数据列”:ID等于project.ID,其它默认
E4cz金额数据汇总求和,不扩展,过滤条件为“数据列”:ID等于project.ID,其它默认
F4dz金额数据汇总求和,不扩展,过滤条件为“数据列”:ID等于project.ID,其它默认
G4qt金额数据汇总求和,不扩展,过滤条件为“数据列”:ID等于project.ID,其它默认
2.4 编号和公式
在需要添加编号和计算汇总的格子中写入公式:
单元格公式其它设置
A4=&B4在右键扩展属性中,定义其左左父格为B4
D4=sum(E4:G4)null
C5=sum(C4)null
D5=sum(D4)null
E5=sum(E4)null
F5=sum(F4)null
G5=sum(G4)null
2.5 保存并预览报表
保存模板。设计器中点击分页预览,即如上的效果图。模板效果在线查看请点击 Multi_2.cpt
已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\doc\advanced\Multidatasource\Multi_2.cpt

说明:这个报表当中的数据,来自于5个不同的数据集。通过报表当中的数据列关联方式,将不同数据集的数据关联显示到一张表中。从而避免了在传统的报表处理方式中,通过复杂的SQL语句,将5个数据集拼成单源的情况,大大降低报表制作的难度及对报表设计人员SQL水平的要求。