分组与汇总的不同位置- 分组式报表-复杂报表设计教程
目录

分组与汇总的不同位置

报表样例

在分组报表中,经常需要对分组数据进行汇总求和、计数等统计运算,例如下图所示的分组报表,汇总统计了每个地区分组下的客户公司数量:

上面的汇总运算单元格是位于每个地区分组内的最后一行中。在实际应用中,分组报表的汇总单元格位置经常会有多种样式需求。

例如,汇总单元格位于每个地区分组内的第一行:

例如,汇总单元格位于每个地区分组外的最后一行:

例如,汇总单元格位于每个地区分组外的第一行:

通过以上示例报表,可以了解主子格、以及人为设置主格和扩展在报表中的应用。

上述报表中的数据均来自产品中自带的演示数据集”演示_客户表“,其sql语法如下:

 

制作方法

下面分别说明上面四种分组、汇总在不同位置的示例报表的制作方法。

汇总单元格位于每个分组内最后一行

绘制出报表的基本结构,使用制表助手实现这张分组报表的单元格公式设置:

然后选中单元格C4,使用设计器工具栏“汇总”菜单中的“计数”运算向单元格C4插入汇总计算公式:

 

详细了解制表助手的使用,请参见:单元格制表助手

详细了解设计器工具栏汇总菜单的功能,请参见:汇总

汇总单元格位于每个分组内第一行

绘制出报表的基本结构,使用制表助手实现这张分组报表的单元格公式设置:

选中单元格C3,然后使用设计器工具栏“汇总”菜单中的“计数”运算向单元格C3插入汇总计算公式:

汇总单元格位于每个分组外最后一行

绘制出报表的基本结构,使用制表助手实现这张分组报表的单元格公式设置:

选中单元格A4,然后使用设计器工具栏的“扩展”菜单,设置单元格A4跟随A3向下扩展:

选中单元格B4,然后使用设计器工具栏“汇总”菜单中的“计数”运算向单元格B4插入汇总计算公式:

详细了解设计器菜单栏“扩展”的功能,请参见:扩展

汇总单元格位于每个分组外第一行

绘制出报表的基本结构,并使用制表助手实现这张分组报表的单元格公式设置:

选中单元格A3,然后使用设计器工具栏的“扩展”菜单,设置单元格A3跟随A4向下扩展:

选中单元格B3,然后使用设计器工具栏“汇总”菜单中的“计数”运算向单元格B3插入汇总计算公式:

功能点说明

主子格与扩展设置

进行地区分组的单元格,其表达式为:=演示_客户表.Group(地区,false),该表达式的值有多个,因此地区分组的单元格默认会主动向下扩展,并且默认能带动其右侧的单元格跟随其向下扩展。这时,主动扩展的单元格成为主格,被动跟随扩展的单元格成为附属格或子格。主、子格是相对的概念。

对于上面的汇总单元格在分组内的报表,由于汇总单元格在地区分组单元格的右侧,默认即为地区分组单元格的子格,因此,将跟随地区分组单元格向下扩展,实现分组内的汇总统计。

而对于上面的汇总单元格在分组外的报表,由于汇总单元格在地区分组单元格的上侧或者下侧,默认情况下它不是地区分组单元格的子格,因此,需要使用设计器菜单栏的“扩展”功能,人为设置主子格关系,即设置汇总单元格跟随地区分组单元格向下扩展,才能实现分组汇总计算。以汇总单元格位于分组外第一行的报表为例,需要设置内容为“公司数:”的A3单元格跟随A4向下扩展,但此时不需要再对单元格B3进行同样的设置,因为B3位于A3的右侧,此时将默认B3与A3具有相同的主格A4,A4扩展时,A3、B3都会跟随着A4扩展。

详细了解主子格的概念和应用,请参见:主格

count()

使用设计器菜单栏“汇总”中的“计数”运算生成的表达式,以汇总单元格位于分组外第一行的报表为例,B3单元格自动生成的表达式为:=count(C4{}),表示在当前主格范围内计算出单元格C4扩展出来的所有格子个数。由于单元格B3和C4都具有相同的左主格A4,因此会随着A4单元格的地区分组,通过计算C4单元格扩展出来的格子数而自动计算出每个地区分组下的公司个数。

count()是进行范围计算的单元格函数,详细了解该函数的功能请参见函数介绍:count()