报表知识库
我要提问

Web报表多个数据集之间的相互关联

进行web报表设计开发时,常要使用多个数据集,以及随之而来的一些需求:如何对多个数据集进行相互关联,即:在一个数据集中使用另外数据集的查询结果。

本文将通过一个比较简单的例子来展示润乾报表的上述应用,以下是详细步骤:

第一步,我们在新建的报表文件中定义数据集ds1,SQL语句如下:

SELECT 订单.订单ID,订单.客户ID,订单.订购日期,订单.货主名称,订单.运货商,订单.运货费 FROM 订单

第二步,定义数据集ds2、ds3,SQL语句如下:

ds2:SELECT 订单明细.订单ID,订单明细.单价,订单明细.折扣 FROM 订单明细 WHERE 订单ID>?

(注:其中”?”代表sql语句的参数)

ds3: SELECT 产品.产品名称,产品.产品ID FROM 产品

第三步,设置关联引用,在ds2的”参数”标签下增加一个参数(第二步中的sql语句中有几个问号,此处就要增加几个参数),写入表达式:

ds1.select(订单ID,,str(订购日期)==”1997-05-02 00:00:00.0″),结果类型默认,如图所示:

1.png

第四步,设置单元格表达式,

B3: =ds2.select1(订单ID)

C3:=ds2.产品ID

设置显示值表达式为:ds3.select1(产品名称,产品ID==value())

D3: =ds2.单价

设置显示格式为:¥#0.00

E3:=ds2.数量

F2: =ds2.折扣

设置显示格式为:#0.00

具体页面格式如图所示:

2.png

第五步,发布报表后预览,效果如图所示,

3.png

总结:本文只是通过一个简单需求的实现过程来说明在数据集中引用其他数据集的方法,即在该数据集的参数表达式中写入另外一个数据集表达式,取得相关字段即可。以后再遇到类似的数据集间的引用就可以用这种方法解决了。