잠재적 블록에 대한 계산 사용
밀집 차원의 밀집 멤버에서 공식을 사용하는 경우 결과 값이 밀집 차원에서 가져오고 피연산자 또는 피연산자가 희소 차원에서 가져온 경우 Essbase는 필요한 블록을 자동으로 생성하지 않습니다.
다음 예에서는 기존 실제 데이터에서 예산 판매 및 비용 데이터를 생성한다고 가정합니다. 판매 및 비용은 밀집 측정 차원의 멤버이고 예산 및 실제는 희소 시나리오 차원의 멤버입니다.
FIX(Budget)
(Sales = Sales -> Actual * 1.1;
Expenses = Expenses -> Actual * .95;)
ENDFIX방정식의 결과인 Sales 및 Expenses는 밀집 차원 멤버이고 피연산자 Actual은 희소 차원에 있습니다. Essbase는 기존 데이터 블록에서만 밀집 멤버 공식을 실행하므로 계산 스크립트는 필수 데이터 블록을 생성하지 않으며 예산 데이터 값은 아직 존재하지 않는 블록에 대해 계산되지 않습니다.
다음 기법을 사용하여 문제를 해결할 수 있습니다.
DATACOPY로 기존 블록 복사
Essbase 블록 저장영역 계산 스크립트의 DATACOPY 명령을 사용하여 각 기존 블록에 대한 블록을 생성한 다음 새 블록에 대한 계산을 수행할 수 있습니다.
예:
DATACOPY Sales -> Actual TO Sales -> Budget;
DATACOPY Expenses -> Actual TO Expenses -> Budget;
FIX(Budget)
(Sales = Sales -> Actual * 1.1;
Expenses = Expenses -> Actual * .95;)
ENDFIXEssbase는 존재하는 각각의 해당 실제 블록에 대한 예산 값을 포함하는 블록을 생성합니다. DATACOPY 명령이 완료되면 스크립트의 나머지 부분에 값이 변경됩니다.
DATACOPY 사용은 다음 상황에서 잘 작동합니다.
-
기존 블록의 값과 DATACOPY에 의해 생성된 해당 블록의 값 사이에 수학적 관계가 있습니다.
예를 들어, 앞의 예에서 예산 값은 기존 실제 값을 기반으로 계산될 수 있습니다.
주의:
DATACOPY는 소스 블록의 모든 셀에서 동일한 값을 가진 새 블록을 생성합니다. 공식이 블록의 일부에서만 수행되는 경우 이러한 복사된 셀은 계산 끝에 남아 있어 잠재적으로 원치 않는 값이 됩니다.
-
복사된 블록 중 #MISSING 값만 포함하는 블록이 없습니다.
#MISSING 값이 있으면 #MISSING 값만 포함하는 블록이 기록됩니다. 불필요한 #MISSING 블록에는 Essbase 리소스 및 처리 시간이 필요합니다.
참조 항목
SET CREATENONMISSINGBLK로 모든 잠재적 블록 계산
Essbase 블록 저장영역 계산 스크립트의 SET CREATENONMISSINGBLK 명령을 사용하여 밀집 또는 희소 차원에서 계산할 때 원하지 않는 값을 제한합니다.
원치 않는 값에 대해 DATACOPY를 사용하는 대신 SET CREATENONMISSINGBLK ON 계산 명령을 사용하면 메모리의 모든 잠재적 블록을 계산한 다음 데이터 값을 포함하는 계산된 블록만 저장할 수 있습니다. SET CREATENONMISSINGBLK 계산 명령은 밀집 또는 희소 차원에서 값을 계산할 때 유용할 수 있습니다.
다음 예에서는 기존 실제 데이터에서 예산 판매 및 비용 데이터를 생성합니다. 판매 및 비용은 밀집 측정 차원의 멤버이고 예산 및 실제는 희소 시나리오 차원의 멤버입니다.
FIX(Budget)
SET CREATENONMISSINGBLK ON
(Sales = Sales -> Actual * 1.1;
Expenses = Expenses -> Actual * .95;)
ENDFIX주:
SET CREATEBLOCKONEQ ON이 희소 차원에 대해 설정된 경우 SET CREATENONMISSINGBLK ON은 SET CREATENONMISSINGBLK OFF 명령이 발생하거나 계산 스크립트가 완료될 때까지 SET CREATEBLOCKONEQ ON을 임시로 무효화합니다.
SET CREATENONMISSINGBLK 명령을 사용하면 밀집 멤버에 적용할 경우 멤버 공식의 영향을 받는 데이터 셀만 저장된다는 이점이 있습니다. 단점은 너무 많은 잠재적 블록이 메모리에 구체화되어 계산 성능에 영향을 줄 수 있다는 것입니다. 이 명령을 사용할 때는 FIX를 사용하여 계산될 블록의 범위를 제한함으로써 잠재적 블록 수를 제한하는 것이 가장 좋습니다.