segp()

阅读(2368) 标签: 序列, 区段序号,

描述:

根据区段序号返回序列中对应成员。

语法:

A.segp(x,y)

备注:

计算表达式y在序列A中所属的区段序号,通过区段序号获取序列中的对应成员。缺省序列成员组成左闭右开的区间,A必须为有序序列,x表示针对序列A的每个成员计算表达式。

yA成员,如果序列升序时y小于序列成员最小值(或序列降序时y大于序列成员最大值),则返回空;如果序列升序时y大于等于序列成员最大值,则返回成员最大值(或序列降序时y小于等于序列成员最小值,则返回成员最小值)

参数:

A

序列。

x

计算表达式,一般为字段名,或者由字段名组成的合法表达式,可使用~引用当前记录。参数x可省略。

y

表达式。

选项:

@r

使用左开右闭区间。

返回值:

序列A中的成员

示例:

 

A

 

1

[2,22,122,222,2222]

 

2

=A1.segp(1)

序列升序,参数y小于A1序列成员的最小值,返回空。

3

=A1.segp(100)

22,序列成员组成的区段为[2,22)[22,122)

[122,222)[222,2222) [2222,∞)100属于[22,122),即第2个区段,所以返回序列的第2个成员。

4

=A1.segp(3000)

参数y大于A1序列成员的最大值,返回A1中的最大值2222

5

=A1.segp(~+~,200)

22

6

=A1.segp(~+~,244)

122

7

=A1.segp@r(~+~,244)

22,使用@r选项,区间左开右闭。