@NAME

Essbaseの@NAME計算関数は、囲まれた文字列、あるいはメンバー名またはディメンション名のリストを、文字列のリストとして別の関数に渡します。

構文

@NAME (mbrName [,UNIQUE])

パラメータ

mbrName

メンバー名、ディメンション名、または文字列のリスト。

UNIQUE

mbrNameが重複した名前の場合、mbrNameの一意のメンバー名を(ショートカット修飾名形式を使用)返すように@NAMEに指示します。mbrNameが重複名ではない場合、または重複メンバー名が有効になっていない場合には、UNIQUEは無視され、メンバー名のみが返されます。次の考慮事項があります。

  • Essbaseは、関数内の文字列をサポートしていません。文字列を値または値の配列として扱います。@NAMEは文字列を処理します。

  • 一意のメンバー名に使用されるショートカット修飾名の形式の詳細は、重複メンバー・アウトラインの作成と操作を参照してください。

例1

次の例は、Sample Basicデータベースに基づいています。次の表から価格を取得するには、ユーザー定義関数を使用します。ユーザー定義関数(J_GetPrice)は、時間と製品名の2つの文字列パラメータを受け取り、各製品の価格を返します。

表3-30 Sample Basicデータベースの価格データ

MonthName ProductId Price
Jan 100-10 1.90
Feb 100-10 1.95
Mar 100-10 1.98
Jan 100-20 1.95
Feb 100-20 2.00
Mar 100-20 2.05
Price = @J_GetPrice(@NAME(@CURRMBR(Product)),@NAME(@CURRMBR(Year)));

次のレポートは、前述の例を示しています。

               Price   Actual  Market
                Jan     Feb     Mar
                ===     ===     ===
      100-10   1.90    1.95    1.98
      100-20   1.95    2.00    2.05

例2

次の例は、Sample Basicデータベースに基づいています。

"Profit Per Ounce" = Profit/@ATTRIBUTEVAL(@NAME(Ounces));

@NAME関数は、文字列"Ounces"を処理してから@ATTRIBUTEVALに渡します。この例では、次のレポートが作成されます:

              Actual      Year      West           
              Profit        Profit Per Ounce
             ========       ================
Cola          4593            382.75

例3

次の例では、重複メンバー名が有効になっているアウトラインを想定し、MarketディメンションにNew Yorkという名前の2つのメンバーがあります。


重複メンバーのアウトラインからの階層に、[State].[New York]と[City].[New York]の各重複メンバーが表示されています。

New Yorkメンバーの修飾メンバー名は、[State].[New York]および[City].[New York]です。

次の例では、現在の計算コンテキストから、修飾されたメンバー名を取得します。

@MEMBER(@NAME(@CURRMBR("Market"), UNIQUE)) 

計算中のMarketの現在のメンバーがNew York Stateのメンバーである場合、修飾されたメンバー名[State].[New York]は、@MEMBERに渡され、New York Cityメンバーと有効に区別されます。

関連項目