Referencias de nivel en compilaciones de dimensiones

Los niveles se definen desde una jerarquía ascendente, donde los miembros de hoja son de nivel 0, y cada paso más cerca del nombre de dimensión aumenta el nivel en 1. Al crear dimensiones de Essbase desde un origen ascendente, utilice el método de creación de nivel. Si los datos de origen contienen valores nulos, utilice el método de creación Nulos de nivel de proceso.

En un origen de datos ascendente, cada registro define un único miembro de una dimensión. La definición comienza con la información más específica sobre el miembro y proporciona información progresivamente más general. Un registro típico especifica el nombre del nuevo miembro, el nombre de su padre, el padre de su padre, etc.

Por ejemplo, en el esquema que se muestra a continuación, los miembros de nivel inferior se encuentran en la parte inferior de las ramas de la dimensión Product.

Figura 14-3 Generación y Números de Nivel


Esta imagen muestra el número de generación y el número de nivel de cada miembro.

Para crear el esquema mediante un trabajo de creación de dimensiones, puede introducir el siguiente origen de datos ascendente:

100-10-12  100-10  100
100-20-12  100-20  100

Normalmente, debe ejecutar una creación de dimensión mediante el método de creación de nivel cuando los miembros de nivel inferior se secuencian de izquierda a derecha. Los miembros de nivel 0 (nivel de hoja) están en el primer campo, los miembros de nivel 1 están en el segundo campo, etc. Esta organización es lo contrario de cómo se presentan los datos para las referencias de generación (de arriba hacia abajo).

Supongamos que tiene un cubo con una dimensión Product y que desea utilizar el siguiente archivo de datos delimitado por tabuladores ascendente para crear más miembros de producto en la dimensión Product.

600-10-11	600-10	600
600-20-10	600-20	600
600-20-18	600-20	600

La fuente de datos es "de abajo arriba" ya que la primera columna de la fuente de datos contiene nuevos miembros de nivel de hoja (600-10-11, 600-20-10 y 600-20-18). La segunda columna contiene los padres de los nuevos miembros (600-10 y 600-20), y la tercera columna contiene los padres de los padres (600).

La regla de carga de creación de dimensión utiliza el método de creación de referencia de nivel para agregar los miembros a la dimensión Product. La regla especifica el número de nivel y el tipo de campo para cada campo del origen de datos. También debe seleccionar el método de creación Nivel en las propiedades de dimensión de la regla, a menos que los datos de origen contengan valores nulos (para ese caso de uso, consulte Tratar con campos vacíos, a continuación).

Regla de creación de dimensión para una creación de nivel

Essbase crea la siguiente jerarquía a partir del origen de datos y la regla:

Figura 14-4 Niveles


En esta imagen se muestran los nuevos miembros que se crean durante la creación de nivel.

Gestión de campos vacíos

Al crear dimensiones a partir de referencias de generación o nivel en los datos de origen, puede optar por procesar valores nulos. El procesamiento nulo especifica qué acciones debe realizar Essbase cuando encuentra campos vacíos en el origen de datos.

Note:

Las opciones de procesamiento nulas solo están disponibles para las reglas de creación de dimensiones normales (no basadas en índices).

Si no se activa el procesamiento nulo, Essbase rechaza todos los registros con valores nulos y escribe un error en el registro de errores.

Para activar el procesamiento nulo, seleccione uno de los métodos de creación de procesamiento nulo en las propiedades de dimensión al crear la nueva regla de creación de dimensión.


Métodos de creación de procesamiento nulo en propiedades de dimensión para una nueva regla

Si utiliza el método de creación Nivel de proceso nulo, le indica a Essbase que espere algunos valores nulos al procesar referencias de nivel en los datos de origen, lo que ayuda a evitar errores.

Ejemplo

Para este ejemplo de creación de dimensión, suponga que desea agregar una jerarquía irregular/asimétrica como la siguiente en una nueva dimensión de canal en Sample Basic.


La dimensión de canal contiene cuatro niveles de profundidad de miembros. Los ID de canal están en el nivel 0. Los ID de canal indirecto tienen tres niveles de miembros por encima de ellos, y los ID de canal directo tienen cuatro niveles de miembros por encima de ellos, lo que lo convierte en una jerarquía desequilibrada/arrastrada.

El origen de datos es ascendente, lo que significa que los niveles más bajos aparecen primero en cada registro. Por lo tanto, tiene sentido utilizar un método de creación de referencias de nivel. Sin embargo, se requerirán instrucciones de manejo nulas. Los tres primeros registros de datos de origen contienen campos nulos, ya que no hay datos de ubicación para los canales indirectos.

Channel-04,,Indirect,"All Channels"
Channel-07,,Indirect,"All Channels"
Channel-24,,Indirect,"All Channels"
Channel-21,Outlet,Direct,"All Channels"
Channel-29,Mall,Direct,"All Channels"
Channel-31,Kiosk,Direct,"All Channels"

Puede crear una regla para crear las dimensiones y evitar errores relacionados con valores nulos mediante el método de creación Nivel de proceso nulo.

Para crear una regla para este ejemplo,

  1. Importe/cree el cubo de ejemplo básico utilizando el libro de trabajo de la aplicación disponible en la galería del catálogo de archivos del servidor de Essbase.

  2. Cree un archivo de datos delimitado por comas como el siguiente, asígnele el nombre levchannel.txt y cárguelo en el directorio de cubo básico de ejemplo.

    Channel-04,,Indirect,"All Channels"
    Channel-07,,Indirect,"All Channels"
    Channel-24,,Indirect,"All Channels"
    Channel-21,Outlet,Direct,"All Channels"
    Channel-29,Mall,Direct,"All Channels"
    Channel-31,Kiosk,Direct,"All Channels"
  3. En la página de inicio, abra la aplicación y, a continuación, abra la base de datos (cubo).

  4. Seleccione el separador Scripts y, a continuación, haga clic en Reglas.


    El separador Scripts está seleccionado y el mosaico Reglas está resaltado en la interfaz web de Essbase.

  5. Haga clic en Crear y seleccione Creación de dimensiones (normal).


    En el cuadro de diálogo de la base de datos, se pulsa el botón Crear y se selecciona la opción Creación de dimensiones (normal)

  6. En el cuadro de diálogo Nueva regla,

    1. Introduzca un nombre de regla. Por ejemplo, levchannel.

    2. En Tipo de origen, seleccione Archivo, haga clic en Catálogo y navegue a levchannel.txt.

      Al hacer clic en Catálogo, se espera que el archivo se encuentre en el directorio de cubo del servidor de Essbase de forma predeterminada, por lo que ya debe haberlo cargado mediante la sección Archivos de la interfaz web de Essbase. Si el archivo está en la máquina cliente, haga clic en Explorador de archivos para localizar el archivo.

    3. Deje los campos Número de registro de cabecera y Número de registro de creación de dimensión como 0. Los registros de cabecera no son útiles para las compilaciones de dimensiones.

    4. Haga clic en Continuar.

    5. La regla de creación de dimensiones se abre con campos no definidos y obtiene una vista previa de los datos (del archivo de texto) que rellenan la cuadrícula debajo de los campos.
      Editor de reglas de creación de dimensiones para la nueva regla "levchannel", con campos no definidos del 1 al 4 como columnas de metadatos en espera de rellenarse. En cada campo se encuentran los valores de datos importados del archivo de datos de origen.

  7. Como se trata de una regla nueva, aún no hay dimensiones asociadas.

    1. Haga clic en Dimensiones.
      Botón Dimensiones en editor de reglas

    2. Escriba el nuevo nombre de dimensión Canal y haga clic en Agregar.
  8. Ahora debe definir el método de creación y comprobar otras instrucciones operativas de creación de dimensiones. Haga clic en el enlace Canal para editar las propiedades de dimensión.

  9. Cambie Método de compilación a Nivel de proceso nulo.


    Editar dimensiones en el editor de reglas de creación de dimensiones, con el nivel de proceso nulo seleccionado.

    Haga clic en Aceptar.

  10. Haga clic en el selector Dimensión en el campo 1 y seleccione Canal.
    Campo 1 en el editor de reglas de creación de dimensiones, rellenado con datos y con la dimensión Channel seleccionada.

  11. Cambie el selector Tipo del campo 1 a Nivel.

  12. Aumente el nivel a 0, ya que los ID de canal están en el nivel 0.

  13. En los campos 2 a 4, ahora se debe seleccionar Canal como dimensión. Cambie los selectores de Tipo a Nivel y marque los números de nivel como 1 para el Campo 2, 2 para el Campo 3 y 3 para el Campo 4.


    Regla de creación de dimensión para crear una dimensión de canal con una jerarquía irregular mediante el método de creación de valores nulos de nivel de proceso. El campo 1 se define como Canal, Nivel, 0 y contiene ID de canal. El campo 2 se define como Canal, Nivel, 1 y contiene tres campos nulos y tres campos de ubicación (Salida, Centro comercial y Quiosco). El campo 3 se define como Canal, Nivel, 2 e Indirecto para tres registros y Directo para tres registros. El campo 4 se define como Canal, Nivel, 3 y contiene Todos los canales.

  14. Verifique la regla, luego guarde y cierre. Si hay errores, consulte Requisitos para archivos de reglas de creación de dimensiones válidas.

  15. Ejecute el trabajo de creación de dimensión.

  16. Consulte el esquema para confirmar que se han agregado la dimensión Channel y la jerarquía esperada de miembros.

Flujo de procesamiento nulo para compilaciones de dimensiones basadas en niveles

Si el procesamiento nulo está activado, los procesos de Essbase procesan valores nulos de las siguientes formas:

  • Campo de nivel nulo: si se produce un valor nulo en el que Essbase espera un campo de nivel, Essbase promociona el campo de siguiente nivel para sustituir el campo que falta.

    Ejemplo

    La creación de dimensión coloca Indirect en el nivel 1 en lugar del nivel 2, porque el campo 2 para el nivel 1 contiene un valor nulo.


    El campo 1 es Canal y el nivel 0 contiene un ID de canal en la primera fila. El campo 2 es Canal y el nivel 1 contiene un valor nulo en la primera fila. El campo 3 es Canal, Nivel 2, que contiene Indirecto en la primera fila. El campo 4 es Canal, Nivel 3, que contiene Todos los canales.

  • Campo nulo antes de un campo secundario: si se produce un valor nulo directamente antes de un campo secundario, Essbase ignora el campo secundario. (Las opciones de campo secundario son alias, propiedad, fórmula, nivel duplicado, alias de nivel duplicado, nombre de moneda, categoría de moneda, principal de atributo, ADU y nombre de una dimensión de atributo).

    Ejemplo

    La creación de dimensión ignorará el alias en el campo 3, porque el campo 2 contiene un valor nulo. Essbase colocará Indirecto en el nivel 1 y Todos los canales en el nivel 2.


    El campo 1 es Canal y el nivel 0 contiene un ID de canal. El campo 2 es Canal y el nivel 1 contiene un valor nulo. El campo 3 es Canal, Alias, que contiene Catálogo. El campo 4 es Canal, Nivel 2, que contiene Indirecto. El campo 5 es Canal y el nivel 3 contiene Todos los canales.

  • Campo secundario nulo: si se produce un valor nulo en el que Essbase espera un campo secundario, Essbase ignora el campo nulo secundario y continúa la carga (este es el mismo comportamiento que para el método de creación de nivel).

    Ejemplo

    La creación de la dimensión ignorará el primer alias en el campo 3, porque ese campo contiene un valor nulo. El miembro Outlet se agregará al esquema sin ningún alias.


    El campo 1 es Canal y el nivel 0 contiene los ID de canal. El campo 2 es Canal, Nivel 1 que contiene Salida en la primera fila y Centro comercial y Quiosco en las dos siguientes filas. El campo 3 es Canal, Alias, que contiene un valor nulo en la primera fila y algunos alias en las dos filas siguientes. El campo 4 es Canal, Nivel 2, que contiene Directo en todas las filas. El campo 5 es Canal y el nivel 3 contiene Todos los canales en todas las filas.