@MOVAVG
Essbaseの@MOVAVG計算関数は、n項の移動平均(平均値)を入力データ・セットに適用します。@MOVAVGは、平滑化の目的でデータ・セットを変更します。
セット内の各項は、n項の移動平均値に置き換えられ、最初の項(n-1項)は、入力データのコピーです。
構文
@MOVAVG (mbrName [, n [, XrangeList]])
パラメータ
- mbrName
-
すべての有効な単一メンバー名、または単一メンバーを返す関数。
- n
-
オプション。平均する値の数を表す正の整数値。デフォルトは3です。
- XrangeList
-
オプション。同じディメンションからのメンバー・リストを返す有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数か範囲関数(@XRANGEを含む)。XrangeListが指定されていない場合、Essbaseは、時間としてタグ付けされたディメンションのレベル0メンバーを使用します。
ノート
-
@MOVAVG関数は、中央に配置された平均ではなく、末尾の平均を計算します。例:
Trailing Average Centered Average 1 2 3 1 2 3 2 2
-
移動平均の計算中、この関数は
#MISSING
値をスキップし、それに応じて分母を減らします。たとえば、3つのうち1つの値が#MISSING
の場合、Essbaseは残りの2つの値を加算し、合計を2で除算します。 -
メンバー・セット関数を使用してXrangeListパラメータのメンバー・リストを生成する場合(たとえば、@SIBLINGS)、正しい結果を保証するために、Essbaseが生成されたメンバー・リストをソートする順序を検討します。詳細は、使用しているメンバー・セット関数のヘルプ・トピックを参照してください。
-
計算スクリプトで@MOVAVGを使用する場合は、FIX文内で使用してください。FIXは必須ではありませんが、FIXを使用すると計算パフォーマンスが向上する場合があります。
-
長さが定義されていない期間の場合、値はソース・メンバーの場合と同じです。たとえば、JanとFebの過去3か月の移動平均は存在しないため、計算できません。これが発生すると、Essbaseは、移動平均のJanとFebの値をコピーするだけです。
-
スパース・ディメンションの広い範囲で@MOVAVGを使用する場合は、計算機キャッシュのサイズを増やす必要がある場合があります。
例
次の例は、Sample Basicデータベースに基づいています。Measuresディメンションに、追加のメンバーMov Avgが含まれているとします。
"Mov Avg" = @MOVAVG(Sales,3,Jan:Jun);
この例では、@MOVAVGは、年の最初の6か月(JanからJun)の売上データを平滑化します。@MOVAVGの結果を@TREND関数とともに使用すると、ホリデー・シーズン(10月から12月など)の平均売上データを予測できます。
この例では、次のレポートが作成されます:
Colas New York Actual
Sales Mov Avg
===== =======
Jan 678 678
Feb 645 645
Mar 675 666
Apr 712 677.3
May 756 714.3
Jun 890 786
この例では、Essbaseは、移動平均のために一度に3つの値を平均します。Mov Avgの最初の2つの値(Jan、Feb)とSalesの最初の2つの値は同じです。Marの値は、Jan、Feb、およびMarの移動平均を表します。Aprの値は、Feb、Mar、およびAprの移動平均を表します。残りの値は、3つの値の各グループの移動平均を表します。