機械翻訳について

式での関数の使用

関数は、特殊な計算を実行し、メンバーまたはデータ値のセットを戻す事前定義済のルーチンです。 式では、次のタイプの関数を使用できます:

表18-2 機能タイプのリスト

関数のタイプ 説明

ブール

TRUE (1)またはFALSE (0)の値を返すことで、条件付きテストを提供します。

たとえば、@ISMBR関数を使用して、現在のメンバーが指定されたいずれかのメンバーと一致するかどうかを判断できます。

「条件テスト」を参照してください。

算術

特殊な数学的計算を実行します。

たとえば、@AVG関数を使用して、メンバーのリストの平均値を戻すことができます。

「数学的操作」を参照してください。

リレーションシップ

計算中にデータベース内のデータ値を検索します。

たとえば、@ANCESTVAL関数を使用して、指定したメンバーの組合せの祖先の値を戻すことができます。

「メンバー関係関数」を参照してください。

Range

メンバーの範囲を別の関数またはコマンドの引数として宣言します。

たとえば、@SUMRANGE関数を使用して、指定した範囲内のすべてのメンバーの合計を戻すことができます。

「範囲関数」を参照してください。

Financial

特殊な財務計算を実行します。

たとえば、@INTEREST関数を使用して単純な利息を計算したり、@PTD関数を使用して期間累計値を計算できます。

「財務機能」を参照してください。

メンバー・リストおよび範囲の指定

複数のメンバーまたはメンバーの範囲を指定します。

たとえば、@ISMBR関数は、現在計算中のメンバーが指定されたメンバーのリストまたは範囲のいずれかと一致するかどうかをテストします。

「メンバー・リストおよび範囲の指定」を参照してください。

メンバー・リストの生成

指定したメンバーに基づくメンバーのリストを生成します。

たとえば、@ICHILDREN関数を使用して、指定したメンバーとその子を戻すことができます。

「メンバー・リストの生成」を参照してください。

文字列操作

メンバーおよびディメンション名の文字列を操作します。

たとえば、名前に文字接頭辞を追加したり、名前から接尾辞を削除したり、名前を文字列として渡すことで、メンバー名を生成できます。

「メンバー名の操作」を参照してください。

ディメンション間のメンバーの組合せ

ディメンション間演算子(->)を使用して、特定のメンバーの組合せのデータ値を指し示します。

「ディメンション間のメンバーの組合せの操作」を参照してください。

相互依存値

同じディメンションのメンバーの値を必要とするが、必要な値がまだ計算されていない式の場合。

「相互依存値の使用」を参照してください。

差異および差異率

予算値と実績値の差異または差異率を計算します。

「実績値と予算計画値の差異または差異率の計算」を参照してください。

Allocation

親レベルで入力された値を子メンバー全体に割り当てます。 同じディメンション内または複数のディメンション間で値を割り当てることができます。

たとえば、@ALLOCATE関数を使用して、親レベルで入力された販売値を親の子に割り当てることができます。各子の割当ては、前年の販売のシェアによって決まります。

「値の割当て」を参照してください。

予測

データを平滑化または補間したり、将来の値を計算するためにデータを操作します。

たとえば、@TREND関数を使用して、履歴値への曲線フィッティングに基づく将来の値を計算できます。

「予測関数」を参照してください。

統計

詳細統計を計算します。 たとえば、@RANK関数を使用して、データ・セット内の指定したメンバーまたは指定した値のランクを計算できます。

「統計関数」を参照してください。

日付と時刻

計算式で日付と時間の特性を使用します。

たとえば、@TODATE関数を使用して、日付文字列を計算式で使用できる数値に変換できます。

「日付と時間の関数」を参照してください。

計算モード

Essbaseで式セル、ブロック、ボトムアップおよびトップダウンの計算に使用する計算モードを指定します。

「計算モード機能」を参照してください。

ノート:

関数の省略形はサポートされていません。 一部のコマンドは省略形で動作する可能性がありますが、別の関数が同様の名前を持つ場合、Essbaseが間違った関数を使用する可能性があります。 正しい結果を得るには、完全な関数名を使用してください。

条件テスト

条件テストまたは一連の条件テストを使用する式を定義して、計算のフローを制御できます。

IFおよびENDIFコマンドは、「条件付きブロック」を定義します。 IFコマンドとENDIFコマンドの間の式は、テストがTRUE (1)を返した場合にのみ実行されます。 テストでFALSE (0)が返された場合は、ELSEおよびELSEIFコマンドを使用して代替操作を指定できます。 各ELSEコマンドに続く式は、前のテストでFALSE (0)が返された場合にのみ実行されます。 各ELSEIFコマンドに続く条件は、前のIFコマンドがFALSE (0)を返した場合にのみテストされます。

計算スクリプトで条件式を使用する場合は、この項の例に示すように、条件式をカッコで囲み、データベース・アウトラインのメンバーに関連付けます。

IFコマンドとともに、条件テストの結果に基づいてTRUEまたはFALSE (それぞれ1または0)を返す関数を使用できます。 これらの関数は、「ブール関数」と呼ばれます。

ブール関数を使用して、使用する式を決定します。 このディシジョンは、現在のメンバーの組合せの特性に基づきます。 たとえば、特定の計算を入力データを含むProductディメンションのメンバーに制限するには、@ISLEV(Product,0)に基づくIFテストで計算を進めます。

いずれかの関数パラメータが@ISMBR(Sales -> Budget)などのディメンション間メンバーである場合、TRUE (1)の値を戻すには、ディメンション間メンバーのすべての部分が現在のセルのプロパティと一致する必要があります。

次のブール関数は、条件を指定します:

表18-3 条件をテストするブール関数のリスト

関数 条件

@ISACCTYPE

現在のメンバーには指定された勘定科目タグ(Expenseタグなど)があります

@ISANCEST

現在のメンバーは指定したメンバーの祖先です

@ISIANCEST

現在のメンバーは、指定したメンバーまたは指定したメンバー自体の祖先です

@ISCHILD

現在のメンバーは指定したメンバーの子です

@ISICHILD

現在のメンバーは、指定したメンバーまたは指定したメンバー自体の子です

@ISDESC

現在のメンバーは指定したメンバーの子孫です

@ISIDESC

現在のメンバーは、指定したメンバーまたは指定したメンバー自体の子孫です

@ISGEN

指定されたディメンションの現在のメンバーは、指定された世代にあります

@ISLEV

指定されたディメンションの現在のメンバーは、指定されたレベルにあります

@ISMBR

現在のメンバーは指定したメンバーのいずれかと一致

@ISPARENT

現在のメンバーは指定したメンバーの親です

@ISIPARENT

現在のメンバーは、指定したメンバーまたは指定したメンバー自体の親です

@ISSAMEGEN

(指定したメンバーと同じディメンションの)現在のメンバーは、指定したメンバーと同じ世代にあります

@ISSAMELEV

(指定したメンバーと同じディメンションの)現在のメンバーは、指定したメンバーと同じレベルにあります

@ISSIBLING

現在のメンバーは指定したメンバーの兄弟です

@ISISIBLING

現在のメンバーは、指定されたメンバーまたは指定されたメンバー自体の兄弟です

@ISUDA

指定されたUDAは、指定されたディメンションの現在のメンバーに存在

データベース・アウトラインに式を配置する場合は、IF、ELSE、ELSEIFおよびENDIFコマンドとブール関数のみを使用して計算のフローを制御できます。 計算スクリプトで追加の制御コマンドを使用できます。

計算スクリプトの開発方法および計算スクリプトを使用したEssbaseによるデータベースの計算方法の詳細は、「ブロック・ストレージ・データベース用の計算スクリプトの開発」を参照してください。

条件テストの例

次の式をデータベース・アウトラインのCommissionメンバーに適用できます。

次の例では、販売高が500000を超える場合に、販売高の1%でコミッションが計算されます:

IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;

計算スクリプトに式を配置する場合は、次のように式をCommissionメンバーに関連付ける必要があります:

Commission (IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;)

Essbaseはデータベースを循環し、次の計算を実行します:

  1. IF文は、現在のメンバーの組合せのSalesの値が500000を超えているかどうかを確認します。

  2. Salesが500000を超える場合、EssbaseはSalesの値に0.01を乗算し、その結果をCommissionに格納します。

次の例では、式は現在のメンバーの祖先をテストし、適切な給与計算式を適用します:

IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;

計算スクリプトにFormulaを配置する場合は、次に示すように、そのFormulaを給与メンバーに関連付ける必要があります:

Payroll(IF(@ISIDESC(East) OR @ISIDESC(West))
   Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
   Payroll = Sales * .11;
ELSE
   Payroll = Sales * .10;
ENDIF;)

Essbaseはデータベースを循環し、次の計算を実行します:

  1. IF文は、@ISIDESC関数を使用して、Marketディメンションの現在のメンバーがEastまたはWestのいずれかの子孫であるかどうかを確認します。

  2. Marketディメンションの現在のメンバーがEastまたはWestの子孫である場合、EssbaseはSalesの値に0.15を乗算し、次のメンバーの組合せに移動します。

  3. 現在のメンバーがEastまたはWestの子孫でない場合、ELSEIF文は@ISIDESC関数を使用して、現在のメンバーがCentralの子孫であるかどうかを確認します。

  4. Marketディメンションの現在のメンバーがCentralの子孫である場合、EssbaseはSalesの値に0.11を乗算し、次のメンバーの組合せに移動します。

  5. 現在のメンバーがEast、WestまたはCentralの子孫でない場合、EssbaseはSalesの値に0.10を乗算し、次のメンバーの組合せに移動します。

「多ディメンション計算の概念について」を参照してください。

数学的操作

次の数学関数を使用すると、数式で多くの数学演算を実行できます:

表18-4 算術関数のリスト

関数 操作

@ABS

式の絶対値を返します

@AVG

指定されたメンバー・リストの値の平均値を戻します

@EXP

e (自然対数の底)の値を指定された式の累乗した値を戻します

@FACTORIAL

式の階乗を戻します

@INT

メンバーまたは式の次に低い整数値を戻します

@LN

指定された式の自然対数を戻します

@LOG

指定された式の指定された底に対数を戻します

@LOG10

指定された式のbase-10対数を戻します

@MAX

指定されたメンバー・リストの式の中の最大値を戻します

@MAXS

ゼロおよび#MISSING値をスキップする機能を使用して、指定されたメンバー・リストの式の中の最大値を戻します

@MIN

指定されたメンバー・リスト内の式の最小値を戻します

@MINS

ゼロおよび#MISSING値をスキップする機能を使用して、指定されたメンバー・リストの式の中の最小値を戻します

@MOD

指定された2つのメンバーの除算によって生成された係数を戻します

@POWER

指定された累乗の指定されたメンバーの値を戻します

@REMAINDER

式の剰余値を戻します

@ROUND

指定された小数点以下の桁数に丸められたメンバーまたは式を戻します

@SUM

指定されたすべてのメンバーの値の合計を戻します

@TRUNCATE

式の切り捨てられた値を返します

@VAR

指定された2つのメンバー間の分散(差分)を戻します。

「実績値と予算計画値の差異または差異率の計算」を参照してください。

@VARPER

指定された2つのメンバー間の差異率(差)を戻します。

「実績値と予算計画値の差異または差異率の計算」を参照してください。

メンバー関係関数

次の関係関数を使用すると、Essbaseで現在計算中のメンバーの組合せを使用して特定の値を検索できます:

表18-5 メンバー関係関数のリスト

関数 参照値

@ANCESTVAL

指定したメンバーの組合せの祖先の値

@ATTRIBUTEVAL

現在のメンバーに関連付けられている、指定された数値または日付属性ディメンションの属性の数値

@ATTRIBUTESVAL

現在のメンバーに関連付けられている指定されたテキスト属性ディメンションの属性のテキスト値

@ATTRIBUTEBVAL

現在のメンバーに関連付けられている指定されたブール属性ディメンションの属性の値(TRUEまたはFALSE)

@CURGEN

指定されたディメンションの現在のメンバー組合せの世代番号

@CURLEV

指定されたディメンションの現在のメンバーの組合せのレベル番号

@GEN

指定したメンバーの世代番号

@LEV

指定したメンバーのレベル番号

@MDANCESTVAL

複数のディメンションにわたる指定したメンバーの組合せの祖先の値

@SANCESTVAL

指定したメンバーの組合せの共有祖先の値

@PARENTVAL

指定したメンバーの組合せの親値

@MDPARENTVAL

複数のディメンションにわたる、指定したメンバーの組合せの親値

@SPARENTVAL

指定したメンバーの組合せの共有の親値

@XREF

現在のデータベースからの値の計算に使用される別のデータベースからのデータ値

@XWRITE

別のEssbaseデータベースまたは同じデータベースへの値の書込みに使用されます

範囲関数

次の範囲関数を使用すると、メンバーの範囲に対して関数を実行できます:

表18-6 範囲関数のリスト

関数 Calculation

@AVGRANGE

メンバーの範囲全体におけるメンバーの平均値

@CURRMBRRANGE

Essbaseが現在計算しているメンバーの組合せの相対位置に基づくメンバーの範囲

@MAXRANGE

メンバーの範囲全体におけるメンバーの最大値

@MAXSRANGE

ゼロおよび#MISSING値をスキップする機能を持つ、メンバーの範囲内のメンバーの最大値

@MDSHIFT

メンバーの範囲内の次のメンバーまたはn番目のメンバー(複数のディメンションの現在のメンバーと同一の他のすべてのメンバーを保持)

@MINRANGE

メンバーの範囲全体におけるメンバーの最小値

@MINSRANGE

ゼロおよび#MISSING値をスキップする機能を持つ、メンバーの範囲内のメンバーの最小値

@NEXT

メンバー範囲内の次またはn番目のメンバー

@NEXT

#MISSING、ゼロまたはその両方の値をスキップするオプションを使用した、メンバー範囲内の次またはn番目のメンバー

@PRIOR

メンバー範囲内の前またはn番目の前のメンバー

@PRIORS

#MISSING、ゼロまたはその両方の値をスキップするオプションを使用した、メンバー範囲内の前のメンバーまたはn番目のメンバー

@SHIFT

場合によっては、@SHIFTPLUSまたは@SHIFTMINUS

メンバー範囲内の次またはn番目のメンバー(現在のメンバーと同じで、指定されたディメンション内にある他のすべてのメンバーを保持)

@SUMRANGE

メンバーの範囲内で指定されたすべてのメンバーの値の合計

財務関数

次の財務関数を使用すると、式に財務計算を含めることができます:

表18-7 財務機能のリスト

関数 Calculation

@ACCUM

指定したメンバーまでの値の累計

@COMPOUND

複利計算の進行

@COMPOUNDGROWTH

指定したメンバーの一定範囲における複合成長を表す一連の値

@DECLINE

定率法を使用して計算された、特定の期間の減価償却

@DISCOUNT

範囲の最初の期間から割引額が見つかるまでの、指定したレートで割り引かれた値

@GROWTH

指定した値の線形成長を表す一連の値

@INTEREST

指定されたメンバーの指定されたレートでの単純金利

@IRR

時間ディメンションまたは指定されたメンバー範囲にわたって計算され、少なくとも1つの投資(負)と1つの収益(正)を含む必要があるキャッシュ・フローの内部収益率。 0.07の初期推測が含まれます(初期推測は構成できません)。

@IRREX

時間ディメンションまたは指定されたメンバー範囲にわたって計算され、少なくとも1つの投資(負)と1つの収益(正)を含む必要があるキャッシュ・フローの内部収益率。 初期推測およびアルゴリズムが実行できる反復数を構成する機能が含まれます。

@NPV

投資の正味現在価値(一連の支払および収入に基づく)

@PTD

timeとしてタグ付けされたディメンションのメンバーの期間累計値

@SLN

当期間のアセットが減価償却される可能性がある期間当たりの金額(期間の範囲全体で計算)。

使用される減価償却メソッドは定額減価償却です。

@SYD

当期間のアセットが減価償却される可能性がある期間当たりの金額(期間の範囲全体で計算)。

使用される減価償却メソッドは、年の桁数の合計です。

ノート:

単一のメンバー式に、複数の財務関数(たとえば、@NPVと@SLN、または@NPVの複数のインスタンス)を含めることはできません。 複数の財務関数を必要とするメンバー式は、各式に単一の財務関数(たとえば、MemberName (@NPV(...)); Membername (@NPV(...))のみが含まれるように別々の式に分割する必要があります。

メンバー関連の関数

メンバー・リストおよび範囲の指定

一部の関数では、複数のメンバーを指定するか、メンバーの範囲を指定する必要があります。 たとえば、@ISMBR関数は、現在計算中のメンバーが指定されたメンバーのリストまたは範囲のいずれかと一致するかどうかをテストします。

次の表に、メンバーを指定するための構文を示します:

表18-8 メンバー・リストおよび範囲を指定する構文

メンバー・リストまたは範囲 構文

1人のメンバー

メンバー名。

例:

Mar2001

メンバーのリスト

メンバー名のカンマ区切り(,)リスト。

例:

Mar2001, Apr2001, May2001

同じレベルのすべてのメンバーの範囲(2つの定義メンバーを含む)

コロン(:)で区切られた2つの定義メンバー名。 例:

Jan2000:Dec2000

同じ世代のすべてのメンバーの範囲(2つの定義メンバーを含む)

2つのコロン(::)で区切られた2つの定義メンバー名。

例:

Q1_2000::Q4_2000

関数によって生成されたメンバーのリストまたはメンバーの範囲

メンバー・リストの内容および対応する関数のリストは、「メンバー・リストの生成」を参照してください。

範囲とリストの組合せ

各範囲、リストおよび関数はカンマ(,)で区切ります。

例:

Q1_97::Q4_98, FY99, FY2000

または

@SIBLINGS(Dept01), Dept65:Dept73, Total_Dept

いずれかを必要とする関数でメンバーのリストまたはメンバーの範囲を指定しない場合、Essbaseは時間としてタグ付けされたディメンションのレベル0のメンバーを使用します。 timeとしてタグ付けされているディメンションがない場合、Essbaseにエラー・メッセージが表示されます。

メンバー・リストの生成

メンバー・セット関数を使用すると、指定したメンバーまたはメンバー・リストに基づくメンバー・リストを生成できます。

表18-9 メンバー・セット関数のリスト

関数 メンバー・リストの内容

@ALLANCESTORS

共有メンバーとして指定されたメンバーの祖先を含む、指定されたメンバーのすべての祖先。 この関数には、指定したメンバーは含まれません。

@IALLANCESTORS

共有メンバーとして指定されたメンバーの祖先を含む、指定されたメンバーのすべての祖先。 この関数には、指定したメンバーが含まれます。

@ANCEST

指定された世代またはレベルの指定されたメンバーの祖先

@ANCESTORS

指定されたメンバー(オプションで、指定された世代またはレベルまで)のすべての祖先(指定されたメンバーは除く)

@IANCESTORS

指定したメンバー(オプションで、指定した世代またはレベルまで)のすべての祖先(指定したメンバーを含む)

@LANCESTORS

指定されたメンバーのリストのすべての祖先(オプションで、指定された世代またはレベルまで)。ただし、指定されたメンバーは含みません

@ILANCESTORS

指定されたメンバーのリストのすべての祖先(オプションで、指定された世代またはレベルまで) (指定されたメンバーを含む)

@ATTRIBUTE

指定した属性ディメンション・メンバーに関連付けられているすべての基本ディメンション・メンバー

@WITHATTR

指定した条件を満たす属性に関連付けられているすべての基本メンバー

@BETWEEN

名前文字列値が指定された2つの文字列トークンの間にある(またはその範囲に含まれる)すべてのメンバー

@CHILDREN

指定したメンバーのすべての子(指定したメンバーは含まない)

@ICHILDREN

指定したメンバーのすべての子(指定したメンバーを含む)

@CURRMBR

指定されたディメンションに対して計算されている現在のメンバー

@DESCENDANTS

指定されたメンバーのすべての子孫(オプションで、指定された世代またはレベルまで)。ただし、指定されたメンバーまたは共有メンバーの子孫ではありません

@IDESCENDANTS

指定したメンバーのすべての子孫(オプションで、指定した世代またはレベルまで)。共有メンバーの子孫は含みません

@LDESCENDANTS

指定されたメンバーのリストのすべての子孫(オプションで、指定された世代またはレベルまで)。ただし、指定されたメンバーは含みません

@ILDESCENDANTS

指定されたメンバーのリストのすべての子孫(オプションで、指定された世代またはレベルまで) (指定されたメンバーを含む)

@RDESCENDANTS

指定されたメンバーのすべての子孫(オプションで、指定された世代またはレベルまで)。共有メンバーの子孫は含みますが、指定されたメンバーの子孫は含みません

@IRDESCENDANTS

共有メンバーの指定されたメンバーおよび子孫を含む、指定されたメンバーのすべての子孫(オプションで、指定された世代またはレベルまで)

@EQUAL

指定されたトークン名と一致するメンバー名

@NOTEQUAL

指定されたトークン名と一致しないメンバー名

@EXPAND

メンバー・リスト内の各メンバーに対してメンバー・セット関数を呼び出すことで、メンバー検索を拡張

@GENMBRS

指定されたディメンションの指定された世代のすべてのメンバー

@LEVMBRS

指定されたディメンションの指定されたレベルのすべてのメンバー

@LIKE

指定したパターンに一致するメンバー名。

@LIST

複数のリスト引数を必要とする関数によって処理されるメンバーの個別のリスト

@MATCH

指定したワイルドカード選択に一致するすべてのメンバー

@MBRCOMPARE

比較基準に一致するメンバー名

@MBRPARENT

指定したメンバーの親

@MEMBER

文字列として指定された名前のメンバー

@MERGE

別の関数によって処理される2つのメンバー・リストのマージ済リスト

@PARENT

指定されたディメンションで計算される現在のメンバーの親

@RANGE

あるディメンションの指定されたメンバーと別のディメンションの指定されたメンバー範囲を横断するメンバー・リスト

@REMOVE

一部のメンバーが削除されたメンバーのリスト

@RELATIVE

指定された世代またはレベルの、指定されたメンバーより上または下のすべてのメンバー

@SHARE

指定したメンバー間のすべての共有メンバーを識別するメンバー・リスト

@SIBLINGS

指定したメンバーのすべての兄弟(指定したメンバーではない)

@ISIBLINGS

指定したメンバーのすべての兄弟(指定したメンバーを含む)

@LSIBLINGS

データベース・アウトラインで指定されたメンバーの前にあるが、指定されたメンバーではないすべての兄弟

@RSIBLINGS

データベース・アウトラインで指定されたメンバーの後に続くが、指定されたメンバーではないすべての兄弟

@ILSIBLINGS

指定したメンバーを含む、データベース・アウトラインの指定したメンバーの前にあるすべての兄弟

@IRSIBLINGS

指定したメンバーを含む、データベース・アウトラインの指定したメンバーに続くすべての兄弟

@SHIFTSIBLING

メンバーから指定された距離にある兄弟

@NEXTSIBLING

メンバーの次または右端の兄弟

@PREVSIBLING

メンバーの前または左端の兄弟

@UDA

「Essbaseサーバー」で定義された共通UDAを持つすべてのメンバー

@XRANGE

同じレベルで指定された2つの単一ディメンション・メンバーまたはディメンション間メンバーの範囲を識別するメンバー・リスト

メンバー名の操作

メンバー名を文字列として操作できます。 次の表に、文字列操作関数を示します:

表18-10文字列操作関数のリスト

関数 文字列操作

@CONCATENATE

メンバー名または指定した文字列を別のメンバー名または文字列に追加した結果として、文字列を作成

@NAME

メンバー名を文字列として戻します

@SUBSTRING

別の文字列またはメンバー名から文字の部分文字列を戻します

ディメンション間のメンバーの組合せの操作

ディメンション間演算子を使用して、特定のメンバーの組合せのデータ値を指定します。 ハイフン(-)と大なり記号(>)を使用してディメンション間演算子を作成します。 ディメンション間演算子とメンバーの間にスペースを入れないでください。

次の図は、多ディメンション・キューブを簡略化したものです。ここで、JanはX軸の最初の列、SalesはY軸の4番目と一番上の行、ActualはZ軸の最初の行です。 この例では、Sales -> Jan -> Actualが単一のデータ値の交差です。

図18-2 単一のデータ値の指定


このイメージは、表の前のテキストで説明されているように、単一のデータ値の交差が表示されたキューブを示しています。

次の例では、その他費用を各市場の各製品に配賦し、ディメンション間演算子の使用方法を示します。 すべての市場におけるすべての製品のMisc_Expensesの価値がわかっています。 この式では、Product -> Marketの各組合せに合計Misc_Expenses値の割合が配賦されます。 割当は、各市場の各製品の販売高に基づきます。

Misc_Expenses = Misc_Expenses -> Market -> Product * 
   (Sales / ( Sales -> Market -> Product));

Essbaseはデータベースを循環し、次の計算を実行します:

  1. 現在のメンバーの組合せの販売値を、すべての市場およびすべての製品の合計販売値で除算します(Sales -> Market -> Product)。

  2. ステップ1で計算した値に、すべての市場およびすべての製品のMisc_Expenses値を乗算します(Misc_Expenses -> Market -> Product)。

  3. 現在のメンバーの組合せに対して、結果をMisc_Expensesに割り当てます。

ディメンション間演算子を使用すると、パフォーマンスに大きな影響を与える可能性があります。 最適化のガイドラインについては、「ディメンション間演算子の使用」を参照してください。

予測関数

予測関数を使用すると、データを補間したり、将来の値を計算するためにデータを操作できます。

表18-11予測関数のリスト

関数 データ操作

@MOVAVG

移動平均をデータ・セットに適用し、リスト内の各用語を後続平均に置き換えます。

この関数は、データ・セットを平滑化のために変更します。

@MOVMAX

データ・セットに移動最大値を適用し、リスト内の各用語を末尾の最大値に置き換えます。

この関数は、データ・セットを平滑化のために変更します。

@MOVMED

データ・セットに移動中央値を適用し、リスト内の各用語を末尾の中央値に置き換えます。

この関数は、データ・セットを平滑化のために変更します。

@MOVMIN

データ・セットに移動最小値を適用し、リスト内の各用語を後続最小値で置換します。

この関数は、データ・セットを平滑化のために変更します。

@MOVSUM

移動合計をデータ・セットに適用し、各用語を末尾の合計に置き換えます。

この関数は、データ・セットを平滑化のために変更します。

@MOVSUMX

移動合計をデータ・セットに適用し、各用語を末尾の合計に置き換えます。 合計する数値に達する前にメンバーに値を割り当てる方法を指定します。

この関数は、データ・セットを平滑化のために変更します。

@SPLINE

データ・ポイントのセットに平滑化ラインを適用します。

ラインは、データを滑らかにしたり補間するために使用される数学的曲線です。

@TREND

将来の値を計算し、履歴値に適合する曲線に基づいて計算します。

統計関数

統計関数を使用すると、Essbaseで高度な統計を計算できます。

表18-12統計関数のリスト

関数 計算値

@CORRELATION

2つのパラレル・データ・セット間の相関係数

@COUNT

指定したデータ・セット内の値の数

@MEDIAN

指定されたデータ・セット内の中央値(中間値)

@MODE

指定されたデータ・セット内のモードまたは最も頻繁に発生する値

@RANK

指定したデータ・セット内の指定したメンバーまたは値のランク

@STDEV

指定したメンバーの、サンプルに基づく標準偏差

@STDEVP

指定したメンバーの母集団全体に基づく標準偏差

@STDEVRANGE

指定したメンバーの範囲と交差する標準偏差

@VARIANCE

指定されたデータ・セットの、サンプルに基づく分散

@VARIANCEP

指定したデータ・セットの母集団全体に基づく分散

日付と時間の関数

date関数を使用すると、他の関数で日付を使用できます。

@TODATE: 計算式で使用できる数値への日付文字列の変換

計算モード機能

計算モード関数を使用すると、Essbaseで式の計算に使用する計算モードを指定できます。

@CALCMODE: Essbaseが式の計算に使用する計算モード(セル、ブロック、ボトムアップまたはトップダウン)を指定

ノート:

構成設定CALCMODEを使用して、データベース、アプリケーションまたはサーバー・レベルで計算モードをBLOCKまたはBOTTOMUPに設定することもできます。