数式の操作

Planningメンバー式は、データベースがリフレッシュされる際にEssbaseネイティブ式および評価されEssbaseコード・ブロックへ展開されるPlanning数式をサポートします。こうした式では、Planningが計算で数値に置き換えるスマート・リストを名前でアドレス指定できます。

「メンバー式」タブのテキスト・ボックスに、メンバー式内の事前定義済の数式を含めて、「メンバーの式の検証」ボタンを使ってテストします。また、ロードすることもできます。

アウトラインに頼っているビジネス・ルールや計算スクリプトを更新することなく次元のアウトラインを更新できます。計算はアウトライン内で特定数よりさらに孤立します。スマート・リストは計算でオブジェクトとして使用できます。数式を使用しても、データベースのリフレッシュ時にのみ実行されるので、パフォーマンスが低下することはありません。

  メンバー式で数式を使うには:

  1. 「管理」、「管理」、「次元」の順に選択します。

  2. メンバーの式を追加または変更する次元を選択します。

  3. メンバーを選択し、「編集」をクリックします。

  4. 「メンバー式」を選択します。

  5. テキスト・ボックスで、当該メンバー用の式を定義します。

    Planning数式およびEssbaseネイティブ式をメンバー式に含ませることができます。Oracle Essbase Database Administrator's Guideネイティブ式における構文、ルールおよび使用法については『Oracle Essbaseデータベース管理者ガイド』を参照してください。

    Planningは、メンバー式で使用できる事前定義の数式を提供します。独自の数式を編集したり作成することはできません。

  6. 「オプション」: メンバー式が有効かどうかを検証するには、「メンバーの式の検証」と「OK」をクリックします。

  7. 「オプション」; メンバー式にエラーがある場合は、「詳細の表示」をクリックするとエラーの理由が表示されます。

  8. 「オプション」: メンバー式の変更を保存しない場合は、「リフレッシュ」をクリックして、前のメンバー式を復元できます。

  9. 「保存」をクリックします。

前提条件

メンバー式で数式を使用する前に、Essbase式、計算およびアプリケーションのアウトラインを理解する必要があります。Oracle Essbase Database Administrator's Guideを参照してください。

構文

メンバー計算数式は関数および変数をサポートします。計算数式を作成する場合には、次の関数および変数の構文ルールに従ってください。

  • 変数やプロパティは大カッコ([ ])で囲みます。大カッコを省略すると、変数はネイティブ変数として扱われます。

  • メンバー名を引用符で囲みます。

  • 変数では大文字と小文字は区別されますが、余計なスペースや、アンダースコア(_)のような文字は使用できません。

  • 式には他の関数へのサブコールも含めることができます。

  • 数字が必要な箇所には、テキストは入力できません。

  • アウトラインの順番は、メンバー式では重要になります。まだ計算されていない値を参照しないでください。

スマート・リスト変数を変数として含める

スマート・リストは、変数として"Status"= [Status.Departed]などの数式に含めることができます

"Status"はメンバー名であり、Statusはスマート・リスト名、Departedはスマート・リストのエントリです。Departedに対するスマート・リストのIDが2の場合、Essbaseはメンバー式でStatus.Departedを2に置き換えます(Planningはスマート・リストを数字として扱います)。Departedに対するスマート・リストのIDが2の場合、Essbaseは計算に2をおき、データベースに2を保管します。

スマート・リストを次のフォーマットで記述します。[SmartListName.SmartListEntry]

数式

Planning数式には、これらの事前定義済みの変数および関数を含めることができます。

表 81. 数式内の変数

変数

説明

OpenInputValueBlock

Planningアプリケーションが複数通貨アプリケーションである場合はIFステートメントを生成し、単一通貨アプリケーションである場合は空の文字列を生成します。ClosedInputValueBlockとともに使用されます。

CloseInputValueBlock

Planningアプリケーションが複数通貨アプリケーションである場合はEnd IFステートメントを生成し、単一通貨アプリケーションである場合は空の文字列を生成します。OpenInputValueBlockとともに使用されます。

NumberOfPeriodsInYear

年内の期間を戻します。

NumberOfYears

アプリケーション内の年数を戻します。

表 82. 数式内の関数

機能

説明

Dimension(dimTag)

事前定義済の次元の名前を戻します。dimtagsは次のとおりです。

  • DIM_NAME_PERIOD

  • DIM_NAME_YEAR]

  • DIM_NAME_ACCOUNT

  • DIM_NAME_ENTITY

  • DIM_NAME_SCENARIO

  • DIM_NAME_VERSION

  • DIM_NAME_CURRENCY

Period(periodName)

指定した期間を戻します。periodNameオプションは次のとおりです。

  • FIRST_QTR_PERIOD

  • SECOND_QTR_PERIOD

  • THIRD_QTR_PERIOD

  • FOURTH_QTR_PERIOD

  • FIRST_PERIOD

  • LAST_PERIOD

CrossRef(accountName)

勘定科目の相互参照を生成します。

CrossRef(accountName, prefix)

勘定科目に対する相互参照を生成します。勘定科目名には定義した接頭辞が含まれます。デフォルトの接頭辞はNoで、その後空白スペース、勘定科目名が続き、たとえば「No Salary」となります。

getCalendarTPIndex()

期間のインデックスを戻すメンバー式を生成します。暦年に基づくインデックスです。

getFiscalTPIndex()

期間のインデックスを戻すメンバー式を生成します。年度に基づくインデックスです。

CYTD(memberName)

メンバー用に暦年の通算日数を計算する式を生成します。

CYTD(memberName, calTpIndexName, fiscalTpIndexName)

メンバー用に暦年の通算日数を計算する式と、暦年および会計年を基にした期間インデックスを生成します。メンバーの名前が変更する場合に使用します。デフォルトのメンバー名は「暦期間-インデックス」および「会計期間-インデックス」です。

一般的なエラー

構文のルールに注意して従います。数式構文にエラーが含まれる場合、メンバー式を検証した後にエラー・メッセージが戻されます。エラー・メッセージの情報を得るには「メンバー式」タブの「詳細の表示」をクリックします。最も一般的なエラー・メッセージは実行に失敗しました。です。これは、式でパラメータを不正に使用すると発生します。次のアクションが実行に失敗しました。のエラー・メッセージの原因となります:

  • 数式でパラメータの数を間違って入力

  • メンバー名、関数または変数名のスペルミス

  • メンバー名を引用符で囲んでいない

  • 文字列が必要な箇所へ数字を含ませる