纵向分片报表- 分片报表-复杂报表设计教程
目录

纵向分片报表

报表样例

通过本示例,可以了解多源分片报表的相关概念以及制作方法。

制作如下图所示的纵向分片报表:

报表特点:

报表中的第一个数据集ds1从产品自带演示数据库中的“演示_订单表”和“演示_订单明细表”取数,数据集sql语法如下:

报表中的第二个数据集ds2从产品自带演示数据库中的“演示_雇员表”取数,数据集sql语法如下:

制作方法

首先选中A2单元格,然后使用制表助手的“插入交叉表”实现报表的上半个分片:

使用制表助手后,将自动生成上半片区域单元格的表达式:

接下来,使用单元格快捷公式向导的“分组”,依次向A5、B5单元格拖入数据集ds2中的字段“职务”、“雇员ID”,完成下半片区域独立扩展的行表头绘制:

进一步使用单元格快捷公式向导中的“汇总”-“求和”,向单元格C5拖入数据集ds1的字段“销售额”,然后在单元格中自动生成的Sum()函数表达式中,设置数据过滤条件表达式“雇员ID==B5”,让C5单元格的数据与上表头和左表头都关联起来,最终C5单元格中的表达式为=ds1.Sum(销售额,雇员ID==B5),如下图:

此外,由于B5单元格的数据是雇员ID,为了让报表展现时显示为雇员姓名,可以设置B5单元格的显示值表达式为:ds2.雇员姓名

同时,为了让两个分片视觉上更容易区分,可以分别为下面分片的单元格设置一个背景色。单元格背景色可以使用工具栏直接设置背景色属性,也可以使用样式设置。

详细了解单元格显示值的设置方法,请参考:显示值

详细了解样式的使用,请参考:报表样式

详细了解单元格公式向导的使用,请参考:单元格向导

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

功能点说明

多源、分片与关联

多源是指一个报表的数据来源有多个。这里的“多个”不只是两个三个,有时甚至是七八个乃至十几个。例如本示例中的报表,数据来自两个数据集。多源往往带来分片,正是由于分片,使得报表设计必须直接基于多源进行,而不能先将多源转成单源进行。有相当一部分分片报表无论如何也不可能转化成单源处理,部分能转成单源的报表处理也非常繁琐。

分片是指报表被分成了多个区域,每个区域独立扩展或者其中一个扩展区域为另一个扩展区域的子扩展区域,也可能是扩展区域和静态区域的混合。例如本示例报表中,存在上下两片独立扩展的行表头(即左表头)。

关联是指报表不同区域的数据存在着关联,并且不同区域之间的数据需要进行关联统计运算。例如本示例报表中,C5单元格是求出数据集ds1的“销售额”字段的汇总值,但是计算时需要同时与上表头和左表头中的数据关联。其中左表头的数据还是来源于另一个数据集ds2。

Sum()

C5单元格中设置的表达式为:=ds1.Sum(销售额,雇员ID==B5)

它的结果是在数据集ds1中找出雇员ID与单元格B5扩展出来的格子数据相等的全部记录,然后求出这些记录的销售额汇总值。

这里是利用了Sum函数可以设置条件表达式,来实现C5单元格数据与左表头B5单元格的关联。同时,由于C5单元格是对数据集ds1进行计算,而上表头的C2、C3单元格也是对数据集ds1的因此,C5也与上表头进行了关联。这样族中就实现了上下两个分片间数据的关联运算。

详细了解Sum()函数,请参考:Sum()