フォーマット文字列
フォーマット文字列を使用すると、Essbaseメンバーの値(数値型のメジャー)を数値型のメジャーでフォーマットして、問合せの実行時、テキスト、日付またはその他の事前定義済の値タイプとして表示できます。書式文字列は、メジャー・ディメンションのすべてのメンバー、および他のディメンションの式メンバーで定義できます。
書式文字列を使用する場合に表示される値は、セルの書式設定された値(MDXのFORMATTED_VALUEプロパティ)です。
基礎となる実際の値は数値であり、この値は関連付けられたフォーマット済の値には影響しません。フォーマット文字列を使用すると、実際の数値のかわりに、よりわかりやすい値を表示できます。たとえば、テキスト・ベースのフォーマットされた値を使用すると、データ・セルをHigh、"Medium"および"Low"と表示できます。
テキスト型と日付型の値は、組込みのテキスト・メジャーと日付メジャーの型を使用すると、追加でサポートされます。フォーマット文字列を使用すると、複数のディメンション内のメンバーにフォーマット文字列を適用できるという点で実装の柔軟性が高まりますが、テキスト・メジャーと日付メジャーを使用する場合、単一のメジャーのディメンションにはいずれか一方のみを適用できます。フォーマット文字列は数値ディメンションに適用できます。ディメンションをテキストまたは日付として入力する必要はありません。
フォーマット文字列は、集約ストレージ(ASO)またはブロック・ストレージ(BSO)のいずれかのデータベースに適用できます。
トピック:
書式文字列の実装
フォーマット文字列は、集約ストレージ(ASO)およびブロック・ストレージ(BSO)データベースでサポートされています。フォーマット文字列はデータベース・レベルで実装します。Essbaseでフォーマット文字列を有効化および使用するには、次のワークフローを使用します。
-
アウトライン・プロパティで、型付きメジャーを有効にします。
-
Accountsディメンションで、メンバーをフォーマットするメジャーを作成し、そのメンバー・プロパティで「フォーマット文字列の関連付け」フィールドを編集して、MDXフォーマット・ディレクティブを作成します。MDXフォーマット・ディレクティブを作成する構文は、MDXフォーマット・ディレクティブを参照してください。
フォーマット文字列の制約事項
フォーマット文字列は、複数のパーティションではサポートされません。
書式文字列の最大長は256文字です。
共有メンバー(暗黙の共有を含む)は、個別のフォーマット文字列を持つことはできません。共有メンバーは、プロトタイプ・メンバーのフォーマット文字列を継承します。
MDXフォーマット・ディレクティブ
MDX式を使用して、ASOキューブとBSOキューブの両方でEssbaseフォーマット文字列を定義します。
書式文字列を適用するためのMDX構文は次のとおりです。
format_string_expression = MdxFormat (string_value_expression)MDX仕様(MDX文法ルールを参照)で説明されているように、string_value_expressionは有効なMDX文字列値式です。
ほとんどのMDX式は、フォーマット文字列を指定するために使用できます。ただし、フォーマット文字列には、フォーマットされる現在のセル値以外のデータ・セルの値への参照を含めることはできません。現在のセル値は、MDXのCellValue関数を使用して参照できます。
Essbaseでは、無効なフォーマット文字列を含むメンバーは、フォーマット文字列が定義されていない場合と同様に処理されます。アウトラインは無効なフォーマット文字列とともに保存できます。無効なフォーマット文字列を持つメンバーで問合せが構成されている場合は、Essbaseで警告が生成されます。
メンバーがフォーマット文字列に関連付けられていない場合は、デフォルトのフォーマット・ルールが適用されます。デフォルトのフォーマット・ルールでは、メジャーが数値型か、テキスト型か、日付型かに基づいて、セルがフォーマットされます。数値メジャーの場合、デフォルトのフォーマットされた値は、その数値のテキスト・バージョンです。テキスト・メジャーの場合、デフォルトのフォーマットされた値は、関連付けられたテキスト・リスト・オブジェクトに基づいたテキスト値です。日付値の場合、デフォルトのフォーマットは、アウトライン・プロパティに定義されている日付フォーマット文字列に従ってフォーマットされた日付文字列です。
フォーマット文字列をサポートする関数
Essbaseメジャーに適用されるフォーマット文字列がある場合に便利なMDX関数がいくつかあります。
書式文字列は、ASOキューブとBSOキューブの両方でMDX式として適用されます。
-
EnumTextは、内部数値に関連付けられたテキスト・リスト・ラベルを戻します。
-
EnumValueは、テキスト・リスト・ラベルの内部数値を戻します。
-
CellValueは、現在のセルの内部数値を戻します。
-
NumToStrは、値を10進文字列に変換します。
@ENUMVALUE計算関数は、テキスト・メジャーまたはフォーマット文字列を含むブロック・ストレージ・データベースの計算スクリプトを作成するときに便利です。この関数は、内部数値に関連付けられたテキスト・リスト・ラベルを戻します。
MaxLのalter session set dml_output文には、set formatted_value on | off句があります。デフォルトでは、問合せにはフォーマット済の値が表示されますが、この文を使用するとフォーマット済の値の表示をオフにできます。
OUTFORMATTEDVALUES レポート・ライター・コマンドは、フォーマットされたセル値をレポートで返します。