RangeFractile - 指令碼與圖表函數
RangeFractile() 傳回對應於一定範圍數字中第 n 個 fractile (分位數) 的值。
語法:
RangeFractile(fractile, first_expr[, Expression])
傳回的資料類型: 數值
引數:
此函數的引數可包含其本身就會傳回值清單的記錄間函數。
- fractile: 介於 0 和 1 之間的數字對應於要計算的 fractile (表示為分數的分位數)。
- 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 |
範例: (使用運算式)
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
] ;
範例: (以表格形式)
新增範例指令碼到您的文件中並加以執行。然後至少將結果資料行中所列的欄位新增至您文件中的工作表,以查看結果。
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 |