機械翻訳について

@CURRMBRRANGE

計算中の現在のメンバーの相対位置に基づいてメンバー・リストを生成します。

構文

@CURRMBRRANGE (dimName, {GEN|LEV}, genLevNum, [startOffset], [endOffset])

パラメータ

dimName

範囲リストを戻すディメンションの名前。

GEN|LEV

返される範囲リストが世代とディメンション内のレベルのどちらに基づいているかを定義します。

genLevNum

返される範囲リストの絶対世代番号または絶対レベル番号を定義する整数値。

startOffset

返される範囲の最初のメンバーを定義します。

  • NULL値は、指定したgenLevNumの最初のメンバーを戻します。

  • 整数値は、計算中の現在のメンバーを基準にしてメンバー名を戻します。

  • 負の値は、現在のメンバーがディメンションで計算される前のメンバーを指定します。

  • 値0は、現在計算されているメンバーの名前を戻します。

  • 正の値は、ディメンションで計算される現在のメンバーの後のメンバーを指定します。

endOffset

返される範囲の最後のメンバーを定義します。

  • NULL値は、指定したgenLevNumの最後のメンバーを戻します。

  • 整数値は、計算中の現在のメンバーを基準にしてメンバー名を戻します。

  • 負の値は、現在のメンバーがディメンションで計算される前のメンバーを指定します。

  • 値0は、現在計算されているメンバーの名前を戻します。

  • 正の値は、ディメンションで計算される現在のメンバーの後のメンバーを指定します。

ノート

  • この関数は、FIX文では使用できません。

  • この関数の最初の3つのパラメータ(dimName、{GEN | LEV}、genLevNum)は、メンバー範囲リストを提供します。 startOffsetおよびendOffsetパラメータは、このリストのサブセットを作成します。 たとえば、Sample Basicデータベースのコンテキストで次の構文を考えてみます:

    @CURRMBRRANGE(Year,LEV,0,-1,1)

    この例では、全範囲リストにYearディメンション(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)のレベル0のメンバーが含まれています。 Yearディメンションで計算されている現在のメンバーがJanの場合、startOffsetおよびendOffsetパラメータによってこのリストが(Jan, Feb)に減らされます。 全範囲リストにJanより前のメンバーがないため、2つのメンバーのみが戻されます: Jan自体とそれ以降のメンバー、Feb.計算される現在のメンバーがFebの場合、サブセット・リストには3つのメンバーが含まれます: Jan, Feb, Mar.

  • 現在、この関数は、@AVGRANGE@MAXRANGE@COMPOUND@SHIFTなどの範囲および財務関数内でのみ使用できます。

例 1

平均インベントリは、年の最初の月から現在の期間に1つの期間を加算したものまでの期首インベントリを合計し、その結果を現在までの期間数と1つの期間で割って計算されます。 この計算は、@AVGRANGE関数のrangeListパラメータ内で@CURRMBRRANGE関数を定義することで実行されます。

"Average Inventory" = @AVGRANGE(SKIPNONE,"Opening Inventory",
@CURRMBRRANGE(Year, LEV, 0, , 1));

この例では、次の結果が生成されます:

                    Jan   Feb   Mar   Apr       Nov   Dec
Opening Inventory   100   110   120   130 . . . 200   210
Average Inventory   105   110   115   120 . . ..155   155

startOffsetにはNULL値が指定されているため、平均操作は常に範囲リストの最初のメンバーJanから始まります。endOffsetパラメータ1は、計算される現在のメンバーの後のメンバーが各平均操作に含まれることを指定します。 したがって、Average Inventory->Janの場合は、JanとFebの値が平均化され、<Average Inventory-> Febの場合はJan、FebおよびMarの値が平均化されます。 範囲リストにDecの後にメンバーがないため、NovとDecの値は同じです。

例 2

インベントリ回転率は、期間累計販売を合計し、その結果を平均インベントリで割って計算されます。

Turnover = @SUMRANGE(Sales,@CURRMBRRANGE(Year, LEV, 0, , 0))/"Average Inventory"

これにより、次の結果が生成されます:

                    Jan    Feb     Mar     Apr
Average Inventory   110    116.7   122.5   126
Sales                40     44      48      52
Turnover              0.36   0.72    1.08    1.46

例 3

次の式を考えてみます:

@CURRMBRRANGE(Year,LEV,@CURLEV("Year"),-1,1)

全範囲リストには、特定のレベルのYearディメンションのメンバーが含まれます。 レベルは、計算される現在のメンバーのレベルによって決定されます。 たとえば、計算される現在のメンバーがJanの場合、全範囲リストにはYearディメンション(Jan、Feb、Mar、Apr、May、Jun、Jul、Aug、Sep、Oct、Nov、Dec)のすべてのレベル0メンバーが含まれます。 startOffsetおよびendOffsetパラメータは、このリストを(Jan, Feb)に減らします。 全範囲リストにJanより前のメンバーがないため、2つのメンバーのみが戻されます: JanおよびFeb。計算されている現在のメンバーがFebの場合、サブセット・リストには3つのメンバーが含まれます: Jan, Feb, Mar.

ノート:

この例で示す使用方法では、RTDEPCALCOPTIMIZE構成をFALSEに設定する必要があります。