範囲関数と財務関数
Range関数は、引数としてメンバーの範囲を取ります。 これらの関数は、単一の値を返すのではなく、指定された範囲に基づいて内部的に一連の値を計算します。
財務関数は、特殊な財務計算を実行します。
表2-9 範囲関数と財務関数
関数 | 戻り値 |
---|---|
@ACCUM | 範囲内の指定したメンバーの値の合計 |
@AVGRANGE | 範囲内の指定したメンバーの平均値 |
@COMPOUND | 指定されたレートで計算された、範囲内の指定されたメンバーの値の複利 |
@COMPOUNDGROWTH | 指定されたメンバー範囲の指定されたメンバーの複合成長を表す一連の値で、指定されたレートで計算されます |
@CURRMBRRANGE | Essbaseが現在計算しているメンバーの組合せの相対位置に基づくメンバーの範囲 |
@DECLINE | 定率法を使用して計算された、指定期間にわたるメンバーの減価償却 |
@DISCOUNT | 時間ディメンションの値の範囲全体で、指定したレートで計算された、指定したメンバーの割引値 |
@GROWTH | 指定した値の線形成長を表す一連の値 |
@INTEREST | 指定されたメンバーの線形成長を表す一連の値で、時間ディメンションのメンバーの範囲にわたって、指定されたレートで計算されます |
@IRR | 時間ディメンションまたは指定されたメンバー範囲にわたって計算され、少なくとも1つの投資(負)と1つの収益(正)を含む必要があるキャッシュ・フローの内部収益率。 0.07の初期推測が含まれます(初期推測は構成できません)。 |
@IRREX | 時間ディメンションまたは指定されたメンバー範囲にわたって計算され、少なくとも1つの投資(負)と1つの収益(正)を含む必要があるキャッシュ・フローの内部収益率。 初期推測およびアルゴリズムが実行できる反復数を構成する機能が含まれます。 |
@MAXRANGE | メンバーの範囲全体におけるメンバーの最大値 |
@MAXSRANGE | ゼロおよび#MISSING値をスキップする機能を持つ、メンバーの範囲内のメンバーの最大値 |
@MDSHIFT | メンバーの範囲内の次のメンバーまたはn番目のメンバー(複数のディメンションの現在のメンバーと同一の他のすべてのメンバーを保持) |
@MINRANGE | メンバーの範囲全体におけるメンバーの最小値 |
@MINSRANGE | ゼロおよび#MISSING値をスキップする機能を持つ、メンバーの範囲内のメンバーの最小値 |
@NEXT | メンバー範囲内の次またはn番目のメンバー |
@NEXTS | #MISSING、ゼロまたはその両方の値をスキップするオプションを使用した、メンバー範囲内の次またはn番目のメンバー |
@NPV | 一連の支払および収益値に基づく投資の正味現在価値 |
@PTD | 時間ディメンションのメンバーの期間累計値 |
@PRIOR | メンバーの範囲内にある前のメンバーまたは前のnメンバーのリスト |
@PRIORS | #MISSING、ゼロまたはその両方の値をスキップするオプションを含む、メンバーの範囲内の前またはn番目のメンバーのリスト |
@RANGE | あるディメンションの指定されたメンバーと別のディメンションの指定されたメンバー範囲を横断するメンバー・リスト |
@RANGEFIRSTVAL | 範囲内の最初の値(ゼロおよび#MISSINGの処理方法のオプション付き)。 |
@RANGELASTVAL | 範囲内の最後の値(ゼロおよび#MISSINGの処理方法のオプション付き)。 |
メンバーの範囲内にある次またはn番目のメンバーのリスト。現在のメンバーと同じで、指定されたディメンション内にある他のすべてのメンバーは保持されます | |
@SLN | 当期のアセットが定額法を使用して減価償却される可能性がある、範囲期間にわたる減価償却金額 |
@SUMRANGE | メンバーの範囲内で指定されたすべてのメンバーの要約値のリスト |
@SYD | 現行期間のアセットの一定範囲にわたる減価償却金額で、年の桁数の減価償却メソッドの合計を使用して計算されます |
@XRANGE | 同じレベルの指定されたメンバー間のメンバーの範囲のリスト |
範囲リスト・パラメータ
一部の範囲および予測関数では、オプション・パラメータrangeListまたはXrangeListが最後のパラメータとして認識されます。rangeListは、1つのディメンションに制限されるメンバーの範囲です。XrangeListは、1つ以上のディメンションのメンバーの範囲です。 XrangeListを使用すると、使用する計算関数に時間連続ナビゲーションを組み込むことができます。
rangeListまたはXrangeListが指定されていない場合、Timeとしてタグ付けされたディメンションのレベル0 (リーフ)メンバーがデフォルトの範囲になります。 Timeとしてタグ付けされたディメンションがなく、最後のパラメータが指定されていない場合、Essbaseは構文エラーをレポートします。
rangeListの例
次の例は、Sample Basicに基づいています。
@CHILDREN(West)
は、次のリストを返すrangeListです:
California
Oregon
Washington
Utah
Nevada
@CHILDREN(Product)
は、次のリストを返すrangeListです:
Colas
Root Beer
Cream Soda
Fruit Soda
Diet Drinks
前述の例からわかるように、rangeListは単一ディメンションのメンバーのリストのみです。
XrangeListの例
次の例は、Sample Basicに基づいています。
次の例では、単純なメンバーを使用してJanからMarまでの範囲を戻します:
@XRANGE(Jan:Mar)
次のメンバーが戻されます:
Jan
Feb
Mar
次の例では、ディメンション間メンバーを使用して、Actual、Jan、Budget、Marの範囲を戻します:
@XRANGE (Actual->Jan, Budget->Mar)
次のメンバーが戻されます:
Actual, Jan
Actual, Feb
Actual, Mar
Actual, Apr
Actual, May
Actual, Jun
Actual, Jul
Actual, Aug
Actual, Sep
Actual, Oct
Actual, Nov
Actual, Dec
Budget, Jan
Budget, Feb
Budget, Mar
次の例は、Sample Basicデータベースに基づいていません。 2001年から2003年までの各年のメンバーを含むYearというディメンションを含むデータベースに基づいています。 次の式は、2000年3月から2001年1月までのすべての月の平均販売を計算します:
SalesAvg= @MOVAVG(Sales, 3, @XRANGE("2001"->Mar, "2003"->Jan));
次のメンバーが戻されます:
Colas New York Actual
Sales SalesAvg
===== ========
2000
Mar 678 678
Apr 645 645
May 675 666
Jun 712 677.3
Jul 756 714.3
Aug 890 786
Sep 924 856.7
Oct 914 909.3
Nov 912 916.7
Dec 723 849.7
2001
Jan 647 760.7
前述の例からわかるように、XrangeListは1つ以上のディメンションのメンバーの範囲であり、時間連続ナビゲーションの組込みに役立ちます。
rangeListおよびXrangeListのその他の例
次の表に、rangeListまたはXrangeListの有効な値のその他の例を示します。
表2-10 rangeListおよびXrangeListの有効な値
例 | 説明 |
---|---|
Mar99 | 1つのメンバー |
Mar99, Apr99, May99 | メンバーのカンマ区切りリスト。 |
Jan99:Dec99 |
レベル範囲。 レベル範囲には、範囲を定義するメンバーとの間の同じレベルのすべてのメンバーが含まれます。 |
Q1_99::Q4_2000 |
世代範囲。 世代範囲には、範囲を定義するメンバーと、その範囲内にあり、同じ世代のすべてのメンバーが含まれます。 |
Q1_99::Q4_2000, FY98, FY99, FY2000 | 世代範囲とカンマ区切りリスト |
@SIBLINGS(Dept01), Dept65:Dept73, Total_Dept | メンバー・セット関数と1つまたは複数の範囲リスト |
次の表に、XrangeListの有効な値の例を示します。
表2-11 XrangeListの有効な値
例 | 説明 |
---|---|
Jan->Actual->Sales, Dec->Actual->Sales | 1つ以上のディメンションのメンバーのカンマ区切りリスト。 |
Actual->Jan, @XRANGE(Actual->December, Budget->Mar); | カンマ区切りリストと範囲。 |
@XRANGE(Jan->Actual,Dec->Budget); | @XRANGE関数。 |
@CHILDREN("Colas"),@CHILDREN("West") | メンバー・セットは、範囲リストの一部として機能します。 |
財務関数は値を返しません。かわりに、指定された範囲に基づいて一連の値を内部的に計算し、結果をセルの範囲に書き込みます。 したがって、演算子を関数に直接適用することはできません。