@RANGE

@RANGE計算関数は、あるEssbaseディメンションのメンバーを別のディメンションのメンバー範囲と交差させるメンバー・リストを返します。

この関数は、あるディメンション(mbrName)の指定されたメンバーと、別のディメンション(rangeList)の指定されたメンバー範囲を交差させるメンバー・リストを返します。この関数は、@AVGなどの非範囲関数と組み合せることができます。これは、@AVGRANGEなどの既存の範囲関数を置き換えます。

構文

@RANGE (mbrName [, rangeList])

パラメータ

mbrName

すべての有効な単一メンバー名、または単一メンバーを返す関数。

rangeList

オプション。有効なメンバー名、メンバー名のカンマ区切りリスト、メンバー・セット関数、および範囲関数。rangeListが指定されていない場合、Essbaseは時間としてタグ付けされたディメンションのレベル0のメンバーを使用します。

ノート

ディメンション間演算子(->)と組み合せたこの関数は、FIX文内では使用できません。

例1

次の例は、Sample Basicデータベースに基づいています。@RANGEは@AVGとともに使用され、WestのColasの平均売上を決定します。

FIX(Sales)
West=@AVG(SKIPBOTH,@RANGE(Sales,@CHILDREN(West)));
ENDFIX

計算スクリプトはSalesに固定されるため、WestのSales値のみが、西部の州の値の平均になります。WestのCOGS値は、西部の州の合計です。この例では、次のレポートが作成されます:

                         Colas  
                Sales            COGS   
                Actual           Actual 

             Qtr3    Qtr4     Qtr3    Qtr4
             ====    ====     ====    ====                       
California   3401    2767     2070    1701
Oregon        932    1051      382     434
Washington   1426    1203      590     498
Utah         1168    1294      520     575
Nevada        496     440      222     197
  West       1484.6  1351     3784    3405

例2

次の例は、Sample Basicデータベースに基づいています。Measuresディメンションに追加のメンバーProd Countが含まれているとします。@RANGEは@COUNTとともに使用され、データ値が存在するすべての製品の数を計算します。

"Prod Count" = @COUNT(SKIPMISSING,@RANGE(Sales,@CHILDREN(Product)));

この例では、次のレポートが作成されます式でSKIPMISSINGが指定されているため、Sales->Diet Drinksの#MI値は、データ値としてカウントされません。

              Jan     New York     Actual
                 Sales      Prod Count  
                 =====      ==========                           
Colas             678          #MI
Root Beer         551          #MI
Cream Soda        663          #MI
Fruit Soda        587          #MI
Diet Drinks       #MI          #MI
  Product        2479           4

関連項目