Cumulative

计算指定帐户之前期间值的总计。

返回值

返回一个字符串,表示要在 HS.EXP 函数中使用的正确表达式。

语法

Cumulative (PointOfView, View, NumPeriod)

表 12-5 Cumulative 函数的语法

参数 有效值

PointOfView

帐户、Custom1….4、ICP 成员的有效组合,例如 "A#CASH.C1#[None].I#[ICP Top]"

View

必须是下列值之一:

"" "(双引号)- 基于为正在处理的方案定义的默认视图(YTD 或 Periodic)。

YTD - 用户指定年初至今选项,将覆盖为方案设置的默认视图。

Periodic - 用户指定周期性选项,将覆盖为方案设置的默认视图。

NumPeriod

表示当前方案中要累计的期间数的整数,从当前期间开始计算。

如果 NumPeriod 为 0 或负值,则该函数将从当年年初开始累计。

详细说明

此函数计算指定帐户的指定期间总和或年初至今总和。默认情况下,累计数据的视图采用方案默认值;但是,可以为流类型帐户覆盖此默认值。

  • 如果 View 参数为 YTD,则该函数将累计年初至今值。

  • 如果 View 参数为 Periodic,则该函数将累计周期值。

  • 如果 View 参数为空白 (" "),则该函数将使用方案默认视图来累计数据。

示例

对于 2014 年 1 月、2 月和 3 月,CASH 帐户将根据 Cumulative 函数中使用的 Number 参数返回以下值。

对于 2014 年 1 月、2 月和 3 月,SALES 帐户将根据 Cumulative 函数中使用的 ViewNumber 参数返回以下值。为正在处理的方案设置的默认视图是 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")

不适用

不适用

不适用

800

1,900

3,200

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

不适用

不适用

不适用

3,500

3,100

3,200

A#Sales

9,000

10,500

11,700

800

1,900

3,200

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

不适用

不适用

不适用

800

2,700

5,900

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

不适用

不适用

不适用

800

1,900

3,200

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

不适用

不适用

不适用

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