交叉分组折叠报表
教学视频
目标
要实现的效果如下图:
上面是一个交叉报表,横向有销售产品的产品类型,纵向有三个分组,分别是区域、省份和城市,每层的纵向分组与横向分组交叉值为对应的产品销量。
实现
1.准备
添加一个关联orders表的数据集,并设计一个四列三行的报表,将A1、B1、C1、三个单元格合并,将A2和A3两个单元格合并;B2、B3两个单元格合并,设计好的空白报表如下图:
2.绑定字段
将area字段绑定到A2单元格,province字段绑定到B2单元格,city字段绑定到C3单元格,product_type字段绑定到D1单元格,sale字段绑定到D2和D3单元格;同时将D1单元格的数据展开方向改为向右扩展,D2单元格的数据聚合方式改为。设计好的报表如下图:
3.设置父格
选中D2单元格,设置它的左父格为B2;选中D3单元格,设置它的上父格为D1,同时在A1单元格中添加好斜表头,如下图:
保存预览效果如下图:
4.设置单元格折叠
在BaskReport当中,对于绑定数据集字段的单元格,如果数据展开方向为向下展开,那么就可以设置它允许折叠子格所在行,选中A2、B2、C3单元格,在右侧属性面板中勾选允许折叠子格所在行属性,如下图:
需要注意的是折叠子格所在行,只能是当前单元格绑定了字段,且数据展开方式为向下展开时可用。
可以看到设置了允许折叠子格所在行必属性行,单元格中出现了向右的小箭头,表示当前单元格可折叠其子格所在行。
保存运行效果如下图:
最后,我们再将报表的第一行设置为表头重复并设置锁定到此行,并给单元格配置好相应的背景色,一个交叉分组可折叠的报表就完成了。