# 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-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterRecordFunctions/above.htm)
* [Fractile - 圖表函數](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/StatisticalAggregationFunctionsinCharts/fractile.htm)