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
] ;