지정한 계정에 대한 이전 기간 값의 합계를 계산합니다.
반환 값
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 함수에서 사용된 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