Límite de tamaño de dimensión de 64 bits para esquema de almacenamiento agregado

Un esquema de cubo de almacenamiento agregado (ASO) de Essbase no puede superar los 64 bits por dimensión.

El número de bits que necesita una dimensión es el número máximo de bits que utiliza cualquier secundario de nivel 0, incluidos los secundarios de nivel 0 en jerarquías alternativas y dimensiones de atributo asociadas. Para la numeración de miembros, las dimensiones de atributos se tratan como jerarquías alternativas de sus dimensiones base.

En general, la fórmula para determinar el número de bits necesarios para cualquier miembro de una dimensión se puede expresar como:

#_bits_member’s_parent + log(x)

Donde x es el número de niños del principal.

Por ejemplo, si el padre del miembro es el miembro A, que requiere 5 bits, y A tiene 10 hijos, el número de bits requerido por cada hijo es:

5 +log(10) = 9 bits

El miembro superior de una dimensión o jerarquía suele utilizar 0 bits. Sin embargo, cuando una o más generaciones principales consisten en miembros de sólo etiqueta, los miembros de sólo etiqueta no reciben números de miembro (porque no se consideran miembros almacenados). Por lo tanto, si hay miembros x en la primera generación que no es de solo etiqueta, esos miembros usan bits log(x). El resto de los niños debajo de ellos están numerados normalmente.

Del mismo modo, si una dimensión o jerarquía es dinámica, solo los miembros de nivel 0 que se almacenan o comparten reciben números de miembro. El número de bits necesarios para esos miembros es log(x), donde x es el número de miembros de nivel 1 que se almacenan o comparten (es decir, el número de miembros de nivel 1 que no son miembros de fórmula).

Sin embargo, si alguna jerarquía alternativa tiene miembros de nivel 0 almacenados (no compartidos), cada miembro de cada jerarquía de la dimensión (incluidas las dimensiones de atributo asociadas) utiliza un bit de log adicional (x), donde x es el número total de jerarquías y dimensiones de atributo asociadas para esta dimensión base.

En el siguiente ejemplo se utiliza la dimensión Products en la base de datos ASOsamp.Basic:


En esta imagen se muestra la dimensión Productos, como se describe en el texto que sigue a la imagen.

La dimensión Productos tiene dos jerarquías: Toda la mercancía y la mercancía de gama alta, que es una jerarquía alternativa. La mercancía de gama alta tiene un miembro de nivel 0 almacenado: miembro almacenado. La dimensión Products no tiene ninguna dimensión de atributo asociada.

Miembros Todas las Mercancías y Mercancías de gama alta usan log(2) = 1 bit.

Note:

Si la mercancía de gama alta de la jerarquía alternativa no tenía ningún miembro de nivel 0 almacenado, los miembros superiores de cada jerarquía (y las dimensiones de atributo asociadas) utilizarían cada uno 0 bits.

El cálculo del número de bits requerido por cada nivel 0 secundario:

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

Member Computers and Peripherals tiene el mismo número de bits (3) que su padre Other.

El número máximo de bits utilizados por cualquier niño de nivel 0 en la dimensión Productos es 7 (Niños de Cámaras Digitales y Niños de Televisiones). Por lo tanto, Products utiliza 7 bits, que es menor que el límite de tamaño de dimensión de 64 bits.

Si el tamaño de la dimensión supera los 64 bits:

  • Essbase genera el siguiente error al guardar el esquema:

    Hierarchy [DimensionName] is too complex. It exceeds the maximum member number width of 64 bits. See application log for details.
  • Essbase registra mensajes similares a los siguientes en el registro de la aplicación:

    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

Para corregir el error, utilice una de estas recomendaciones:

  • Si es posible, suprima algunos hermanos de cualquiera de los miembros a los que se hace referencia en los mensajes. Reducir el número de hermanos por una potencia de dos ahorra un bit. Por ejemplo, supongamos que level0member, que aporta 5 bits al número de miembro, tiene 18 hermanos, incluido él mismo. Al reducir el número de hermanos a 16 o menos, se ahorra un bit porque log(16) = 4. Del mismo modo, reducir el número de hermanos a 8 o menos ahorra dos bits.

  • Reclasifique algunos hermanos de miembros a los que se hace referencia en los mensajes. Por ejemplo, mueva la mitad de los 18 hermanos de level0member a otro padre que no tenga tantos hijos. Alternativamente, cree un nuevo padre como hermano de nivel1padre y mueva la mitad de los hijos de nivel1padre bajo el nuevo miembro. Este enfoque ahorra un poco.

  • Combinar algunos niveles intermedios. Por ejemplo, mueva level0member y todos sus hermanos para que sean hijos de level2parent y, a continuación, elimine level1parent. Este enfoque está más involucrado, pero puede ahorrar muchos bits.