交叉扩展时,如果纵向扩展格或横向扩展格是多层扩展,就实现了多层交叉扩展。
报表样例
通过本示例,可以了解单元格的多层交叉扩展。
制作如下图所示的多层交叉报表:
报表特点
- 交叉报表的行表头或者列表头存在多层扩展,例如本示例报表中,行表头有年、月两层分组扩展,列表头有地区、城市两层分组扩展
- 交叉单元格跟随行列表头进行多层交叉扩展,并求出销售额汇总值
制作方法
第一步 新建数据集
报表中的数据来自产品自带演示数据库中的“演示订单表”和“演示订单明细表”,使用复杂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
第二步 制作表样
绘制出报表基本结构:
第三步 定义单元格表达式
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单元格,在右侧属性栏【扩展】中,设置【扩展方式】为“横向扩展”。
第五步 设置报表不分页
点击【报表属性】的【分页方式】,设置为“不分页”。
第六步 保存预览
点击预览按钮,保存并查看报表。
预览页面如下图所示: