주 컨텐츠로 이동
Adaptive Planning
참조: 수식 함수

참조: 수식 함수

수식 함수는 수학, 논리, 문자열 및 날짜의 네 가지 카테고리로 그룹화됩니다. 본 문서에서는 각 함수와 간단한 설명이 정의됩니다.
편의상 다음 표의 설명에서는 쉼표 구분 기호를 사용하는 수식을 보여줍니다. 일부 브라우저 설정에서는 세미콜론 구분 기호를 사용해야 합니다. 구문 열에는 두 버전이 모두 표시됩니다.

수학 함수

수학 함수는 버튼으로 사용할 수 있습니다. 예를 들면, 더하기(=), 빼기(-) 및 곱하기(*)가 해당됩니다.
함수 > 수학
에서 추가 선택항목을 사용할 수 있습니다.

논리 함수

의 일부로 포함
If
문에서 기본 로직 함수 및 비교를 버튼으로 사용할 수 있습니다. 예를 들어, 논리적 및 (
AND
), 논리값 또는 (
OR
) 및 논리적 부정(
NOT
) 비교 대상에는 같음(
=
), 보다 큼(
>
), 미만(
<
) 또는 같지 않음(
!=
) (
<>
) - 같지 않음
추가 선택사항은
함수 > 로직
에서 사용할 수 있습니다.
구문
설명
Blank()
반환값
Blank
값 이 값은 (0이 아닌) 비어 있는 값으로 표시되지만 수식적으로는 0과 동일하게 평가됩니다. 0과 달리
IsBlank()
반환 함수
TRUE
, 그러나 0과 유사하게 시트 또는 리포트에서 '빈 행 표시 안함'이 활성화된 경우 표시되지 않을 수 있습니다.
Error ()
런타임 계산 오류가 발생합니다.
예:
IF(ACCT.EffectiveHeadcount < 0, Error(), ACCT.EffectiveHeadcount+ACCT.AddlHeadcount)
유효 헤드카운트가 0보다 작을 경우, 오류를 반환하여 근본적인 문제를 추적하는 데 도움이 됩니다.
If (EXPR, T, F)
If (EXPR; T; F)
숫자 값(
T
) if 부울 표현식(
EXPR
)가 true이면, 숫자 값(
F
) 부울 및 비교 연산자는 부울식을 구성하는 데 사용할 수 있습니다.
Iff (EXPR, T, F)
Iff (EXPR; T; F)
'빠른' 형식 또는 약식 형식
If
함수 다음과 동일한 값을 반환합니다.
If
. 그러나 조건이 true인 경우 이 함수의 세 번째 인수가 계산되지 않습니다. 마찬가지로, 조건이 false인 경우 두 번째 인수가 계산되지 않습니다. 즉, 두 번째 또는 세 번째 인수에 오류가 포함될 수 있지만 결과는 다음과 같습니다.
Iff
오류가 포함된 인수는 평가되지 않으므로 이 값은 계속 유효합니다.
예를 들어 다음과 같습니다.
  • IFF (this.Version.isActuals, ACCT.TravelExp, ACCT.Personnel.EstimatedTravel)
  • IFF (this.Qtr.PositionOf (this.Month) = 2, 100000, 0)
IsBlank (N)
인수가 비어 있는 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다. 표현식 인수(
EXPR
)
If
함수
예:
If(IsBlank(Row.StartDate),0,1)
Switch (Orig_EXPR, Case1, Case2, ..., Default)
Switch (Orig_EXPR; Case1; Case2; ...; Default)
복잡한 중첩 표현식 대신 사용할 수 있는 간단한 표현식을 작성하는 방법을 제공합니다.
If
명세서
  • 첫 번째 인수(
    Orig_EXPR
    )은 먼저 계산되는 원래 표현식(
    컨트롤 표현식
    이라고도 함)입니다.
  • 후속 인수는 다음과 같습니다.
    Cases
    (값 및 해당 표현식) - 원래 표현식의 값과 일치하는 케이스에 따라 활성화될 수 있습니다.
  • 하나 이상의 케이스를 정의할 수 있습니다. 각 케이스는 값(
    N
    ) 및 표현식(
    EXPR
    ): 쉼표로 구분 확장된 구문은 다음과 같이 표시됩니다.
    Switch (Orig_EXPR, N1, EXPR1, N2, EXPR2, ..., Default)
  • 예를 들어, 원래 표현식의 값이 에 정의된 값과 일치하는 경우
    Case1
    , 표현식
    Case1
    이 반환됩니다. 그러나 원래 표현식의 값이 다음과 일치하는 경우
    Case2
    , 표현식
    Case2
    등이 반환됩니다.
  • 일치하는 항목이 없으면
    Switch
    다음을 반환합니다.
    Default
    표현식
  • 모든 표현식(
    EXPR
    ) -
    Switch
    문은 동일한 데이터 유형(문자열, 날짜, 숫자 등)이어야 합니다. 표현식의 데이터 유형이 다양한 경우 다음 오류가 표시됩니다.
    Inconsistent
    반환 유형 전환
  • 단일 값(
    N
    ) 각 케이스에 대해 다음을 지정할 수 있습니다.
    Range(L,U)
    - 값
    L
    은 범위의 하한이며
    U
    범위의 상한입니다. 예를 들어, 범위에 연도가 포함될 수 있습니다.
    Range(2014,2017)
    원래 표현식의 값이 해당 범위(포함) 내에 있으면 해당 범위와 연결된 표현식이 활성화됩니다.
  • 범위에 대한 각 인수는 동일한 데이터 유형이어야 합니다(예: 7과 같은 숫자,
    Engineering
    또는 기존 값을 사용하여 빌드된 날짜 상수
    Date()
    적절한 데이터 유형으로 확인되는 함수 또는 표현식(예:
    this.Version.Name
    또는
    ACCT.Rent
    )
예를 들어 다음과 같습니다.
  • Switch (ROW.DAY,1,"Sunday",2,"Monday",3,"Tuesday","No match")
    조건
    ROW.DAY
    값이 2이면 월요일은 값 2에 해당하는 표현식이므로
    Switch
    결과는 월요일입니다.
  • Switch (ToNumber (ROW.CaseQty), Range (0,11), 0, Range (12,24), 1, Range (24,48), 4, 0)
    이 두 번째 예에서는 다음을 반환합니다.0, 1 또는에서 찾은 숫자 값에 따라 4
    CaseQty
    선택기

날짜 및 시간 함수

날짜 함수는 대개 모델링 시트
날짜
열과 함께 사용됩니다. 날짜 함수는 모델링 시트 계산 계정에만 표시됩니다.
날짜 함수는 월 > 분기 > 연도 구성의 캘린더에 적용됩니다. 다른 구조를 사용하는 캘린더가 있는 경우 이러한 함수 중 대부분이 오류를 반환합니다. 대신 this.version.positionOf(D.strata) 함수를 사용해 보십시오. D를 yyyy,mm,dd 형식의 캘린더 날짜로 바꾸고, Strata를 캘린더에서 사용하는 시간 단위로 바꿉니다. 예를 들어 this.version.positionOf(2024,01,02.week)는 2024년의 첫 번째 주를 반환합니다.
구문
설명
D.Month.NumberOfDays
날짜가 지정된 월의 일수를 반환합니다.
D
발생
.
D.Year.PositionOf(D.Month).
날짜가 속한 회계연도의 월을 반환합니다.
D
발생합니다.
D.Year.PositionOf(D.Qtr)
날짜가 속한 회계연도의 분기를 반환합니다.
D
발생합니다.
(Date).
stratum_code
반환값
Timeperiod
(단일, 양력) 날짜가 포함된 요청된 시간 단위 유형 임의의 날짜를 시간 단위 코드의 기준으로 사용할 수 있습니다.
예:
ToDate
(2016,8,5).Qtr
2016년 8월 5일을 포함하는 회계 캘린더 분기를 반환합니다.
Day (D)
date(
D
)
DaysInMonth (D)
날짜 D가 속하는 월의 일수를 반환합니다. 커스텀 캘린더에 대해 오류 또는 잘못된 값을 반환할 수 있습니다. 사용
D.Month.NumberOfDays
대신
FiscalMonth (D)
날짜(
D
)가 발생합니다. 커스텀 캘린더에 대해 오류를 반환할 수 있습니다. 사용
D.Year.PositionOf(D.Month).
FiscalQuarter (D)
날짜(
D
)가 발생합니다. 커스텀 캘린더에 대해 오류를 반환할 수 있습니다. 사용
D.Year.PositionOf(D.Qtr).
FiscalYear (D)
날짜(
D
)가 발생합니다. 커스텀 캘린더에 대해 오류를 반환할 수 있습니다. 연도와 정확히 일치하는 숫자로 연도를 코딩하고 다음을 사용합니다.
ToNumber
(D.Year.code).
Month (D)
날짜(
D
)가 발생합니다.
Quarter (D)
날짜(
D
)가 발생합니다. 회사의 회계 분기와 동일하지 않을 수 있습니다(아래 참조).
this.Version.PositionOf(D.Month)
날짜 D가 속하는 버전의 월을 나타내는 숫자를 반환합니다(첫 번째 월 =
0
) 날짜 D가 버전의 시작일보다 이전일 경우 이 숫자는 음수가 될 수 있습니다.
this.Version.PositionOf(D.Year)
날짜 D가 속하는 버전의 연도를 나타내는 숫자를 반환합니다(첫 번째 연도 =
0
) 날짜 D가 버전의 시작일보다 이전일 경우 이 숫자는 음수가 될 수 있습니다.
TimeFraction (D1, D2, D, Dx)
TimeFraction (D1; D2; D; Dx)
현재 월에서 시작일(
D1
) 및 종료일(
D2
) 옵션 날짜(
D
)가 지정된 경우, 다음이 포함된 월을 사용합니다.
D
- 현재 월 대신 표시됩니다. 옵션인 고정 일수 매개변수(
Dx
)가 지정된 경우 의 기간을 재정의합니다.
D
숫자 값 포함
커스텀 캘린더 없이 구성된 인스턴스는 다음을 사용할 수 있습니다.
MonthFraction
대신
TimeFraction
.
ToDate (Y, M, D)
ToDate (Y; M; D)
지정된 연도(
Y
), 월(
M
) 및 일(
D
) 조건
D
이 생략된 경우
15
이 사용됩니다. 반환된 값은 날짜를 받는 다른 함수의 인수로 사용할 수 있습니다.
VersionMonth (D)
날짜(
D
) 발생(첫 번째 월 =
0
) 날짜(
D
)가 버전의 시작보다 빠릅니다.
커스텀 캘린더에 대해 오류를 반환할 수 있습니다. 사용
this.Version.PositionOf(D.Month).
Version.PositionOf (timeperiod)
버전의 전체 시간 프레임 내에서 제공된 기간의 상대적인 순서를 반환합니다. 버전의 첫 기간은 1로 시작하며, 버전이 시작되기 전에 기간이 발생할 경우 순서 번호는 음수가 될 수 있습니다. 이 함수는 버전의 종료 시점이 지난 기간에서도 활용할 수 있습니다.
VersionYear (D)
날짜(
D
) 발생(첫 번째 연도 =
0
) 날짜(
D
)가 버전의 시작보다 빠릅니다.
커스텀 캘린더에 대해 오류를 반환할 수 있습니다. 사용
this.Version.PositionOf(D.Year)
.
Year (D)
날짜(
D
)는 커스텀 캘린더의 사용 여부와 관계없이 발생합니다.

문자열 함수

구문
설명
Concat (text1, text2, ...)
Concat (text1; text2; ...)
둘 이상의 텍스트 문자열을 조인하여 연결된 문자열을 반환합니다.
예:
Concat ("hello", "world")
"를 반환합니다.
helloworld"
.
Length (text)
텍스트 문자열에 포함된 문자 수를 반환합니다.
예:
Length ("Now, is the winter of our discontent. Made glorious summer by this son or York.")
반품
79
.
Search (source_text, search_text)
Search (source_text; search_text)
의 시작 위치를 반환합니다.
search_text
시작
source_text
. 반품
0
if
search_text
이(가) 없습니다. 검색은 대/소문자를 구분하지 않습니다.
예:
Search ("Now is the winter of our discontent.", "Winter")
반품
12
.
Search ("Now is the winter of our discontent.", "Summer")
반품
0.
Substring (source_text, start_position, length)
Substring (source_text; start_position; length)
에서 찾은 문자를 포함하는 텍스트 문자열을 반환합니다.
source_text
시작:
start_position
(위치
1
은 텍스트 문자열의 첫 번째 문자입니다.
length
(또는 텍스트 문자열의 끝까지 중 먼저 발견되는 항목까지)
선택
start_position
-
0
이하는 포지션으로 처리됩니다.
1
. 길이 선택
0
이하는 다음의 길이로 처리됩니다.
0
빈 문자열을 반환합니다. 선택
start_position
의 종료 후
source_text
빈 문자열을 반환합니다.
ToNumber (text)
숫자를 나타내는 텍스트 문자열을 해당 숫자 값으로 변환합니다. 숫자가 아닌 문자를 찾을 때까지 문자열의 선행 부분을 변환합니다. 첫 번째 문자가 숫자가 아닌 경우 오류가 발생합니다.
예:
ToNumber ("7")
반품
7
.
ToNumber ("2017-12-31")
2017년(숫자)을 반환합니다.
ToNumber ("Sample")
오류를 반환합니다.

다음은 직원 모델링 시트의 헤드카운트 수식입니다. 함수를 결합하는 방법에 대한 좋은 예입니다. 이 수식은 이진 결과를 반환합니다.
1
또는
0
.
If(this.Version.PositionOf(this.Month) >= this.Version.PositionOf(ROW.StartDate.Month) # if this month is after the person's start date and (isblank(ROW.EndDate) # and either they have no termination date or this.Version.PositionOf(this.Month) <= Version.PositionOf(ROW.EndDate.Month)), # or the current month is before termination date 1, # return 1 for their headcount in this month 0) # otherwise, return 0