# RangeFractile 脚本和图表功能

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

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

语法：

RangeFractile(fractile, first\_expr[, Expression])

返回数据类型： 数字

参数：

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

参数

| 参数 | 描述 |
| --- | --- |
| fractile | 可以计算与分位数（表示为分数的位数）对应的介于 0 和 1 之间的数字。 |
| first\_expr | 表达式或字段包含要度量的数据。 |
| Expression | 可选表达式或字段包含要度量的数据范围。 |

示例和结果：

函数示例

| 实例 | 结果 |
| --- | --- |
| `RangeFractile<br>(0.24,1,2,4,6)` | 返回 1.72 |
| `RangeFractile(0.5,1,2,3,4,6)` | 返回 3 |
| `RangeFractile<br>(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` `] ;`

## 了解详情

* [Above - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Fractile - 图表函数](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/fractile.htm)