@MOVSUMX
Essbaseの@MOVSUMX計算関数は、入力データ・セット内の指定された数の値に移動合計を適用します。@MOVSUMXは、平滑化の目的でデータ・セットを変更します。
@MOVSUMとは異なり、@MOVSUMXでは、末尾のメンバーに割り当てられる値を指定できます。たとえば、Sample BasicデータベースでTimeディメンションの3つのメンバーを指定した場合、Marの@MOVSUMXは、Jan、Feb、およびMarの値の合計です。Aprの@MOVSUMXは、Feb、Mar、Aprの値の合計です。ただし、JanとFebには@MOVSUMX値がなく、末尾のメンバーと呼ばれます。
構文
@MOVSUMX (COPYFORWARD | TRAILMISSING | TRAILSUM, mbrName [,n[,Xrangelist]] )
パラメータ
- COPYFORWARD
-
入力値を末尾のメンバーにコピーします。この動作は、@MOVSUM関数と同じです。
- TRAILMISSING
-
末尾のメンバーの値を
#MISSING
に設定します。 - TRAILSUM
-
末尾の値を合計します。
- mbrName
-
すべての有効な単一メンバー名、または単一メンバーを返す関数。
- n
-
オプション。移動最大値の計算に使用される値の数を表す正の整数値。デフォルトは3です。
- XrangeList
-
オプション。同じディメンションからのメンバー・リストを返す有効なメンバー名、メンバー名のカンマ区切りリスト、ディメンション間メンバー、またはメンバー・セット関数か範囲関数(@XRANGEを含む)。XrangeListが指定されていない場合、Essbaseは、時間としてタグ付けされたディメンションのレベル0メンバーを使用します。
ノート
-
@MOVSUMX関数は、中央に配置された合計ではなく、末尾の合計を計算します。この例は、違いを示しています。
Trailing Sum Centered Sum 1 2 3 1 2 3 6 6
-
移動合計の計算中、@MOVSUMXは
#MISSING
値をスキップします。たとえば、3つのうち1つの値が#MISSING
の場合、Essbaseは残りの2つの値を加算します。 -
メンバー・セット関数を使用してXrangeListパラメータのメンバー・リストを生成する場合(たとえば、@SIBLINGS)、正しい結果を保証するために、Essbaseが生成されたメンバー・リストをソートする順序を検討します。詳細は、使用しているメンバー・セット関数のヘルプ・トピックを参照してください。
-
計算スクリプトで@MOVSUMXを使用する場合は、FIX文内で使用します。FIXは必須ではありませんが、FIXを使用すると計算パフォーマンスが向上する場合があります。
-
スパース・ディメンションの広い範囲で@MOVSUMXを使用する場合は、計算機キャッシュのサイズを増やす必要がある場合があります。
例
次の例は、Sample Basicデータベースに基づいています。Measuresディメンションに追加のメンバーであるLast 3 Months of Salesが含まれており、元のSalesの値が表示されているとします。
Last 3 Months of Sales = @MOVSUMX (COPYFORWARD,Sales,3,Jan:Aug);
または:
Last 3 Months of Sales = @MOVSUMX (TRAILMISSING,Sales,3,Jan:Aug);
または:
Last 3 Months of Sales = @MOVSUMX (TRAILSUM,Sales,3,Jan:Aug);
この例では、次のレポートが作成されます。
Sales
===========
Jan 100
Feb 150
Mar 200
Apr 250
May 300
Jun 350
Jul 400
Aug 450
Last 3 Months of Sales
COPYFORWARD
======================
100
150
450
600
750
900
1050
1200
Last 3 Months of Sales
TRAILMISSING
======================
#MISSING
#MISSING
450
600
750
900
1050
1200
Last 3 Months of Sales
TRAILSUM
======================
100
250
450
600
750
900
1050
1200