MOVINGAVG
指定された行のセットについて、行ごとの平均を返します。オプションとして、移動平均を計算する前に、条件に基づいて行をフィルタリングすることができます。
構文
MOVINGAVG( numeric_value, rowset [, filter_condition] )
引数 | 必須/ オプション | 説明 |
|---|
numeric_value | 必須 | 数値データタイプ。移動平均を計算したい値を渡します。有効なトランスフォーメーション式を必要に応じて入力できます。 |
rowset | 必須 | 0より大きい正の整数リテラルでなければなりません。移動平均を計算したい行のセットを定義します。例えば、データの列について一度に5行ずつ移動平均を計算したい場合は、MOVINGAVG(SALES, 5)のような式を記述できます。 |
filter_condition | オプション | 検索される行を制限します。フィルタ条件は数値であるか、TRUE、FALSE、またはNULLの値が求められなければなりません。有効なトランスフォーメーション式を必要に応じて入力できます。 |
戻り値
数値。
関数に渡された値がすべてNULLである場合、または行が1つも選択されていない場合(たとえば、フィルタ条件の値がすべての行に対してFALSEまたはNULLであった場合)には、NULLです。
注: 戻り値が15を超える精度を持つ10進値である場合は、高精度を有効にして、最大28桁までの10進精度を使用可能にできます。
NULL
MOVINGAVGは、移動平均の計算においてNULL値を無視します。ただし、すべての値がNULLである場合には、NULLを返します。
例
次の式は、SALES列の最初の5行に基づいて固定ベストの平均注文を返し、そのあとは、直前に読み込んだ5行についての平均を返します。
MOVINGAVG( SALES, 5 )
ROW_NO | SALES | RETURN VALUE |
|---|
1 | 600 | NULL |
2 | 504 | NULL |
3 | 36 | NULL |
4 | 100 | NULL |
5 | 550 | 358 |
6 | 39 | 245.8 |
7 | 490 | 243 |
関数は、5行の組ごとの平均を返します。行番号1-5の平均は358、行番号2-6の平均は245.8、行番号3-7の平均は243です。