一个例子
一个例子
我们看下面这个报表:
这是一个很常见的主子报表,主表和子表往往存储在不同的物理表中,而且通常是一对多的关系。在一般的报表工具中,这种报表往往利用专门的子表控件来实现,虽然功能实现了,但是存在的缺点是:主子表之间不容易共享数据,不容易进行表间数据的运算。润乾报表利用其多源关联分片模型,很轻松地在单个报表中实现了主子表的功能。下面我们介绍一下该报表的制作方法:
1、 首先定义数据集:
ds1:SELECT DISTINCT 订单.订单ID,订单.客户ID,订单.发货日期,订单.到货日期,订单.货主名称,订单.运货商,订单.运货费,订单.货主城市 FROM 订单
ds2:SELECT 订单明细.产品ID,订单明细.单价,订单明细.折扣,订单明细.数量,订单明细.订单ID FROM 订单明细
2、 定义单元格的表达式
(1) 在B2单元格输入表达式:= ds1.dselect(订单ID)
(2) 在D2单元格输入表达式:= date(ds1.发货日期)
设置显示格式为:yyyy年MM月dd日
(3) 在F2单元格输入表达式:= date(ds1.到货日期)
设置显示格式为:yyyy年MM月dd日
(4) 在B4单元格输入表达式:= ds1.客户ID
(5) 在F4单元格输入表达式:= ds1.货主名称
(6) 在B5单元格输入表达式:= ds1.运货商
(7) 在D5单元格输入表达式:= ds1.运货费
设置显示格式为:¥#0.00
(8) 在F5单元格输入表达式:= ds1.货主城市
(9) 在B8单元格输入表达式:= ds2.select(产品ID,false,订单ID==B2,,true)
(10) 在C8单元格输入表达式:= ds2.单价
设置显示格式为:¥#0.00
(11) 在D8单元格输入表达式:= ds2.折扣
设置显示格式为:#0.0
(12) 在E8单元格输入表达式:= ds2.数量
(13) 在F8单元格输入表达式:=C8*E8
设置显示格式为:¥#0.00
3、 设置左主格属性
将A1、A2、A3、A4、A5、A6、A7、A8、A9单元格的左主格设为B2单元格。
4、 预览报表
这个例子中,我们发现,左主格是人为指定的,并不是缺省的,这用到了润乾主格模型中的主格认定规则,主格的认定包括缺省认定和人为认定,下面我们对该理论进行介绍: