RangeFractile - 指令碼與圖表函數

RangeFractile() 傳回對應於一定範圍數字中第 n 個 fractile (分位數) 的值。

備註: 計算分位數時,RangeFractile() 使用最接近排名的線性解譯。

Syntax:  

RangeFractile(fractile, first_expr[, Expression])

Return data type: 數值

Arguments:  

此函數的引數可能包含記錄間函數,它們會自行傳回值的清單。

引數 描述
fractile 介於 0 與 1 之間的數字對應於要計算的分位數 (以分數表示的分位數)。
first_expr 包含待測量之資料的運算式或欄位。
Expression 包含待測量之資料範圍的選用運算式或欄位。

將範例指令碼新增至您的應用程式並予以執行。然後,至少將結果資料行中列出的欄位新增至您應用程式中的工作表以查看結果。

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

Examples and results:  

範例 結果
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() 包含選用的 offsetcount 引數。這會產生一個結果範圍,可作為任何範圍函數的輸入使用。在這種情況下,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

] ;