조건 테스트
조건부 테스트 또는 일련의 조건부 테스트를 사용하여 계산 플로우를 제어하는 Essbase 공식을 정의할 수 있습니다. 흐름 명령과 함께 테스트 결과에 따라 TRUE 또는 FALSE(각각 1 또는 0)를 반환하는 부울 함수를 사용할 수 있습니다.
IF 및 ENDIF 명령은 조건부 블록을 정의합니다. IF 명령과 ENDIF 명령 사이의 공식은 테스트에서 TRUE(1)를 반환하는 경우에만 실행됩니다. 테스트에서 FALSE(0)를 반환하는 경우 ELSE 및 ELSEIF 명령을 사용하여 대체 작업을 지정할 수 있습니다. 각 ELSE 명령 다음에 나오는 공식은 이전 테스트에서 FALSE(0)를 반환하는 경우에만 실행됩니다. 각 ELSEIF 명령 다음에 나오는 조건은 이전 IF 명령이 FALSE (0)을 반환하는 경우에만 테스트됩니다.
계산 스크립트에서 조건부 공식을 사용하는 경우 이 섹션의 예와 같이 괄호로 묶고 데이터베이스 아웃라인의 멤버와 연관시킵니다.
IF 명령과 함께 조건부 테스트 결과에 따라 TRUE 또는 FALSE(1 또는 0)를 반환하는 함수를 사용할 수 있습니다. 이러한 함수를 부울 함수라고 합니다.
부울 함수를 사용하여 사용할 공식을 결정합니다. 결정은 현재 멤버 조합의 특성을 기반으로 합니다. 예를 들어, 특정 계산을 입력 데이터가 포함된 Product 차원의 멤버로 제한하려면 @ISLEV(Product,0)를 기반으로 IF 테스트를 사용하여 계산의 머리말을 지정합니다.
함수 매개변수 중 하나가 @ISMBR(판매 -> 예산)과 같은 교차 차원 멤버인 경우 교차 차원 멤버의 모든 부분이 TRUE(1) 값을 반환하려면 현재 셀의 속성과 일치해야 합니다.
다음 부울 함수는 조건을 지정합니다.
표 17-3 조건을 테스트하는 부울 함수 목록
| 함수 | 조건 |
|---|---|
|
현재 멤버에 지정된 계정 태그(예: 비용 태그)가 있습니다. |
|
|
현재 멤버가 지정한 멤버의 조상입니다. |
|
|
현재 멤버는 지정된 멤버 또는 지정된 멤버 자체의 조상입니다. |
|
|
현재 멤버가 지정된 멤버의 1차 하위 구성요소입니다. |
|
|
현재 멤버가 지정된 멤버의 1차 하위 구성요소이거나 지정된 멤버 자체입니다. |
|
|
현재 멤버가 지정한 멤버의 하위 멤버입니다. |
|
|
현재 멤버는 지정된 멤버 또는 지정된 멤버 자체의 하위 멤버입니다. |
|
|
지정된 차원의 현재 멤버가 지정된 생성에 있습니다. |
|
|
지정된 차원의 현재 멤버가 지정된 레벨에 있습니다. |
|
|
현재 멤버가 지정된 멤버와 일치합니다. |
|
|
현재 멤버는 지정된 멤버의 상위 멤버입니다. |
|
|
현재 멤버는 지정된 멤버 또는 지정된 멤버 자체의 상위 멤버입니다. |
|
|
현재 멤버(지정된 멤버와 동일한 차원)가 지정된 멤버와 동일한 세대인 경우 |
|
|
현재 멤버(지정된 멤버와 동일한 차원)가 지정된 멤버와 동일한 레벨에 있습니다. |
|
|
현재 멤버가 지정한 멤버의 동급 멤버입니다. |
|
|
현재 멤버는 지정된 멤버의 동위 멤버이거나 지정된 멤버 자체입니다. |
|
|
지정된 차원의 현재 멤버에 대해 지정된 UDA가 있습니다. |
데이터베이스 아웃라인에 공식을 배치할 때는 IF, ELSE, ELSEIF, ENDIF 명령 및 부울 함수만 사용하여 계산 흐름을 제어할 수 있습니다. 계산 스크립트에서 추가 제어 명령을 사용할 수 있습니다.
계산 스크립트를 개발하는 방법 및 계산 스크립트를 사용하여 Essbase에서 데이터베이스를 계산하는 방법을 제어하는 방법에 대한 자세한 내용은 블록 저장영역 큐브에 대한 계산 스크립트 개발을 참조하십시오.