P.align(n,y)

阅读(92) 标签: 序列, 对齐,

描述:

排列对齐分组。

语法:

P.align(n,y)

备注:

排列P按照分组表达式y划分为n个组,计算y后的结果与分组号相同则对齐,等同于P.align(to(n),y)

参数:

P

排列。

n

整数,分组个数。

y

结果为整数的表达式。

选项:

@a

返回分组后的所有成员,每组成员组成一个序列。缺省仅返回第一个成员。

@r

y为整数数列。

@p

返回值由成员在P中的序号构成。

返回值:

序列

示例:  

y为整数:

 

A

 

1

=demo.query("select * from FAMILY")

2

=A1.align(11,EID)

A1排列根据EID值分为11组,EID值与分组号一一对应,结果仅返回每组的第一个成员:

3

=A1.align@a(11,EID)

A1排列根据EID值分为11组,EID值与分组号一一对应,使用@a选项,返回每组中所有成员:

4

=A1.align@ap(11,EID)

使用@p选项,返回值由EIDA1中的序号构成:

y为整数数列:

 

A

 

1

=demo.query("select EID,NAME,DEPT  from EMPLOYEE")

2

=demo.query("select  *  from DEPARTMENT")

3

=A1.derive(A2.pselect@a(DEPT==A1.DEPT): DeptNo)

先找出与EMPLOYEE对应的DEPARTMENT记录序号,把序号作为数列存储在DeptNo字段中:

4

=A3.align@r(8,DeptNo)

利用DeptNo字段直接和分组号对齐:

5

=A3.align@rp(8,DeptNo)

增加@p选项,返回记录序号: