기본 계산 스크립트 구문 학습
Essbase 블록 저장영역 큐브에 대한 계산 스크립트를 설계할 때 알아야 할 몇 가지 구문 규칙이 있습니다. 명령은 일반적으로 세미콜론으로 종료됩니다. 특정 멤버 이름에는 따옴표를 사용해야 합니다. Essbase는 구문을 검증하는 데 도움이 됩니다.
전체 구문 규칙
Essbase 블록 저장영역 큐브에는 큐브 계산 방법을 제어하는 데 사용할 수 있는 유연한 명령 세트가 포함되어 있습니다. 명령 및 공식에서 계산 스크립트를 구성할 수 있습니다.
계산 스크립트를 생성할 때 다음 규칙을 적용해야 합니다.
-
각 공식 또는 계산 스크립트 명령을 세미콜론(;)으로 종료합니다. 예:
예제 1
CALC DIM(Product, Measures);예제 2
DATACOPY Plan TO Revised_Plan;예제 3
"Market Share" = Sales % Sales -> Market;예 4
IF (Sales <> #MISSING) Commission = Sales * .9; ELSE Commission = #MISSING; ENDIF;다음 조건부 또는 컨트롤 플로우 명령을 세미콜론으로 끝낼 필요는 없습니다.
- IF
- 종료
- ELSE
- 전자메일
- FIX
- 끝점
- EXCLUDE
- 제외 종료
- LOOP
- 끝 루프
주:
필수 사항은 아니지만 Oracle은 세미콜론을 사용하여 공식에서 각 ENDIF 문을 종료할 것을 권장합니다.
-
멤버 이름이 다음 조건 중 하나와 일치하는 경우 멤버 이름을 큰 따옴표(" ")로 묶습니다.
-
공백을 포함합니다.
예를 들어 다음 공식에서 재고 개시 및 재고 종료는 큰따옴표로 묶입니다.
"Opening Inventory" = "Ending Inventory" - Sales + Additions; -
연산자, 함수 이름 또는 키워드와 동일합니다.
-
하이픈( - ), 별표( * ) 또는 슬래시( / )와 같이 영숫자가 아닌 문자를 포함합니다.
-
숫자만 포함하거나 숫자로 시작합니다.
예: "100" 또는 "10Prod"
-
앰퍼샌드(&)로 시작합니다. 선행 앰퍼샌드(&)는 대체 변수용으로 예약되어 있습니다. 멤버 이름이 &로 시작하는 경우 이름을 따옴표로 묶습니다.
주:
계산 스크립트에 치환 변수를 따옴표로 묶지 마십시오.
-
점(.)을 포함합니다.
예: 1999. 1월 또는 .100
-
-
IF 문 또는 상호 종속적인 공식을 사용하는 경우 공식을 괄호로 묶어 지정된 멤버와 연관시킵니다.
예를 들어, 다음 공식은 데이터베이스 아웃라인의 커미션 멤버와 연관됩니다.
Commission (IF(Sales < 100) Commission = 0; ENDIF;) -
ENDIF 문을 사용하여 공식에서 각 IF 문을 종료합니다.
예를 들어, 이전 공식은 간단한 IF...ENDIF 문을 포함합니다.
-
다른 IF 문 내에 중첩된 IF 문을 사용하는 경우 ENDIF 문을 사용하여 각 IF를 종료합니다.
예:
"Opening Inventory" (IF (@ISMBR(Budget)) IF (@ISMBR(Jan)) "Opening Inventory" = Jan; ELSE "Opening Inventory" = @PRIOR("Ending Inventory"); ENDIF; ENDIF;) -
ELSE 또는 ELSEIF 문을 ENDIF 문으로 끝낼 필요는 없습니다.
예:
Marketing (IF (@ISMBR(@DESCENDANTS(West)) OR @ISMBR(@DESCENDANTS(East))) Marketing = Marketing * 1.5; ELSEIF(@ISMBR(@DESCENDANTS(South))) Marketing = Marketing * .9; ELSE Marketing = Marketing * 1.1; ENDIF;)주:
공식에서 ELSEIF(한 단어) 대신 ELSE IF(공백 포함)를 사용하는 경우 IF 문에 ENDIF를 제공해야 합니다.
-
각 FIX 문을 ENDFIX 문으로 종료합니다.
예:
FIX(Budget,@DESCENDANTS(East)) CALC DIM(Year, Measures, Product); ENDFIX -
ENDEXCLUDE 문을 사용하여 각 EXCLUDE 문을 종료합니다.
Essbase 웹 인터페이스를 사용하여 계산 스크립트를 작성하는 경우 구문 검사기를 사용하여 검증할 수 있습니다.
계산 스크립트에 설명 사용
계산 스크립트에 주석을 달기 위한 주석을 포함할 수 있습니다. 계산 스크립트가 실행되면 설명이 무시됩니다.
주석을 포함하려면 /*로 주석을 시작하고 */로 주석을 종료합니다. 예:
/* This calculation script comment
spans two lines. */구문을 확인하십시오.
Essbase 웹 인터페이스의 계산 스크립트 편집기에는 계산 스크립트에서 구문 오류(예: 잘못 입력된 함수 이름)에 플래그를 지정하는 구문 검증이 포함되어 있습니다.
구문 오류가 없으면 Essbase는 구문 검사가 성공했음을 나타냅니다.
구문 오류가 발견되면 Essbase는 구문 검사가 실패했음을 나타내고 한 번에 하나의 오류를 표시하여 오류가 발생한 위치를 나타냅니다.
주:
구문 검사기는 계산 스크립트가 예상대로 작동하지 않을 때 발생하는 의미 오류를 확인할 수 없습니다. 의미 오류를 찾으려면 계산을 실행하고 결과가 예상대로 나타나는지 확인합니다.