多源关联报表

例如制作数据来自三个数据集的报表。

1、定义数据集

ds20:select DEMO_SUPPLIERS.SUPPLIERID, DEMO_SUPPLIERS.COMPANYNAME, DEMO_SUPPLIERS.CONTACTOR, DEMO_SUPPLIERS.CONTACTORPOST, DEMO_SUPPLIERS.ADDRESS, DEMO_SUPPLIERS.CITY from DEMO_SUPPLIERS

引用数据集demo_product, demo_cate, ds20

2、编辑报表

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

(2)C4单元格表达式:=demo_product.Select(产品名称)

(3)D4单元格表达式:=demo_product.单价,显示格式:¥#0.00

(4)E4单元格表达式:=demo_product.单位数量

(5)F4单元格表达式:=demo_product.库存量

(6)G4单元格表达式:=demo_product.订购量

(7)H4单元格表达式:=demo_product.供应商ID,显示值:ds20.select1(COMPANYNAME,value()==SUPPLIERID)

(8)I4单元格表达式:=ds20.select1(CONTACTOR,SUPPLIERID==H4)

(9)J4单元格表达式:=ds20.select1(CITY+ADDRESS,SUPPLIERID==H4)

(10)K4单元格表达式:=demo_product.中止,显示值:if(value()==0,"正常供应中","产品已中止供应")

(11)K1单元格表达式:=now(),显示格式:yyyy-MM-dd

(12)设置报表不分页

点击菜单工具栏的【报表属性】-【分页设置】,在弹出的“分页设置”窗口,将分页方式设置为“不分页”:

小结

多源关联报表

多源关联报表是指一个报表的数据来自多个物理数据表,数据之间存在着关联,共同构成一个完整的报表。
如本节报表中的数据来自三个不同的数据集,供货商、联系人、供货商地址都来自数据集ds20,通过供货商ID和数据集demo_product的产品名称、单价、库存量等关联在一起,构成产品信息清单表。
不同数据集之间数据的关联主要通过select1函数,下面我们做一下介绍。

select1()

函数说明: 从数据集中,按顺序检索到符合过滤条件的第一条记录,返回选择的字段值

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

参数说明:

selectExp 要选择的字段列名/列号,或表达式。列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推

filterExp 过滤条件

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

返回值: 数据类型由selectExp的运算结果决定

特别说明:当对数据集运用过滤条件后,确定只剩一条记录时,虽然同select()的运算结果一样,但是select1()运算效率高,因为它只要找到符合条件的记录,就不继续检索了,而select()要检索完所有的记录才返回。

示例:

例1:ds1.select1(name) 返回数据集ds1中第一条记录的name字段值。

例2:ds1.select1(name,score>90) 从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值