RangeAvg() は、範囲の平均を返します。関数には、値の範囲または数式のいずれかを入力できます。
構文:
RangeAvg(first_expr[, Expression])
戻り値データ型: 数値
引数:
この関数の引数式には、レコード間関数を含めることができます。これらの関数は、その内部で値リストを返します。
- first_expr: 集計の対象となるデータが含まれている数式または項目。
- Expression: 集計の対象となる追加データが含まれている任意の数式または項目。 複数の追加の数式を使用できます。
制限事項:
数値が見つからない場合は、NULL を返します。
| 例 | 結果 | 
|---|---|
| RangeAvg (1,2,4) | 2.33333333 を返します | 
| RangeAvg (1,'xyz') | 1 を返します | 
| RangeAvg (null( ), 'abc') | NULL を返します | 
(式を使って)
RangeAvg (Above(MyField),0,3))
現在の行とその上の 2 行で計算された、MyField の 3 つの値域の結果のスライド平均が返されます。3 番目の引数に 3 を指定すると、Above() 関数は、上に十分な行のある場所に 3 つの値を返し、RangeAvg() 関数への入力として取得されます。
| MyField | RangeAvg (Above(MyField,0,3)) | 説明 | 
|---|---|---|
| 10 | 10 | これが先頭の行のため、範囲は 1 つの値のみで構成されます。 | 
| 2 | 6 | この行の上に 1 つの行しかないため、範囲は以下の通りです。10,2。 | 
| 8 | 6.6666666667 | RangeAvg(10,2,8) に相当。 | 
| 18 | 9.333333333 | - | 
| 5 | 10. 333333333 | - | 
| 9 | 10.6666666667 | - | 
例で使用されているデータ:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
(表形式)
ドキュメントに例のスクリプトを追加して実行します。その後、結果列に含まれている項目をドキュメントのシートに追加して結果を表示します。
RangeTab3:
LOAD recno() as RangeID, RangeAvg(Field1,Field2,Field3) as MyRangeAvg INLINE [
Field1, Field2, Field3
10,5,6
2,3,7
8,2,8
18,11,9
5,5,9
9,4,2
];
結果テーブルには、テーブルの各レコードに対する MyRangeAvg の戻り値が表示されます。
| RangeID | MyRangeAvg | 
|---|---|
| 1 | 7 | 
| 2 | 4 | 
| 3 | 6 | 
| 4 | 12.666 | 
| 5 | 6.333 | 
| 6 | 5 |