移動値の計算

@AVGRANGE関数を使用すると移動平均を計算でき、@ACCUM関数を使用すると移動による年次累計値を計算できます。

たとえば、データベースに、毎月のSalesのデータ値が含まれており、データベース・アウトラインに、AVG_SalesとYTD_Salesのメンバーが含まれているとします。

次の式をAVG_Salesメンバーに追加します。

@AVGRANGE(SKIPNONE, Sales, @CURRMBRRANGE(Year, LEV, 0, , 0));

さらに、YTD_Salesメンバーに対する次の式を追加します。

@ACCUM(Sales);

Essbaseにより、時間としてタグ付けされたディメンションの各月のSales値の平均が計算されます。SKIPNONEは、#MISSING値を含むすべての値が含まれることを意味します。EssbaseによってAVG_Salesに結果が置かれます。

次の表は、Essbaseで累計のSalesの値が計算されてから、YTD_Salesに結果が置かれる場合の結果を示しています。

表19-2 結果: 移動値を計算するための計算スクリプト例

Measures -> Time Jan Feb Mar Qtr1

Sales

100

200

300

600

AVG_Sales

100

150

200

#MISSING

YTD_Sales

100

300

600

#MISSING

AVG_Salesの値は、月次累計の平均です。たとえば、AVG_Sales -> MarはJan、FebおよびMarのSalesの平均です。

YTD_Salesの値は、現在の月までの累積値です。したがって、YTD_Sales -> Febは、Sales -> JanとSales -> Febの合計です。