RangeFractile - 指令碼與圖表函數

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

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

語法:  

RangeFractile(fractile, first_expr[, Expression])

傳回資料類型: 數值

引數:  

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

引數 描述
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

範例與結果:  

範例 結果
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

] ;