报表分组,是把记录放在共享的标题下,并为每个标题加上计数或小计。安全的做法是保留每个必需字段可见,不安全的做法是把报表收成只有汇总行。
本课属于数据库查询与报表,接在用第二排序键排序之后,因为分组通常是在排序之后进行。
怎样安全地分组?
- 列出任务要求出现在报表里的字段。
- 选择分组字段,并先按它排序。
- 加入任务要求的汇总值:计数、合计或平均值,每组一个,再加整体一个。
- 保留明细行,除非任务说只显示汇总。
- 逐一核对完成的报表里有没有每个必需字段。
完整例题
使用模块页面里虚构的 Harbour Hill Clubs 表。
任务:按 Club 分组。为每位成员显示 Name、Year 和 Fee。为每个社团加上成员人数和费用合计,再加一个费用总计。
**第 1 步,分组并排序:**Chess、Drama、Robotics。
**第 2 步,Chess:**Aiman、Dewi、Hui、Imran。四人。费用合计 30 + 30 + 30 + 30 = 120。
**第 3 步,Drama:**Bella、Chen、Gopal。三人。45 + 45 + 45 = 135。
**第 4 步,Robotics:**Evan、Farah、Jia。三人。60 + 60 + 60 = 180。
**第 5 步,总计:**120 + 135 + 180 = 435。再核对一次:4 人 RM30、3 人 RM45、3 人 RM60,得 120 + 135 + 180,同样是 435。
十行明细仍然显示在三个标题下面,还有三个小计和一个总计。
要避免的错误
把报表切换成只显示汇总:
报表只显示 Chess 4 和 120、Drama 3 和 135、Robotics 3 和 180,没有别的。
合计是对的,但每位成员的 Name、Year 和 Fee 都不见了。
任务要求了这些内容,所以会失分。改正方法是把明细行重新打开。另一个相关的疏忽是忘了总计,所以最后要把任务清单上的每一项都核对一遍。
自测
1. 按 Year 分组。给出每个年级的人数和费用合计。
显示答案
Year 9:Dewi、Gopal、Jia,共 3 人,30 + 45 + 60 = 135。Year 10:Aiman、Chen、Farah、Imran,共 4 人,30 + 45 + 60 + 30 = 165。Year 11:Bella、Evan、Hui,共 3 人,45 + 60 + 30 = 135。总计 435(135 + 165 + 135)。
2. 每个社团的平均出席节数是多少?
显示答案
Chess:(8 + 11 + 10 + 12) / 4 = 41 / 4 = 10.25。Drama:(12 + 9 + 6) / 3 = 27 / 3 = 9。Robotics:(12 + 7 + 5) / 3 = 24 / 3 = 8。
3. 分组报表里 Robotics 的计数是 2。你该先检查什么?
显示答案
源表中 Robotics 有 3 人,所以报表缺了一条记录。先检查有没有残留的筛选或条件,然后重新运行,并与源数据对照。这就是把结果与源数据对照那一课的方法。
接下来学什么
用把显示结果与源数据集对照结束本模块,然后试做练习题。ICT 实操任务与证据检查器可以帮你逐项勾选要求。
要做到每项要求都不漏,需要养成习惯。一对一线上 ICT 补习的老师可以陪你逐项练习。