RangeFractile - 脚本和图表函数

RangeFractile()用于返回与数值系列的第 n 个fractile(位数)对应的值。

备注: RangeFractile()在计算分位数时会使用最按近排行之间的线性插值。

语法:  

RangeFractile(fractile, first_expr[, Expression])

返回数据类型: 数字

参数:  

该函数的参数可能包含内部记录函数,并在其内部返回一系列值。

参数 说明
fractile 可以计算与分位数(表示为分数的位数)对应的介于 0 和 1 之间的数字。
first_expr 表达式或字段包含要度量的数据。
Expression 可选表达式或字段包含要度量的数据范围。

将示例脚本添加到文档并运行。然后,至少要将结果列中列出的字段添加到文档中的表格才能查看结果。

RangeTab:

LOAD recno() as RangeID, RangeFractile(0.5,Field1,Field2,Field3) as MyRangeFrac INLINE [

Field1, Field2, Field3

10,5,6

2,3,7

8,2,8

18,11,9

5,5,9

9,4,2

];

结果列表显示了为表格中的每条记录返回的 MyRangeFrac值。
RangeID MyRangeFrac
1 6
2 3
3 8
4 11
5 5
6 4

示例和结果:  

示例 结果
RangeFractile (0.24,1,2,4,6) 返回 1.72
RangeFractile(0.5,1,2,3,4,6)

返回 3

RangeFractile (0.5,1,2,5,6)

返回 3.5

带有表达式的示例:

RangeFractile (0.5, Above(Sum(MyField),0,3))

在此例中,内部记录函数 Above()包含可选的 offsetcount 参数。这将产生一系列可用作任何范围函数的输入的结果。在这种情况下,Above(Sum(MyField),0,3)会返回当前行和上方两行的MyField 结果。这些值可以作为RangeFractile()函数的输入。因此,对于下面表格中的底行,这相当于RangeFractile(0.5, 3,4,6),即为值系列 3、4 和 6 计算分位数 0.5。对于下面表格中的前两行,如果当前行上方没有任何行,则相应地减少范围中值的数量。将会为其他内部记录函数产生类似的结果。

示例中所使用的数据:

MyField RangeFractile(0.5, Above(Sum(MyField),0,3))
1 1
2 1.5
3 2
4 3
5 4
6 5

示例中所使用的数据:

RangeTab:

LOAD * INLINE [

MyField

1

2

3

4

5

6

] ;