情報を変更するための変数の実装

Essbase代替変数は、情報を定期的に変更するためのプレースホルダとして使用できます。変数値への変更は、その変数が使用されるすべての場所で反映されるため、手動での更新の必要性が最小限に抑えられます。

たとえば、多くのレポートがレポート期間に依存しているとします。現在の月に基づいてレポートを生成した場合は、毎月レポート・スクリプトを手動で更新する必要があります。CurMnthなどの代替変数をEssbaseサーバーで設定すると、該当する期間に対して代入された値を毎月変更できます。レポート・スクリプトで変数名を使用した場合は、最終レポートを実行すると、情報が動的に更新されます。

次の領域では、(特に明記されていないかぎり)集約ストレージ(ASO)アプリケーションとブロック・ストレージ(BSO)アプリケーションの両方で代替変数を使用できます:

  • 集約ストレージ・アウトライン式

  • ブロック・ストレージ・アウトライン式

  • 計算スクリプト(ブロック・ストレージ・データベースのみ)

    計算スクリプトでは、代替変数およびランタイム代替変数がサポートされています。

  • データ・ロードのルール・ファイルのヘッダー定義とフィールド定義。ディメンション名およびメンバー名に対して変数名を入力できます。

  • SQLデータソースのルール・ファイルにおけるデータソース名(DSN)の指定

  • SQLデータソースのルール・ファイルにおけるSELECT、FROMまたはWHERE句

  • セキュリティ・フィルタ

  • MDX問合せ

  • Smart View

  • レポート・スクリプト

次のレベルで代替変数を設定できます。

  • グローバル: Essbaseサーバー上のすべてのアプリケーションおよびデータベースから変数にアクセスできます。

  • アプリケーション: アプリケーション内のすべてのデータベースから変数にアクセスできます。

  • データベース: 指定したデータベース内の変数にアクセスできます。

許可される代替変数の名前と値

Essbaseで代替変数を使用する場合、代替変数の名前および値で使用できる文字およびデータ型に関するガイドラインに従ってください。

代替変数の名前と値には、次の制限があります:

変数名で使用できる文字

英数字およびアンダースコアが許可されますが、特殊文字またはスペースは許可されません。文字の制限: 制限を参照してください。

変数値で使用できる文字

先頭のアンパサンド(&)を除いて、任意の文字を使用できます。文字の制限: 制限を参照してください。

変数値として使用されるEssbaseメンバー名

数字で開始するメンバー名または特殊文字を含むメンバー名は、ブロック・ストレージ・データベースの場合は引用符(" ")で囲み、集約ストレージ・データベースの場合は大カッコ([ ])で囲みます。詳細は、「計算スクリプト、レポート・スクリプト、式、フィルタ、代替変数値および環境変数値での命名規則」を参照してください。

重複するメンバー名に代替変数値を設定するには、二重引用符で囲まれた修飾メンバー名を使用します。たとえば、&Periodの値を"[2022].[Qtr1]"にできます。

修飾メンバー名の一部として代替変数名を使用しないでください。たとえば、"[2022].[&CurrentQtr]"を指定することは無効です。

変数値として使用される数字

数値は、ブロック・ストレージ(BSO)・データベースの場合は引用符(" ")、集約ストレージ(ASO)・データベースの場合は大カッコ([ ])で囲みます。

たとえば、変数名がMonthで、その値が01のとき、ブロック・ストレージの場合は値を"01"として設定します。集約ストレージの場合は値を[01]として設定します。

同じ名前を持つ複数の変数

変数は、異なるスコープで定義されているかぎり同じ名前を持つことができます。変数の解決の優先順位は次のようになります。データベース変数はアプリケーション変数の前に解決されます。アプリケーション変数はグローバル変数の前に解決されます。

代替変数の作成または設定

代替変数を設定する前に、「許可される代替変数の名前と値」を参照してください。

代替変数は、Essbaseサーバー、アプリケーションまたはデータベース・レベルで作成または設定できます。

式、パーティション定義およびセキュリティ・フィルタで新しい代替変数値を使用できるようにするには、アプリケーションを停止して再起動します。その他の代替変数の使用はすべて、使用時に動的に解決されます。

代替変数を追加または更新すると、それらはアプリケーションに送信され、動的に解決されます。

Essbase Webインタフェースを使用して代替変数を設定するには、代替変数の使用を参照してください。アプリケーション・ワークブックを使用してアプリケーション・レベルで変数を設定したり、次のMaxL文を使用することもできます:

代替変数の削除

不要になったEssbase代替変数を削除することが必要になる場合があります。

代替変数を削除するには、アプリケーション・ワークブックから削除してキューブを構築するか、Essbase Webインタフェースから削除するか、次のMaxL文を使用します:

代替変数の更新

代替変数は情報を変更するためのプレースホルダであるため、その値を頻繁に更新することが必要になる場合があります。MaxLまたはEssbase Webインタフェースを使用して、既存の代替変数を変更できます。

代替変数を更新するには、次のMaxL文のいずれかを使用できます(使用する文は変数のコンテキストによって異なります):

  • alter system (グローバル(Essbaseサーバー・レベル)変数の更新用)

  • alter application (アプリケーション・レベルの変数の更新用)

  • alter database (キューブ・レベルの変数の更新用)

Essbase Webインタフェースを使用して変数を更新する場合は、代替変数の使用の手順を参照してください。