T. group ()

描述:

虚表定义相邻值分组操作后返回新虚表。

语法:

T.group(xi,…)

备注:

虚表T定义计算,T按照xi 分组,xi 只和相邻的记录对比,相当于归并,要求T有序,返回新虚表。

参数:

T

虚表。

xi

分组表达式,多个字段/表达式组合分组时,每个分组表达式用逗号隔开。

选项:

@i

x是布尔表达式,如果x的结果为true则开始新的一组。此时只有一个x

@1

取每一个分组的第一条记录组成排列后返回(注意是数字1,不是字母l)。

@v

组表第一次加载时用列式,提升性能。

返回值:

虚表

示例:

 

A

 

1

=create(file).record(["D:/file/pseudo/empT.ctx"])

 

2

=pseudo(A1)

生成虚表对象,虚表数据内容如下:

3

=A2.group(GENDER,DEPT)

虚表A2定义计算,相邻记录中GENDERDEPT字段值皆相同时,记录分到同一组中,结果返回新虚表。

4

=A3.import()

读取A3虚表中的数据,此时A2虚表执行A3中定义的计算操作,返回内容如下:

5

=A2.group@i(GENDER=="F")

使用@i选项,遇到GENDER=="F"则开始新的分组。

6

=A5.import()

读取A5虚表数据:

 

7

=A2.group@1(GENDER)

使用@1选项,返回每组第一条记录。

8

=A7.cursor().fetch()

读取A7虚表数据: