基础报表技术 -- 分组式报表

学习内容:

基础报表技术 1.3 章节 – 分组式报表

笔记:

1. 什么是报表的数据集

数据集是报表的数据来源,是一批结构相同的数据集合,可以通过数据库的 SQL 查询获取,也可以来自其他的异构数据源,比如文件。

报表不关心数据集的数据来自哪里,其结果是基于数据集来计算的。

2. 分组式报表特征

数据以分组的形式展现报表,与数据集(一般指 SQL)分出来的组一一对应

数据集组内的明细数据和报表内的明细行也是一一对应

imagepng

若整个数据集被看成一组,列表式报表本质上是分组式报表的一种特殊情况

3. 报表的常见设置

除了包含上个章节列表式报表的常用设置外,分组式报表还可设置分组表头,当分组跨多页时,每页都能重复显示分组表头信息

imagepng

报表开发步骤:

1). 启动报表工具

imagepng

2). 连接数据源

imagepng

3). 新建空白报表

imagepng

4). 新建数据集

SQL 语句:

SELECT 产品. 供应商 ID, 产品. 类别 ID, 产品. 产品 ID, 产品. 产品名称, 产品. 库存量, 产品. 订购量, 产品. 单价 FROM 产品

imagepng

5). 拖拽字段生成取数表达式

gif

A3:表达式为 =ds1.group(供应商 ID; 供应商 ID:1) 意为 按照供应商 ID 分组并升序排列

B3:表达式为 =ds1.group(类别 ID; 类别 ID:1)

C3:表达式为 =ds1.select(产品 ID)

D3 – G3:表达式格式为 数据集. 字段名称 如:D3:=ds1. 产品名称

6). 其它设置

6.1 组内小计 – 计算库存金额

imagepng

G4:表达式为 =sum(E3*G3,B3{}) 意为 统计每个供应商所有库存的金额之和

计算结果如下

imagepng

6.2 显示值转换

6.1 中 供应商、类别显示的都是编码,看到这些编码并不能对应名称,可读性差。修改如下:

新增数据集 ds2:

SQL:SELECT 供应商. 供应商 ID, 供应商. 公司名称 FROM 供应商,查出编码与名称的对应关系

imagepng

A3 单元格设置显示值表达式为:ds2.select(公司名称, 供应商 ID==value(),1) 意为:根据 A3 单元格当前值从 ds2 中匹配取出对应的公司名称

效果:

imagepng

类别设置同供应商。

效果:

imagepng

6.3 设置显示格式

G3、G4 指定显示格式为¥#0.00,如下图

imagepng

6.4 设置表头 + 报表样式

imagepng

imagepng

保存,预览

imagepng

这样一个含有组合合计的分组式报表就做好了