@NAME
囲まれた文字列、またはメンバー名またはディメンション名のリストを、文字列のリストとして別の関数に渡します。
構文
@NAME (mbrName [,UNIQUE])
パラメータ
- mbrName
-
メンバー名、ディメンション名または文字列のリスト。
- UNIQUE
-
mbrNameが重複した名前の場合、mbrNameに対して一意のメンバー名を(ショートカット修飾名形式を使用して)返すように@NAMEに指示します。 mbrNameが重複名ではない場合、または重複メンバー名が有効になっていない場合には、UNIQUEは無視され、メンバー名のみが返されます。 次の考慮事項があります。
-
Essbaseでは、関数の文字列はサポートされていません。 文字列を値または値の配列として処理します。@NAMEは文字列を処理します。
-
一意のメンバー名に使用されるショートカット修飾名フォーマットの詳細は、「重複メンバー・アウトラインの作成および操作」を参照してください。
-
例
例 1
次の例は、Sample Basicデータベースに基づいています。 ユーザー定義関数を使用して、次の表から価格を取得します。 ユーザー定義関数(J_GetPrice)は、時間と製品名の2つの文字列パラメータを使用して、各製品の価格を返します。
表2-31サンプル基本データベースの価格データ
MonthName | ProductId | Price |
---|---|---|
1月 | 100-10 | 1.90 |
2月 | 100-10 | 1.95 |
3月 | 100-10 | 1.98 |
1月 | 100-20 | 1.95 |
2月 | 100-20 | 2.00 |
3月 | 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]を表示します。 重複メンバー・アウトラインからの階層で、重複メンバー[State].[New York]および[City].[New York]を表示します。](img/v9esb_nonuex.gif)
New Yorkのメンバーの修飾メンバー名は[State].[New York]および[City].[New York]です。
次の例では、現在の計算コンテキストから修飾メンバー名を取得します:
@MEMBER(@NAME(@CURRMBR("Market"), UNIQUE))
計算されているMarketの現在のメンバーがNew York Stateメンバーの場合、修飾メンバー名、[State].[New York]は@MEMBERに渡され、事実上New York市のメンバーと区別されます。