不完全分组

阅读(5979) 标签: 不完全分组, select, group,

我们把报表11.1.1.rpx做些变化,不要把所有的记录用于分组,因为某些组用户并不关心,我们仅仅保留“华北”、“华东”这两个组,把剩余的组全部归并成一组,命名为“其他”,报表样式如下图所示:

这种仅仅对数据集中的部分记录进行分组的报表,我们称为不完全分组报表。

这种不完全分组的报表,不能简单地用SQL中的过滤条件来实现,因为剩余没有参与分组的记录也要在“其他”组中进行统计,而不是SQL中过滤掉就行了。

看看润乾报表中如何实现这样的报表:

 

1、  首先通过“报表”-> “数据集”菜单,定义数据集

ds1SELECT 客户.城市,客户.地区,订单明细.数量,订单明细.单价 FROM 客户,订单,订单明细 WHERE 客户.客户ID = 订单.客户ID  AND  订单.订单ID=订单明细.订单ID

2、  定义单元格属性和表达式

(1) A2单元格输入表达式:=ds1.group(地区,地区=='华东' or 地区=='华北';地区:1)

(2) B2单元格输入表达式:=ds1.group(城市;城市:1)

(3) C2单元格输入表达式:=ds1.sum(数量*单价)

  设置显示格式为:¥#0.00

(4) B3单元格输入表达式:=ds1.group(城市,地区!='华东' and 地区!='华北';城市:1)

(5) C3单元格输入表达式:=ds1.sum(数量*单价)

  设置显示格式为:¥#0.00

3、  报表保存为11.2.rpx,报表预览

说明

可以看出,润乾报表处理这种问题很巧妙,润乾报表提供的selectgroup函数均带有过滤条件参数,可以在进行选出或者分组的时候,过滤掉无关的记录,仅仅对部分记录进行分组。之后还可以对同一个数据集重复进行多次的分组或者选出、汇总操作,从而可以实现很复杂的分组报表。参见函数说明:group数说明  select说明