フォーマット文字列

フォーマット文字列を使用すると、Essbaseメンバーの値を数値型のメジャーでフォーマットして、問合せの目的で、テキスト、日付またはその他の事前定義済の値の型として表示できます。フォーマット文字列は、メジャー・ディメンションのすべてのメンバー、および他のディメンションの式メンバーに対して定義できます。

フォーマット文字列を使用するときに表示される値は、セルのフォーマットされた値(MDXのFORMATTED_VALUEプロパティ)です。

基礎となる実際の値は数値であり、この値は関連付けられたフォーマット済の値には影響されません。フォーマット文字列を使用すると、実際の数値のかわりに、よりわかりやすい値を表示できます。たとえば、テキスト・ベースのフォーマットされた値を使用すると、データ・セルを"High"、"Medium"および"Low"として表示できます。

テキスト型と日付型の値は、組込みのテキスト・メジャーと日付メジャーの型を使用すると、追加でサポートされます。フォーマット文字列を使用すると、複数のディメンション内のメンバーにフォーマット文字列を適用できるという点で実装の柔軟性が高まりますが、テキスト・メジャーと日付メジャーを使用する場合、単一のメジャーのディメンションにはいずれか一方のみを適用できます。フォーマット文字列は数値ディメンションに適用できます。ディメンションをテキストまたは日付として入力する必要はありません。

フォーマット文字列は、集約ストレージ(ASO)とブロック・ストレージ(BSO)のいずれかのデータベースに適用できます。

トピック:

フォーマット文字列の実装

フォーマット文字列は、集約ストレージ(ASO)およびブロック・ストレージ(BSO)データベースでサポートされています。フォーマット文字列はデータベース・レベルで実装します。Essbaseでフォーマット文字列を有効にして使用するには、次のワークフローを使用します。

  1. アウトライン・プロパティで、型付きメジャーを有効にします。

  2. Accountsディメンションで、メンバーをフォーマットするメジャーを作成し、そのメンバー・プロパティで「フォーマット文字列の関連付け」フィールドを編集して、MDXフォーマット・ディレクティブを作成します。MDXフォーマット・ディレクティブを作成する構文は、MDXフォーマット・ディレクティブを参照してください。

フォーマット文字列の制約事項

フォーマット文字列は、複数のパーティションではサポートされません。

フォーマット文字列の最大長は256文字です。

共有メンバー(暗黙的な共有を含む)は、個別のフォーマット文字列を使用できません。共有メンバーは、プロトタイプ・メンバーのフォーマット文字列を継承します。

MDXフォーマット・ディレクティブ

Essbaseフォーマット文字列は、ASOキューブとBSOキューブの両方でMDX式を使用して定義します。

フォーマット文字列を適用するための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 レポート・ライター・コマンドは、フォーマットされたセル値をレポートに戻します。