如何开发主从报表

   主从报表是一种很常见的报表需求:报表数据分为上下两部分,上方为汇总说明信息,下方为明细列表信息。如何快速制作这类报表呢?下面我们通过一个例子来看一下润乾报表是如何做的:

需求说明:

销售系统中的客户订单表样式如下:

报表上半部分显示订单基本信息,下半部分显示订单明细信息,每个订单呈独立的卡片式显示。
imagepng

润乾报表开发步骤如下:

1、连接数据源

使用润乾报表设计器,连接自带数据源 DEMO。

imagepng

2、设置数据集

新建报表并设置数据集,由于数据来源不同,需要设置多个数据集。

imagepng

数据集 SQL 如下:

ds1: SELECT *  FROM 订单

ds2: SELECT *  FROM 订单明细

3、编辑报表表达式

根据目标报表样式,设置报表表达式。

imagepng

其中:
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 行下边框设为蓝色,对不同订单加以区分。

至此,我们就实现了需求效果,完成了一个典型的主从报表的制作。

更多报表样式相关问题请查看:报表样式相关问题分类导航