交叉扩展时,如果纵向扩展格或横向扩展格是多层扩展,就实现了多层交叉扩展。

报表样例

通过本示例,可以了解单元格的多层交叉扩展。

制作如下图所示的多层交叉报表: 多层交叉扩展 - 图1

报表特点

  • 交叉报表的行表头或者列表头存在多层扩展,例如本示例报表中,行表头有年、月两层分组扩展,列表头有地区、城市两层分组扩展
  • 交叉单元格跟随行列表头进行多层交叉扩展,并求出销售额汇总值

制作方法

第一步 新建数据集

报表中的数据来自产品自带演示数据库中的“演示订单表”和“演示订单明细表”,使用复杂sql数据集建立数据集ds1,数据集sql语法如下:select demo_orders.订单ID,demo_orders.货主地区,demo_orders.货主城市,year(demo_orders.订购日期) as 年份,month(demo_orders.订购日期) as 月份 ,demo_orderdetails.单价*demo_orderdetails.数量 as 销售额 from demo_orders,demo_orderdetails where demo_orders.订单ID=demo_orderdetails.订单ID and demo_orders.货主地区 in ('华南','西南') and year(demo_orders.订购日期) <1998

多层交叉扩展 - 图2

第二步 制作表样

绘制出报表基本结构: 多层交叉扩展 - 图3

第三步 定义单元格表达式

1)快捷公式选择【分组】,将“地区”字段拖拽至C2单元格,“城市”字段拖拽至C3单元格,“年份”字段拖拽至A4单元格,“月份”字段拖拽至B4单元格。

2)快捷公式选择【分组】--【求和】,将“销售额”字段拖拽至C4单元格。

生成的取数表达式如下: C2:=ds1.Group(年份,false)+"年" C3:=ds1.Group(月份,false)+"月" A4:=ds1.Group(货主地区,false) B4:=ds1.Group(货主城市,false) C4:=ds1.Sum(销售额)

计算销售额汇总值的C4单元格左侧的A4、B4单元格表达式均返回多个值,因此他们都会向下扩展。由于多层扩展时,扩展次序是从主到次的,即先扩展主格,然后扩展其附属格,再扩展其二级附属格,依此类推。因此,在纵向上,先扩展A4,然后再扩展B4,最后C4跟随B4扩展。同理,在横向上,先扩展C2,然后再扩展C3,最后C4跟随C3扩展。最终报表展现时,销售金额就是按照最后一层的“城市”和“月份”进行的汇总求和。

第四步 设置横向扩展

选中C2和C3单元格,在右侧属性栏【扩展】中,设置【扩展方式】为“横向扩展”。 多层交叉扩展 - 图4

第五步 设置报表不分页

点击【报表属性】的【分页方式】,设置为“不分页”。 多层交叉扩展 - 图5

第六步 保存预览

点击预览按钮,保存并查看报表。

预览页面如下图所示: 多层交叉扩展 - 图6