主从报表是一种很常见的报表需求:报表数据分为上下两部分,上方为汇总说明信息,下方为明细列表信息。如何快速制作这类报表呢?下面我们通过一个例子来看一下润乾报表是如何做的:
需求说明:
销售系统中的客户订单表样式如下:
报表上半部分显示订单基本信息,下半部分显示订单明细信息,每个订单呈独立的卡片式显示。
润乾报表开发步骤如下:
1、连接数据源
使用润乾报表设计器,连接自带数据源 DEMO。
2、设置数据集
新建报表并设置数据集,由于数据来源不同,需要设置多个数据集。
数据集 SQL 如下:
ds1: SELECT * FROM 订单
ds2: SELECT * FROM 订单明细
3、编辑报表表达式
根据目标报表样式,设置报表表达式。
其中:
1)在 B2 单元格输入表达式:= ds1.select(订单 ID,,, 订单 ID)
同时设置 B2 单元格的左主格为:`0
2)在 D2 单元格输入表达式:= ds1. 发货日期
设置显示格式为:yyyy 年 MM 月 dd 日
F2 单元格进行相同设置
3)在 B4 单元格输入表达式:= ds1. 客户 ID
F4、B5、F5、D8、E8 单元格进行相同设置
4)在 D5 单元格输入表达式:= ds1. 运货费
设置显示格式为:¥#0.00
5)设置 A8 单元格的左主格为 B8
6)在 B8 单元格输入表达式:= ds2.select@r(产品 ID:1, 订单 ID==B2,, 产品 ID)
这里是制作主从报表的关键。设置 B8 单元格的左主格为 B2 单元格,查询 ds2 数据集中所有订单 ID 为 B2 的产品列表。
7)在 C8 单元格输入表达式:= ds2. 单价
设置显示格式为:¥#0.00
8)在 F8 单元格输入表达式:=C8*E8
设置显示格式为:¥#0.00
9)设 A1、A2、A3、A4、A5、A6、A7、A9 单元格的左主格为 B2 单元格。
将这些单元格的左主格设为 B2 的目的是为了使 B2 单元格扩展的时候其它单元格随着一起扩展,从而实现单表式主子报表。
10)设 A9 单元格为行后分页,实现打印时每张定单单独打印。并将第 9 行下边框设为蓝色,对不同订单加以区分。
至此,我们就实现了需求效果,完成了一个典型的主从报表的制作。