RangeFractile - 指令碼與圖表函數

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

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

Syntax:  

RangeFractile(fractile, first_expr[, Expression])

Return data type: 數值

Arguments:  

此函數的引數可包含其本身就會傳回值清單的記錄間函數。

引數 描述
fractile 介於 0 和 1 之間的數字對應於要計算的 fractile (表示為分數的分位數)。
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

] ;