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

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 100Normalmente, 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 600La 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).

Essbase crea la siguiente jerarquía a partir del origen de datos y la regla:
Figura 14-4 Niveles

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.

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.

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,
-
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.
-
Cree un archivo de datos delimitado por comas como el siguiente, asígnele el nombre
levchannel.txty 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" -
En la página de inicio, abra la aplicación y, a continuación, abra la base de datos (cubo).
-
Seleccione el separador Scripts y, a continuación, haga clic en Reglas.

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

-
En el cuadro de diálogo Nueva regla,
-
Introduzca un nombre de regla. Por ejemplo, levchannel.
-
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.
-
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.
-
Haga clic en Continuar.
-
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.

-
-
Como se trata de una regla nueva, aún no hay dimensiones asociadas.
- Haga clic en Dimensiones.

- Escriba el nuevo nombre de dimensión Canal y haga clic en Agregar.
- Haga clic en Dimensiones.
-
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.
-
Cambie Método de compilación a Nivel de proceso nulo.

Haga clic en Aceptar.
-
Haga clic en el selector Dimensión en el campo 1 y seleccione Canal.

-
Cambie el selector Tipo del campo 1 a Nivel.
-
Aumente el nivel a 0, ya que los ID de canal están en el nivel 0.
-
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.

-
Verifique la regla, luego guarde y cierre. Si hay errores, consulte Requisitos para archivos de reglas de creación de dimensiones válidas.
-
Ejecute el trabajo de creación de dimensión.
-
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.

-
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.

-
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.
