Difference

计算当前期间值与期初值之间的差。

返回值

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

语法

Difference (PointOfView, View)

表 12-7 Difference 函数的语法

参数 有效值

PointOfView

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

View

必须是下列值之一:

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

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

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

详细说明

此函数计算当前期间值与期初值之间的差。(当前 - 期初)

传递给函数的 View 参数不同,派生的期初值也不同。

  • 如果 View 参数为 YTD,则期初值将取自前一年的最后一个期间。

  • 如果 View 参数为 Periodic,则期初值将取自当年的前一个期间。如果当前期间是当年的第一个期间,则期初值取自前一年的最后一个期间。

  • 如果 View 参数为空白 (" "),则期初值将基于方案的默认数据视图。

示例

对于 2014 年 1 月、2 月和 3 月,CASH 帐户将根据 Difference 函数中使用的 View 参数返回以下值。为正在处理的方案设置的默认视图是 YTD。Difference 函数从当前期间值中减去期初值。

表 12-8 Difference 函数的示例

帐户 Dec2013 Jan2014 Feb2014 Mar2014

A#Cash

900

1,200

1,100

1,500

Difference("A#Cash", ""

不适用

300

200

600

Difference("A#Cash", "YTD")

不适用

300

200

600

Difference("A#Cash", "Periodic")

不适用

300

-100

400

示例脚本

' sample statement written in the calling routine
Sub Calculate()
Hs.Exp  = "A#DiffCash" & Difference("A#Cash", "YTD")
End Sub
' programming of the DIFFERENCE function
FUNCTION DIFFERENCE(strPOV,strVIEW)
IF strVIEW =  "" THEN 
strVIEW = HS.SCENARIO.DEFAULTVIEW ("") 
END IF
strPOV = UCASE(strPOV)
strVIEW = UCASE(strVIEW)
IF strVIEW = "PERIODIC" THEN
DIFFERENCE = """&" "&strPOV"-& strPOV & ".P#PRIOR" &"")""
ELSEIF strVIEW = "YTD" THEN
DIFFERENCE = "" ("&strPOV &""-" & strPOV & ".Y#PRIOR.P#LAST" &"") ""
ELSE
EXIT FUNCTION
END IF
END FUNCTION