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

수학 함수
수학 함수는 버튼으로 사용할 수 있습니다. 예를 들면, 더하기(=), 빼기(-) 및 곱하기(*)가 해당됩니다. 함수 > 수학
에서 추가 선택항목을 사용할 수 있습니다.
참조 참조: 수학 수식 함수.
논리 함수
의 일부로 포함 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 오류가 포함된 인수는 평가되지 않으므로 이 값은 계속 유효합니다.
예를 들어 다음과 같습니다.
|
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 명세서
예를 들어 다음과 같습니다.
|
날짜 및 시간 함수
날짜 함수는 대개 모델링 시트 날짜
열과 함께 사용됩니다. 날짜 함수는 모델링 시트 계산 계정에만 표시됩니다.

날짜 함수는 월 > 분기 > 연도 구성의 캘린더에 적용됩니다. 다른 구조를 사용하는 캘린더가 있는 경우 이러한 함수 중 대부분이 오류를 반환합니다. 대신 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
|
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 ifsearch_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