目录

多源交叉填报表

多源交叉填报表

多源交叉填报表,与制作普通多源交叉报表一样,不同的是,在普通报表的基础上为所要更新的每个数据表设置更新属性。

 


上图所示为一张多源分片交叉填报表,分上下两片,一片是以货主地区为维度的各产品销售额的统计,一片是以销售人员为维度的各产品销售额的统计,所以统计销售额数据需要根据左表头和上表头将数据分别回填到两个数据表中。

下面我们分步骤来完成这张多源分片交叉填报表。

第一步,新建一张填报表,新建数据集。

这里涉及到多个数据集,详细信息如下:

ds1:数据表:订单,订单明细 数据字段:订单.客户ID,订单.货主地区,订单.雇员ID,订单.运货商 订单明细.产品ID 计算列:订单明细.单价 * 订单明细.数量 as 总金额 检索条件:订单.订单ID = 订单明细.订单ID

ds2:数据表:产品 数据字段:产品.产品ID,产品.产品名称,产品.类别ID

ds3:数据表:客户 数据字段:客户.客户ID,客户.公司名称,客户.地区

ds4:数据表:雇员 数据字段:雇员.雇员ID,雇员.职务 计算列:雇员.姓氏 + 雇员.名字 as 姓名

ds5:数据表:类别 数据字段:类别.类别ID,类别.类别名称

第二步,设计报表样式,如下图:

 


第三步,编辑表达式。

 


B3: = ds1.group(货主地区,false,货主地区!=null)

B5: = ds4.group(职务,false)

C5: = ds4.select(雇员ID)

E2: = ds2.group(类别ID,false,类别ID!=NULL)

D3,D4,D5,D6如图中所示

E3: = ds6.sum(销售额,类别ID == E2 AND 货主地区 == B3)

E4: = ds6.sum(销售额,类别ID == E2 AND 货主地区 ==A4)

E5: = ds7.sum(销售额,类别ID == E2 AND 雇员ID == C5)

E6: = ds7.sum(销售额,类别ID == E2 AND 雇员ID ==A6)

第四步,分别为E3,E4,E5,E6单元格设置更新属性。

E3单元格:

 


E4单元格:

 


E5单元格:

 


E6单元格:

 


第五步,设置自动计算。

第D 列显示的每一横行的销售额的合计,可以通过后面各列输入的销售额自动计算出来。

D3单元格:

 


同理给D4,D5,D6单元格分别设置自动计算表达式${sum(E4{})},${sum(E5{})},${sum(E6{})}。

保存为9.3.raq。

第六步,发布。

与发布9.2.raq一样,通过修改3.11.jsp中的报表文件名属性来发布该报表。