7.9.1按表达式分组取数

在集算器中,可以使用cs.fetch(;x)cs.skip(;x)来获取或跳过记录,直到表达式x的值变化,以此来获取连续的一组数据。如,每次取出一个产品,准备考察每种产品的销售信息:

 

A

B

1

=file("Order_Wines.txt")

 

2

=file("Order_Electronics.txt")

 

3

=file("Order_Foods.txt")

 

4

=file("Order_Books.txt")

 

5

=[A1:A4].(~.cursor@t().sortx(PID))

 

6

=A5.mergex(PID)

 

7

for 19

=A6.skip(;PID)

8

=A6.fetch(;PID)

 

9

>A6.close()

 

A6的游标中,包含着4种类型商品的销售数据,并按照PID排序。从A8中可以读出第20件商品的记录如下:

需要注意,游标中的数据在集算器中是单向单次遍历的,因此,在需要每次读取其中一组记录时,游标中的数据必须是有序的