不规则分组报表总结| 快逸报表工具
V5教程-表达式与常用函数

不规则分组是复杂报表的典型特征之一。不规则分组是相对于传统报表工具中的规则分组而言的,传统工具中的数据分组延用了关系数据库中的相应概念,为完全规则分组,即分组标准一致且有规则(一般都按某个字段或表达式),所有事实都必须出现且只出现一次,分组值次序与原数据记录次序一致。

然而在报表汇总中却常常需要不规则分组,不规则分组的分组标准看不出规律(常常只能穷举,或者写复杂的条件表达式,每一组的条件表达式均不相同,见条件分组的例子),所有事实不一定全部出现在分组结果中、个别事实还可能重复出现,次序也与原数据记录无关。

在快逸报表中,不规则分组报表主要是通过分组选取函数实现的,如何巧妙的运用这些函数,是设计各种分组报表的关键。

课后练习:

1、说明以下报表需要用到的数据集函数:

(1)完全分组报表

(2)不完全分组报表

(3)归并分组报表

(4)重叠分组报表

(5)条件分组报表

(6)按段分组报表

2、写出下列函数的含义:

(1)ds1.group(class,true)

(2)ds1.enumGroup(true,类别ID==1 or 类别ID==3,"副食品",类别ID==6,"肉类","其他")

(3)ds1.group(class,false,sex=='1')

(4)ds1.overlap(true,货主地区=="华北","华北",货主城市=="北京"," 其中:北京",货主地区=="华南","华南",货主地区=="华中","华中","其他")

(5)ds1.group(class,true,sex=='1',id)

(6)ds22.enumGroup(true,数量>50,"数量大于50",折扣>0.1,"折扣高于0.1",单价<10,"单价小于10","其它")

(7)ds1.group(省份,true,,,ds1.sum(工业产值),true)

(8)ds1.plot(成绩,list(60,80,90),,true,false),同时定义显示值表达式为:map(list(0,1,2,3),list(不及格,及格,良好,优秀))

3、根据下面的说明写出对应的函数表达式:

(1)将数据集ds1中,满足“类别ID==1”或者“类别ID==3”的记录归到“副食品”组中,满足“类别ID==6”的记录归到“肉类”组中,其余的记录归到“其他”组中。

(2)把数据集ds3中所有记录按照”地区“字段降序排列,然后根据”地区“进行分组,并返回每组的”地区“值组成的集合。

(3)把数据集ds2中,满足“货主地区=="华北"”的记录归到"华北"组中,满足“货主城市=="北京"”的记录归到" 其中:北京"组中,满足“货主地区=="华南"”的记录归到"华南"组中,满足“货主地区=="华中"”的记录归到"华中"组中,剩余的记录归到"其他"组中。

(4)从数据集ds5中选取sex=='1'的记录,按照id字段降序排列,然后根据name进行分组,并返回每组的name值组成的集合。

(5)对数据集ds1的记录按成绩段进行分组,60分以下、60-75,75-85,85分以上等四组,分别显示为”不及格“、”及格“、”良好“、”优秀“。

4、制作如下图所示的分组报表,数据从course数据源的DEMO_ORDERS表中取。

5、制作如下图所示的不完全分组报表:

6、制作如下图所示的归并分组报表:

7、制作如下图所示的重叠分组报表:

8、制作如下图所示的条件分组报表:

9、制作如下图所示的按段分组报表: