조건부 테스트 예제
데이터 종속성을 평가하기 위해 계산이 필요한 경우 Essbase 공식에 조건부 테스트를 사용합니다.
예를 들어, 매출이 500000보다 큰 경우 큐브 아웃라인의 커미션 멤버에 다음 공식을 적용하여 매출의 1%로 커미션을 계산할 수 있습니다.
IF(Sales > 500000)
Commission = Sales * .01;
ENDIF;계산 스크립트에 공식을 배치하는 경우 다음과 같이 공식을 커미션 멤버와 연계해야 합니다.
Commission (IF(Sales > 500000)
Commission = Sales * .01;
ENDIF;)Essbase는 큐브를 순환하여 다음 계산을 수행합니다.
-
IF 문은 현재 멤버 조합에 대한 Sales 값이 500000보다 큰지 확인합니다.
-
영업이 500000보다 큰 경우 Essbase는 영업의 값에 0.01을 곱하고 결과를 커미션에 배치합니다.
다음 예제에서 공식은 현재 멤버의 조상을 테스트한 다음 적절한 급여 계산 공식을 적용합니다.
IF(@ISIDESC(East) OR @ISIDESC(West))
Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
Payroll = Sales * .11;
ELSE
Payroll = Sales * .10;
ENDIF;계산 스크립트에 공식을 배치하는 경우 다음과 같이 공식을 급여 멤버와 연계해야 합니다.
Payroll(IF(@ISIDESC(East) OR @ISIDESC(West))
Payroll = Sales * .15;
ELSEIF(@ISIDESC(Central))
Payroll = Sales * .11;
ELSE
Payroll = Sales * .10;
ENDIF;)Essbase는 다음 계산을 수행하여 데이터베이스를 순환합니다.
-
IF 문은 @ISIDESC 함수를 사용하여 시장 차원의 현재 멤버가 동쪽 또는 서쪽의 하위 멤버인지 확인합니다.
-
시장 차원의 현재 멤버가 동부 또는 서부의 하위 멤버인 경우 Essbase는 영업의 값에 0.15를 곱하고 다음 멤버 조합으로 이동합니다.
-
현재 멤버가 동부 또는 서부의 하위 멤버가 아닌 경우 ELSEIF 문은 @ISIDESC 함수를 사용하여 현재 멤버가 Central의 하위 멤버인지 확인합니다.
-
시장 차원의 현재 멤버가 중앙의 하위 멤버인 경우 Essbase는 영업의 값에 0.11을 곱하고 다음 멤버 조합으로 이동합니다.
-
현재 멤버가 East, West 또는 Central의 하위 멤버가 아닌 경우 Essbase는 Sales의 값에 0.10을 곱하고 다음 멤버 조합으로 이동합니다.
또한 다차원 계산 개념을 참조하십시오.