Cumulative

지정한 계정에 대한 이전 기간 값의 합계를 계산합니다.

반환 값

HS.EXP 함수의 일부로 사용할 정확한 표현식을 나타내는 문자열을 반환합니다.

구문

Cumulative (PointOfView, View, NumPeriod)

표 12-5 Cumulative 함수 구문

매개변수 적합한 값

PointOfView

계정, 사용자정의1….4, ICP 멤버 등의 적합한 조합입니다(예: "A#CASH.C1#[None].I#[ICP Top]").

다음 값 중 하나여야 합니다.

"" " "(큰따옴표) - 처리 중인 시나리오에 대해 정의된 기본 뷰(YTD 또는 주기적)를 기반으로 합니다.

YTD - 사용자가 시나리오에 대해 설정된 기본 뷰를 재정의하는 연 누계 옵션을 지정합니다.

주기적 - 시나리오에 대해 설정된 기본 뷰를 재정의하는 주기적 옵션을 지정합니다.

NumPeriod

현재 기간부터 시작하여 누계할 현재 시나리오의 기간 수를 나타내는 정수입니다.

NumPeriod가 0 또는 음수이면 함수가 현재 연도의 시작부터 합산됩니다.

자세한 설명

이 함수는 지정된 기간의 합계나 지정된 계정에 대한 연 누계 합계를 계산합니다. 기본적으로 누계 데이터 뷰는 시나리오입니다. 하지만 플로우 유형 계정에 대해 이 기본값을 재정의할 수 있습니다.

  • View 매개변수가 YTD이면 함수가 연 누계 값을 누계합니다.

  • View 매개변수가 주기적이면 함수가 주기적 값을 누계합니다.

  • View 매개변수가 공백(" ")이면 함수가 시나리오 기본 뷰를 사용하여 데이터를 누계합니다.

CASH 계정은 Cumulative 함수에서 사용된 Number 매개변수에 따라 2014년 1월, 2월 및 3월에 대해 다음 값을 반환합니다.

SALES 계정은 Cumulative 함수에서 사용된 ViewNumber 매개변수에 따라 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