マクロ定義の引数値

Essbaseカスタム定義マクロの引数セットを指定することは、マクロ作成の一部にすぎません。マクロが実行する関数を定義するマクロ拡張で引数値を使用する必要があります。マクロ定義では、番号付き引数変数と引数変数ショートカットの2種類の引数変数を使用できます。

番号付き引数変数の使用

マクロ定義では、引数変数は、マクロ・シグニチャに表示される順序で参照できます。3つの引数変数を持つ次のマクロ・シグニチャの例について考えます。

SUM3(single, single, group)

この関数からの入力をマクロ定義で使用するには、最初の入力パラメータに引数変数@@1を使用し、2番目の入力パラメータに@@2を使用し、3番目の入力パラメータに@@3を使用して、引数を参照します。したがって、前の例のマクロを使用し、次の入力を提供すると、次のようになります。

SUM3("New York", "New Jersey", @CHILDREN(Products));

その結果、マクロ変数は次の値に設定されます。

@@1 = "New York"@@2 = "New Jersey"@@3 = @CHILDREN(Products)

マクロ・シグニチャでoptional引数を使用しても、どのマクロ変数がどの入力引数を表すかには影響しません。次の入力を提供すると、次のようになります。

Macro signature: SUM3(single, optional, group)
Macro input: SUM3("New York", , @CHILDREN(Products));

その結果、マクロ変数は次の値に設定されます。

@@1 = "New York"@@2 = @_NULL@@3 = @CHILDREN(Products)

引数変数ショートカットの使用

引数のセットは、変数ショートカット@@Sおよび@@SHxで表すことができます。これらのショートカットを使用すると、番号付き変数のセットを一覧表示するのでなく、1つの変数で引数のセットを指定できます。前の例の入力を使用すると、@@S変数は次の値に設定されます。

@@S = "New York", @_NULL, @CHILDREN(Products)

カスタム定義マクロの引数変数とショートカットは、マクロ定義内で任意の順序で使用でき、マクロ内で繰り返すことができます。