집계 스토리지 아웃라인에 대한 64비트 차원 크기 제한
Essbase 합산 저장영역(ASO) 큐브 아웃라인은 차원당 64비트를 초과할 수 없습니다.
차원에 필요한 비트 수는 대체 계층의 레벨 0 하위 항목 및 연계된 속성 차원을 포함하여 모든 레벨 0 하위 항목에 사용되는 최대 비트 수입니다. 멤버 번호 지정을 위해 속성 차원은 기본 차원의 대체 계층으로 처리됩니다.
일반적으로 차원의 멤버에 필요한 비트 수를 결정하는 공식은 다음과 같이 표현할 수 있습니다.
#_bits_member’s_parent + log(x)여기서 x는 상위의 1차 하위 멤버 수입니다.
예를 들어 멤버의 상위 멤버가 5비트가 필요하고 A에 10개의 1차 하위 구성요소가 있는 멤버 A인 경우 각 1차 하위 구성요소에 필요한 비트 수는 다음과 같습니다.
5 +log(10) = 9 bits차원 또는 계층의 최상위 멤버는 일반적으로 0비트를 사용합니다. 그러나 하나 이상의 최상위 세대가 레이블 전용 멤버로 구성된 경우 레이블 전용 멤버는 저장된 멤버로 간주되지 않으므로 멤버 번호를 받지 않습니다. 따라서 첫번째 비레이블 전용 생성에 x 멤버가 있는 경우 해당 멤버는 로그(x) 비트를 사용합니다. 그 아래에있는 나머지 아이들은 정상적으로 번호가 매겨집니다.
마찬가지로 차원 또는 계층이 동적인 경우 저장되거나 공유되는 레벨 0 멤버만 멤버 번호를 수신합니다. 해당 멤버에 필요한 비트 수는 log(x)입니다. 여기서 x는 저장되거나 공유되는 레벨 0 멤버의 수(공식 멤버가 아닌 레벨 0 멤버의 수)입니다.
그러나 대체 계층에 저장된(공유되지 않은) 레벨 0 멤버가 있는 경우 차원에 있는 모든 계층의 각 멤버(연결된 속성 차원 포함)는 추가 로그(x) 비트를 사용합니다. 여기서 x는 이 기본 차원에 대한 계층 및 연계된 속성 차원의 총 수입니다.
다음 예제에서는 ASOsamp.Basic 데이터베이스의 Products 차원을 사용합니다.

제품 차원에는 대체 계층인 모든 상품 및 상한 상품의 두 계층이 있습니다. 상한 상품에는 저장된 멤버라는 하나의 저장된 레벨 0 멤버가 있습니다. 제품 차원에 연계된 속성 차원이 없습니다.
회원 모든 상품 및 상한 상품은 log(2) = 1비트를 사용합니다.
주:
대체 분류체계 상한 상품에 저장된 레벨 0 멤버가 없는 경우 각 분류체계의 최상위 멤버(및 연계된 속성 차원)는 각각 0비트를 사용합니다.
각 레벨 0 하위 항목에 필요한 비트 수 계산:
All Merchandise = 1 bit
Personal Electronics, Home Entertainment, Other = 1 + log(3) = 3 bits
Digital Cameras/Camcorders, Handhelds/PDAs, Portable Audio = 3 + log(3) = 5
Children of Digital Cameras/Camcorders = 5 + log(3) = 7
Children of Handhelds/PDAs = 5 + log(3) = 7
Children of Portable Audio = 5 + log(2) = 6
Televisions, Home Audio/Video = 3 + log(2) = 4
Children of Televisions = 4 + log(5) = 7
Children of Home Audio/Video = 4 + log(4) = 6
Computers and Peripherals = 3 + log(1) = 3 **
Systems, Displays, CD/DVD drives = 3 + log(3) = 5
Children of Systems = 5 + log(2) = 6
High End Merchandise = 1 bit
Flat Panel, HDTV, Stored Member = 1 + log(3) = 3 bits
멤버 컴퓨터 및 주변 장치에는 상위 기타와 동일한 수의 비트(3)가 있습니다.
제품 차원의 모든 레벨 0 하위에서 사용하는 최대 비트는 7(디지털 카메라의 하위 및 텔레비젼의 하위)입니다. 따라서 Products는 차원 크기 제한인 64비트보다 작은 7비트를 사용합니다.
치수 크기가 64비트를 초과하는 경우:
-
Essbase는 아웃라인을 저장할 때 다음 오류를 생성합니다.
Hierarchy [DimensionName] is too complex. It exceeds the maximum member number width of 64 bits. See application log for details. -
Essbase는 애플리케이션 로그에 다음 메시지와 유사한 메시지를 기록합니다.
Member number for member [level0member] requires [65] bits to encode Member [level0member] contributes [5] bits to member number Member [level1parent] contributes [20] bits to member number Member [level2parent] contributes [20] bits to member number Member [level3parent] contributes [20] bits to member number
오류를 수정하려면 다음 권장 사항 중 하나를 사용하십시오.
-
가능한 경우 메시지에 참조된 멤버의 일부 동위 멤버를 삭제합니다. 동위 멤버 수를 두 배로 줄이면 한 비트가 절약됩니다. 예를 들어, 멤버 번호에 5비트를 제공하는 level0member에 자신을 포함하여 18개의 동위 멤버가 있다고 가정합니다. 형제 수를 16개 이하로 줄이면 log(16) = 4이므로 1비트가 절약됩니다. 마찬가지로 동위 멤버 수를 8 이하로 줄이면 두 비트가 저장됩니다.
-
메시지에 참조된 멤버의 일부 동위 멤버를 재분류합니다. 예를 들어, level0member 18 형제의 절반을 하위가 많지 않은 다른 상위로 이동합니다. 또는 새 상위 항목을 level1parent의 형제로 만들고 level1parent 하위 항목의 절반을 새 멤버 아래로 이동합니다. 이 방법은 조금 절약됩니다.
-
일부 중간 레벨을 결합합니다. 예를 들어, level0member 및 모든 동위 멤버를 level2parent의 자식으로 이동한 다음 level1parent를 제거합니다. 이 접근 방식은 더 많이 포함되지만 많은 비트를 절약 할 수 있습니다.