RangeFractile - 脚本和图表函数
RangeFractile() 用于返回与数值系列的第 n 个fractile(位数)对应的值。
语法:
RangeFractile(fractile, first_expr[, Expression])
返回数据类型: 数字
参数:
该函数的参数可能包含内部记录函数,并在其内部返回一系列值。
参数 | 说明 |
---|---|
fractile | 可以计算与分位数(表示为分数的位数)对应的介于 0 和 1 之间的数字。 |
first_expr | 表达式或字段包含要度量的数据。 |
Expression | 可选表达式或字段包含要度量的数据范围。 |
示例和结果:
示例 | 结果 |
---|---|
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 |
示例:
将示例脚本添加到应用程序并运行。要查看结果,将结果列中列出的字段添加到应用程序中的工作表。
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.5, Above(Sum(MyField),0,3))
在此例中,内部记录函数 Above() 包含可选的 offset 和 count 参数。这将产生一系列可用作任何范围函数的输入的结果。在这种情况下,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
] ;