一个例子
一个例子
我们先看下面这个多层交叉报表:
从上面这个报表可以看出,这是一个多层的交叉报表,上边有两层动态横向扩展的上表头,左边有两层动态纵向扩展的左表头,中间的交叉点进行汇总统计,统计值和上表头、左表头息息相关。我们看一下这样的报表在润乾报表中是如何设计的:
1、 首先定义数据集:
ds1:SELECT 客户.地区,客户.城市,订单明细.数量,订单明细.折扣,订单明细.单价,订单.雇员ID,订单.订购日期,订单明细.产品ID FROM 订单明细,订单,客户 WHERE 客户.客户ID = 订单.客户ID AND 订单.订单ID = 订单明细.订单ID and 订单.订购日期 is not null and 客户.地区 in ('华南','西南') and year(订单.订购日期)>=1998
2、 写入单元格表达式,如下图所示:
(1) 在A3单元格录入表达式:=ds1.group(year(订购日期),false)+"年"
(2) 在C3单元格录入表达式:=ds1.group(month(订购日期),false)+"月"
(3) 在D1单元格录入表达式:= ds1.group(地区,false),扩展方向:横向
(4) 在D2单元格录入表达式:= ds1.group(城市,false),扩展方向:横向
(5) 在D3单元格录入表达式:=ds1.sum(数量*单价)
从上图可以看出,上表头分别通过D1格和D2格横向扩展形成,左表头通过A3格和C3格纵向扩展形成,中间的交叉点利用sum函数进行汇总,于是一个多层交叉报表很轻松就完成了。
这个例子用到了非线性报表模型中的扩展模型以及主格和附属格的模型,介绍如下: