移動値の計算
@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の合計です。