계산 통과

가능한 경우 Essbase는 블록 저장영역 데이터베이스를 하나의 계산 패스로 계산합니다. 경우에 따라 Essbase가 여러 패스를 만들어야 합니다.

일반적으로 Essbase는 하나의 계산 통과로 BSO 큐브를 계산하고, 필요한 각 데이터 블록을 메모리에 한 번만 읽은 다음 계산하고 저장합니다. 그러나 경우에 따라 Essbase가 여러 계산 패스를 수행해야 할 수도 있습니다. 이후 전달에서 Essbase는 데이터 블록을 메모리로 다시 가져오고 이에 대한 추가 계산을 수행하며 다시 저장합니다.

데이터베이스의 기본 전체 계산(CALC ALL)을 수행하는 경우 Essbase는 데이터베이스를 한 번에 계산하려고 시도합니다. 계정 또는 시간으로 태그가 지정된 차원이 있는 경우 Essbase는 데이터베이스를 통해 여러 계산 패스를 수행해야 할 수 있습니다.

다음 표에서는 시간 또는 계정으로 태그가 지정된 차원이 있고 계정 차원에 공식이 하나 이상 있는 경우 Essbase가 수행하는 계산 통과 수를 보여줍니다.

표 19-11 계정 및 시간 차원에 대한 계산 통과

차원 태그를 계정으로 지정 차원 태그 지정 시간 계산 통과 각 계산 패스 동안 Essbase는 다음을 기준으로 계산됩니다.

밀집 또는 희소

없음

1

모든 차원

밀집

밀집

1

모든 차원

밀집

희소

2

1단계: 계정 및 시간 차원

패스 2: 기타 치수

희소

희소

2

1단계: 계정 및 시간 차원

패스 2: 기타 치수

희소

밀집

2

패스 1: 계정 차원

패스 2: 기타 치수

2패스로 태그 지정된 공식을 사용하는 경우 Essbase에서 해당 공식을 계산하기 위해 추가 계산 패스를 수행해야 할 수 있습니다.

계산 스크립트를 사용하여 데이터베이스를 계산하는 경우 계산 스크립트에 따라 Essbase에서 수행해야 하는 계산 통과 수가 달라집니다.

Essbase는 애플리케이션 로그에 각 패스에 대한 차원의 계산 순서 및 수행된 큐브를 통한 주기 수를 기록합니다.

각 블록에 대해 Essbase는 블록의 값 유형에 따라 밀집 계산 또는 희소 계산을 수행할지 여부를 결정합니다. 기본 계산(CALC ALL)을 실행하면 각 블록이 해당 블록 번호에 따라 순서대로 처리됩니다.

Essbase는 다음 절차를 사용하여 블록을 계산합니다.

  • 지능형 계산이 설정되어 있고 블록을 계산할 필요가 없는 경우(클린으로 표시된 경우) Essbase는 블록을 건너뛰고 다음 블록으로 이동합니다.

  • 블록을 재계산해야 하는 경우 Essbase는 블록이 레벨 0인지, 입력인지 또는 상위 레벨 블록인지 확인합니다.

  • 블록이 레벨 0 블록 또는 입력 블록인 경우 Essbase는 블록에 대해 밀집 계산을 수행합니다. 블록의 각 셀이 계산됩니다.

  • 블록이 상위 레벨 블록인 경우 Essbase는 값을 통합하거나 블록에서 희소 계산을 수행합니다.

    각 상위 레벨 블록의 희소 멤버 조합에 하나 이상의 상위 멤버가 포함되어 있습니다. Essbase는 상위 멤버의 차원을 기반으로 블록을 통합하거나 계산합니다. 예를 들어, Sample.Basic 데이터베이스의 Product -> Florida에 대한 상위 레벨 블록인 경우 Essbase는 Product 차원을 선택합니다.

    블록에 대한 희소 멤버 조합에 여러 상위 멤버가 있는 경우 Essbase는 상위 멤버를 포함하는 계산 순서에서 마지막 차원을 선택합니다. 예를 들어, 블록이 Product -> East에 대한 것이고 Sample.Basic 데이터베이스에서 기본 계산을 수행하는 경우 Essbase는 East가 포함된 Market 차원을 선택합니다. Market 차원은 데이터베이스 아웃라인의 Product 차원 뒤에 배치되므로 기본 계산 순서의 마지막입니다. 멤버 계산 순서를 참조하십시오.

    선택한 희소 차원에 따라 Essbase는 값을 통합하거나 블록에서 희소 계산을 수행합니다.

    • 선택한 희소 차원의 블록 멤버에 공식이 적용되는 경우 Essbase는 희소 차원에서 공식 계산을 수행합니다. Essbase는 블록의 각 셀을 평가합니다. 공식은 희소 차원의 멤버에만 영향을 주므로 전체 계산 성능은 크게 영향을 받지 않습니다.

    • 선택한 희소 차원이 기본 통합인 경우 Essbase는 이전에 계산된 하위 블록의 값을 사용하여 값을 통합합니다.