交叉报表
报表样例
通过本示例,可以了解单元格交叉扩展在报表中的应用。
制作如下图所示的交叉报表“产品销售统计表”:
报表特点:
- 报表的行、列表头数据均是从数据集中动态获取,例如本示例报表中行表头按字段“地区”纵向分组,列表头按字段“产品名称”横向分组
- 报表行、列表头交叉区域的单元格统计出对应地区、产品下的销售金额
报表中的数据来自产品中自带的演示数据表“演示_销售表”,采用sql检索数据集从该表取地区、城市、产品名称、销售金额四个字段的数据,数据集sql语法如下:
制作方法
选中A2单元格,使用制表助手的“插入交叉表”实现这张按照地区、产品名称进行交叉统计的报表:
使用制表助手后,将自动在相应单元格中生成表达式:
接着,绘制好报表标题、边框、表头样式等报表格式,即完成了此示例报表的制作:
详细了解制表助手的使用,可以参考:单元格制表助手
功能点说明
单元格的交叉扩展
在同一个报表中,可能同时有进行纵向扩展的单元格和横向扩展的单元格,如果它们的子格有重叠部分,则这些子格就既有左主格又有上主格,在扩展时会既向下又向右跟随扩展复制,形成一片矩形单元格区域,从而做到单元格的交叉扩展。
在上面的交叉报表示例中,通过使用制表助手,在A3单元格自动生成表达式:=ds1.Group(地区,false),表示按照数据集字段“地区”进行分组,在B2单元格字段生成表达式:=ds1.Group(产品名称,false),表示按照数据集字段“产品名称”进行分组。它们的返回值都是多个,因此,A3和B2单元格均会进行主动扩展。同时,制表助手又自动将B2单元格的扩展方向设置为向右扩展(横向扩展),因此,报表中就同时存在了纵向扩展格A3和横向扩展格B2。B3单元格是它们的子格,既跟随A3纵向扩展,又跟随B2横向扩展,从而实现了自身的交叉扩展。
详细了解单元格交叉扩展,请参见:交叉扩展。