Cumulative

指定された勘定科目の前の期間の合計値を計算します。

戻り値

HS.EXP関数の一部として使用される正しい式を表す文字列が戻されます。

構文

Cumulative (PointOfView, View, NumPeriod)

表12-5 Cumulative関数の構文

パラメータ 有効な値

PointOfView

A#CASH.C1#[None].I#[ICP Top]など、勘定科目、カスタム1から4、ICPメンバーの有効な組合せ

ビュー

次のいずれかの値にする必要があります:

"" " " (二重引用符) - 処理中のシナリオに定義されているデフォルト・ビューに基づきます(YTDまたはPeriodic)。

YTD - ユーザーにより年次累積オプションが指定され、シナリオに設定されたデフォルト・ビューが上書きされます。

Periodic - 期別オプションが指定され、シナリオに設定されたデフォルト・ビューが上書きされます。

NumPeriod

累計する現在のシナリオ内の期間数を表す整数で、現在の期間から開始されます。

NumPeriodは0または負数で、関数は現在の年の初めから集計します。

詳細説明

この関数は、指定された期間の合計、または指定された勘定科目の年次累計の合計を計算します。デフォルトでは、累積されたデータのビューはシナリオのデフォルトです; ただし、フロー・タイプの勘定科目の場合は上書きできます。

  • ViewパラメータがYTDの場合、この関数では年次累計値が累計されます。

  • ViewパラメータがPeriodicの場合は、期間の値が累計されます。

  • Viewパラメータが空白( " " )の場合は、シナリオのデフォルト・ビューを使用してデータが累計されます。

CASH勘定科目では、Cumulative関数で使用されるNumberパラメータに基づいて、2014年1月、2月、3月に次の値が戻されます。

SALES勘定科目では、Cumulative関数で使用されるViewおよびNumberパラメータの両方に基づいて、2014年1月、2月、3月に次の値が戻されます。処理中のシナリオに設定されたデフォルト・ビューはYTDです。

表12-6 Cumulative関数の例

勘定科目 Oct2013 Nov2013 Dec2013 Jan2014 Feb2014 Mar2014

A#Cash

1,000

1,500

1,200

800

1,100

1,300

Cumulative ("A#Cash","0")

N/A

N/A

N/A

800

1,900

3,200

Cumulative("A#Cash", "3")

N/A

N/A

N/A

3,500

3,100

3,200

A#Sales

9,000

10,500

11,700

800

1,900

3,200

Cumulative("A#Sales", "0")

N/A

N/A

N/A

800

2,700

5,900

Cumulative("A#Sales", "Periodic", "0")

N/A

N/A

N/A

800

1,900

3,200

Cumulative("A#Sales", "Periodic", "3")

N/A

N/A

N/A

3,500

3,100

3,200

サンプル・スクリプト

' sample statement written in the calling routine
Sub Calculate()
HS.EXP "A#TOT_Cash =" &Cumulative("A#Cash","" ,0)
End Sub
' programming of the Cumulative function
Function Cumulative(StrPov, StrVIEW, nPERIOD)
DIM strCUM
DIM i
IF nPERIOD <= 0 THEN
nPERIOD = HS.PERIOD.NUMBER() - 1
ELSE
nPERIOD = nPERIOD - 1
END IF
IF strVIEW = "" THEN 
strVIEW = HS.SCENARIO.DEFAULTVIEW("") 
END IF
strPOV = UCASE(strPOV)
strVIEW = UCASE(strVIEW)
IF strVIEW = "PERIODIC" THEN
strVIEW = ".W#PERIODIC"
ELSEIF strVIEW =  "YTD" THEN
strVIEW = ".W#YTD"
ELSE
EXIT FUNCTION
END IF
FOR i = 0 TO nPERIOD
IF i = 0 THEN
strCUM = strPOV & strVIEW
ELSE
strCUM = strCUM &"+" & strPOV & strVIEW &".P#CUR-" &i
END IF
NEXT
  Cumulative = ""("" & strCUM &"")
END FUNCTION