横向分片

阅读(1812) 标签: 横向分片,

现在,我们把报表10.2.rpx做些改变,首先,我们在原有数据集的基础上增加如下数据集的定义:

ds2SELECT 类别.类别ID,类别.类别名称 FROM 类别

ds4SELECT 产品.类别ID,产品.产品ID FROM 产品

然后在报表右侧追加一列,增加一个横向扩展格,如下图所示:

该报表的预览效果如下图所示:

从上图可以看出,该报表出现了两片横向扩展区域,这两片横向扩展区域看起来毫无关系,但是格线严格对齐。下面我们对这个报表继续做改变,在新增加的行中写入计算表达式,如下图所示:

(1) E2单元格输入表达式:=ds4.group(类别ID,类别ID!=null;类别ID:1)

  设置显示值为:ds2.select (类别名称,类别ID==value(),1)

  扩展方向:横向扩展

(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

此报表保存为10.3.rpx

E3格中的表达式为:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID))。其含义是:年月为C3时产品IDE2的产品销售额之和;可以看出,这个表达式既和上表头E2格有关联,又和左表头C3格有关联。

E4格中的表达式为:=ds1.sum(数量*单价,产品ID in ds4.select(产品ID) and  雇员ID==C4)。其含义是:C4单元格的销售员对产品IDE2的产品销售额之和;可以看出,这个表达式既和上表头E2格有关联,又和左表头C4格有关联。

我们再看一下预览效果:

从上图可以看出,上下两片本来没有关系的扩展区域,通过E3E4格的表达式和左表头C3C4分别格关联起来,变成了左右两片紧密关联的扩展区域。