Referencias de generación en compilaciones de dimensiones
Los miembros de la dimensión de Essbase que ocupan una rama común están en la misma generación. La generación 1 es el nombre de dimensión y cada nivel inferior incrementa el número de generación. Al crear dimensiones desde un origen descendente, utilice el método de creación Generación. Si los datos de origen contienen valores nulos, utilice el método de creación Generación de procesos nulos.
Los orígenes de datos de arriba abajo se organizan de izquierda a derecha desde el nivel más alto hasta el más bajo. Cada registro comienza con la información más general y avanza a la información más específica. El nombre del nuevo miembro se encuentra al final del registro. Cuando utilice un origen de datos descendente, utilice el método de creación de referencias de generación. En el archivo de reglas, especifique el número de generación y el tipo de campo de cada campo del origen de los datos.
Essbase numera los miembros dentro de una dimensión según la posición jerárquica del miembro dentro de la dimensión. Los números se denominan referencias de generación. Una dimensión es siempre la generación 1. Todos los miembros de la misma rama de una dimensión se denominan generación. Las generaciones se numeran de arriba abajo según su posición relativa a la dimensión; es decir, relativa a la dimensión 1.
Por ejemplo, como se ilustra a continuación, la dimensión Product es la generación 1. El producto tiene un miembro 100, que es la generación 2. 100 tiene miembros, como 100-10, que son la generación 3. Para utilizar el método de generación de referencias, especifique el número de referencia de generación en el archivo de reglas.
Figura 14-1 Generaciones

Supongamos que tiene un cubo con una dimensión Product. Las dimensiones son la generación 1, por lo que Product es la generación 1. Supongamos que desea utilizar el siguiente archivo de datos descendente delimitado por tabuladores para crear la dimensión Product:
500 500-10 500-10-10
500 500-10 500-10-20
500 500-20 500-20-12
500 500-20 500-20-15
500 500-20 500-20-20
Normalmente, debe ejecutar una creación de dimensión mediante el método de creación Generación cuando los miembros de nivel inferior se secuencian de derecha a izquierda como se muestra anteriormente.
Puede utilizar la siguiente regla para crear las dimensiones mediante referencias de generación. La regla especifica el número de generación para cada campo del origen de datos. También debe seleccionar el método de creación Generación 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 Cómo tratar los campos vacíos, a continuación).

Essbase crea la siguiente jerarquía a partir del origen de datos y la regla:
Figura 14-2 Referencias de generación

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: Generación de proceso nula o Nivel de proceso nulo.

Si utiliza el método de creación Generación de proceso nula, le indica a Essbase que espere algunos valores nulos al procesar referencias de generación 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 descendente, lo que significa que los niveles superiores (cerca del miembro de la dimensión superior) aparecen primero en cada registro. Por lo tanto, tiene sentido utilizar un método de creación de referencias de generación. 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.
"All Channels",Indirect,,Channel-04
"All Channels",Indirect,,Channel-07
"All Channels",Indirect,,Channel-24
"All Channels",Direct,Outlet,Channel-21
"All Channels",Direct,Mall,Channel-29
"All Channels",Direct,Kiosk,Channel-31Puede crear una regla para crear las dimensiones y evitar errores relacionados con valores nulos mediante el método de creación Generación 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
genchannel.txty cárguelo en el directorio de cubo básico de ejemplo."All Channels",Indirect,,Channel-04 "All Channels",Indirect,,Channel-07 "All Channels",Indirect,,Channel-24 "All Channels",Direct,Outlet,Channel-21 "All Channels",Direct,Mall,Channel-29 "All Channels",Direct,Kiosk,Channel-31 -
En la página Aplicaciones, 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, genchannel.
-
En Tipo de origen, seleccione Archivo, haga clic en Catálogo y navegue a
genchannel.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 los datos de vista previa (del archivo de texto) se rellenan en 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 creación a Generación de proceso nula.

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 Generación.
-
Aumente la generación a 2, ya que el miembro de jerarquía Todos los canales está en el nivel 2. El miembro de generación 1 siempre es el nombre de dimensión; en este caso, Canal.
-
En los campos 2 a 4, ahora se debe seleccionar Canal como dimensión. Cambie los selectores de Tipo a Generación y marque los números de generación como 3 para el Campo 2, 4 para el Campo 3 y 5 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 generación
Si se activa el procesamiento nulo, Essbase procesa los valores nulos de las siguientes formas:
-
Campo de generación nulo: si se produce un valor nulo donde Essbase espera un campo de generación, Essbase promociona el campo de siguiente generación para sustituir el campo que falta.
Ejemplo
La creación de dimensión promueve el ID de canal a la generación 4 en lugar de a la generación 5, porque la generación 4 contiene un valor nulo.

-
Campo nulo antes del campo secundario: si se produce un valor nulo directamente antes de un campo secundario, Essbase ignora el campo secundario. (Los tipos de campo secundarios son alias, propiedad, fórmula, generación duplicada, alias de generación duplicada, 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 ignora el alias en el campo 4, porque la generación 4 contiene un valor nulo y promueve el ID de canal a la generación 4 en lugar de a la generación 5.

-
Campo secundario nulo: si se produce un valor nulo donde Essbase espera un campo secundario, Essbase ignora el campo nulo secundario y continúa cargándose (este es el mismo comportamiento que para el método de creación de Generación).
Ejemplo
La creación de dimensión ignora el alias en el campo 4, porque ese campo contiene un valor nulo. El miembro Outlet se agrega al esquema sin ningún alias.
