分组报表
group()
函数说明: 根据分组表达式,从数据集中选出一组组集。
语法: datasetName.group(<selectExp>, ,<filterExp>) //适用于不需要排序或数据集中已排好序
datasetName.group(selectExp{,descExp{,filterExp{,sortExp{,groupSortExp{,groupDescExp,rootGroupExp}}}}}})
参数说明:
selectExp 选出的分组表达式,可以是字段列名/列号,也可以是表达式.列号用#n表示,例如:#0代表第0列,#1代表第1列,依此类推
descExp 分组前记录的排序顺序,true为逆序,false为顺序
filterExp 过滤表达式
sortExp 分组前记录的排序依据表达式
groupSortExp 分组后对组的排序表达式,一般是汇总运算的表达式
groupDescExp 组排序顺序,true为逆序,false为顺序
rootGroupExp 是否root数据集表达式,为true,从数据集里取数,为false, 则从本单元格主格的结果集里取数
返回值: 一组数据的集合,数据类型由selectExp的运算结果来决定
示例:
例1:ds1.group(class) 把数据集ds1中所有记录按照class字段进行分组,并返回每组的class值组成的集合。
例2:ds1.group(class, true) 把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例3:ds1.group(class,false,sex=='1') 从数据集ds1中选取sex=='1'的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例4:ds1.group(class, true, sex=='1', id ) 从数据集ds1中选取sex=='1'的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class值组成的集合。
例5:ds1.group(省份,true,,,ds1.sum(工业产值),true) 对数据集ds1按照省份进行分组,分组后求出每组的sum(工业产值),然后按照这个汇总值对组进行逆序排列。