多源关联的交叉报表- 多源关联分片-V5教程_扩展与关联
目录

多源关联的交叉报表

一、报表实例

制作如下图所示的“各地产品销售额”报表,其中的数据来自三个数据集。

二、设计过程

1、引用数据集demo_duoyuan1, demo_cate, demo_product

2、编辑报表

(1)A3单元格表达式:=demo_duoyuan1.Group(地区,false,地区!=null)

(2)B3单元格表达式:=demo_duoyuan1.Group(城市,false)

(3)C2单元格表达式:=demo_product.Group(类别,false,类别!=null),显示值:demo_cate.select1(类别名称,类别ID==value())

(4)C3单元格表达式:=demo_duoyuan1.Sum(数量*单价,产品ID in demo_product.select(产品ID)),显示格式:#

(5)设置报表不分页

(6)美化外观

 C3格中的表达式为:=demo_duoyuan1.Sum(数量*单价,产品ID in demo_product.select(产品ID))。其含义是:C2类别的产品在B3城市的销售额。可以看出,这个表达式既和B3格有关联,又和C2格有关联,将两个数据集联系在一起。

3、保存预览

此报表保存为“各地产品销售额”,预览结果如下:

 三、小结

本节报表中的数据来自三个不同的数据集,通过C3单元格的表达式关联起来,构成多源关联的交叉报表。

本节介绍了另外一种多源报表的关联方式,即通过Sum()数据集函数,它和select1()函数的共同特点是参数中存在条件表达式,可以将不同的数据集联系到一起。下面我们做一下介绍。

四、函数说明

sum() 数据集函数

函数说明: 从数据集当前记录行集中,检索出符合条件的记录集合,算出给定字段或表达式的汇总值

语法: datasetName.sum(selectExp{,filterExp{,rootGroupExp}})

参数说明:

selectExp 需求和的字段或表达式

filterExp 条件表达式

rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false, 则从本单元格主格的结果集里取数

返回值: 实数

示例:

例1:ds1.sum(quantity) 返回数据集ds1当前行集中,quantity字段的汇总值。

例2:ds1.sum(quantity,productid=="1") 从数据集ds1当前行集中,检索出productid=="1"的记录集,求得其quantity字段的汇总值。

课后练习:

制作如下图所示的多源关联交叉报表: