横向分片
横向分片
现在,我们把 图2_2中的报表做些改变,首先,我们在原有数据集的基础上增加如下数据集的定义: ds2:SELECT 类别.类别ID,类别.类别名称 FROM 类别 ds4:SELECT 产品.类别ID,产品.产品ID FROM 产品
然后在报表右侧追加一列,增加一个横向扩展格,如下图所示:
该报表的预览效果如下图所示:
从上图可以看出,该报表出现了两片横向扩展区域,这两片横向扩展区域看起来毫无关系,但是格线严格对齐。下面我们对这个报表继续做改变,在新增加的行中写入计算表达式,如下图所示:
(1) 在E2单元格输入表达式:=ds4.Group(类别ID,false,类别ID!=null) 设置显示值为:ds2.select1(类别名称,类别ID==value()) 扩展方向:横向扩展
(2) 在E3单元格输入表达式:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID)) 设置显示格式为:¥#0.00
(3) 在E4单元格输入表达式:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID) and 雇员ID==C4) 设置显示格式为:¥#0.00
E3格中的表达式为:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID))。其含义是:年月为C3时产品ID为E2的产品销售额之和;可以看出,这个表达式既和上表头E2格有关联,又和左表头C3格有关联。
E4格中的表达式为:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID) and 雇员ID==C4)。其含义是:C4单元格的销售员对产品ID为E2的产品销售额之和;可以看出,这个表达式既和上表头E2格有关联,又和左表头C4格有关联。
我们再看一下预览效果:
从上图可以看出,上下两片本来没有关系的扩展区域,通过E3、E4格的表达式和左表头C3、C4分别格关联起来,变成了左右两片紧密关联的扩展区域。