조건부 테스트 예제

데이터 종속성을 평가하기 위해 계산이 필요한 경우 Essbase 공식에 조건부 테스트를 사용합니다.

예를 들어, 매출이 500000보다 큰 경우 큐브 아웃라인의 커미션 멤버에 다음 공식을 적용하여 매출의 1%로 커미션을 계산할 수 있습니다.

IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;

계산 스크립트에 공식을 배치하는 경우 다음과 같이 공식을 커미션 멤버와 연계해야 합니다.

Commission (IF(Sales > 500000)
   Commission = Sales * .01;
ENDIF;)

Essbase는 큐브를 순환하여 다음 계산을 수행합니다.

  1. IF 문은 현재 멤버 조합에 대한 Sales 값이 500000보다 큰지 확인합니다.

  2. 영업이 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는 다음 계산을 수행하여 데이터베이스를 순환합니다.

  1. IF 문은 @ISIDESC 함수를 사용하여 시장 차원의 현재 멤버가 동쪽 또는 서쪽의 하위 멤버인지 확인합니다.

  2. 시장 차원의 현재 멤버가 동부 또는 서부의 하위 멤버인 경우 Essbase는 영업의 값에 0.15를 곱하고 다음 멤버 조합으로 이동합니다.

  3. 현재 멤버가 동부 또는 서부의 하위 멤버가 아닌 경우 ELSEIF 문은 @ISIDESC 함수를 사용하여 현재 멤버가 Central의 하위 멤버인지 확인합니다.

  4. 시장 차원의 현재 멤버가 중앙의 하위 멤버인 경우 Essbase는 영업의 값에 0.11을 곱하고 다음 멤버 조합으로 이동합니다.

  5. 현재 멤버가 East, West 또는 Central의 하위 멤버가 아닌 경우 Essbase는 Sales의 값에 0.10을 곱하고 다음 멤버 조합으로 이동합니다.

또한 다차원 계산 개념을 참조하십시오.