上图所显示的报表来自多个数据源,而且布局复杂。
下面我们来看一下上述报表的实现过程:
1.连接数据库FRDemo
2.设计报表
2.1新建报表
2.2新建一数据集
数据集Customer
SQL语句:select CustomerID,CustomerName,CustomerType from customer
数据集CustomerDetail
SQL语句:select CustomerID,Amount,Paid,ProductID,Quantity,TransportDate,Year from CustDetail
数据集CustomerType
SQL语句:select * from CustType
数据集Product
SQL语句:select ProductID,ProductName,Type from product
数据集ProductType
SQL语句:select * from ProType
2.3纵向扩展设计
2.3.1表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
B6
|
customerType.CustomerID
|
从上到下扩展,其余默认
|
C6
|
customer.CustomerID
|
从上到下扩展,居中,其余默认
|
2.3.2设置过滤
B6和C6的内容分别来自不同的表customerType和customer,为了让其关联起来,在C6单元格上设置过滤
双击C6单元格,进入数据列属性设置对话框,点击过滤标签,如图:
数据列选择CustomerType,操作符选择等于,点击最右边的箭头 ,选择单元格,设置等于B6单元格,点击增加,如图:
预览如图,B6和C6中的内容已经关联起来:
2.4分片一:汇总已签合同的数据
2.4.1表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
E6
|
customerDetail.paid
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
E7
|
customerDetail.quantity
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
2.4.2设置过滤
同样E6和E7的内容和B6,C6来自不同的数据表,为了将其关联起来,对E6和E7设置过滤。
E6和E7的过滤条件相同,设置如图:
预览如图:
2.5分片二:汇总已发货的数据
2.5.1表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
F6
|
customerDetail.paid
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
F7
|
customerDetail.quantity
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
2.5.2过滤设置
F6和F7的过滤设置如图
2.6分片三:按产品汇总
2.6.1表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
G4
|
ProductType.TypeID
|
从左往右扩展,居中,其余默认
|
G5
|
Product.ProductID
|
从左往右扩展,居中,其余默认
|
G6
|
customerDetail.paid
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
G7
|
customerDetail.quantity
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
2.6.2过滤设置
G5过滤设置如图
G6和G7的过滤设置如图
预览如图
2.7分片四:汇总已付款数据
2.7.1表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
H6
|
customerDetail.paid
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
H7
|
customerDetail.quantity
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
2.7.2过滤设置
H6和H7的过滤设置如图
2.8分片五:按年汇总
2.8.2表样设计
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
I4
|
CustomerDetail.Year
|
从左向右扩展,居中,其余默认
|
I6
|
customerDetail.paid
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
I7
|
customerDetail.quantity
|
数据设置:汇总-求和,左父格:C6,居中,其余默认
|
2.8.1过滤设置
I6和I7的过滤设置如图
3.保存预览