Acerca de Tuplas por Registro
La opción Tuplas por Registro se usa para generar más de una tupla por cada registro de las fuentes de datos.
Esto podría ser necesario dependiendo de la estructura de las fuentes de datos.
El valor por defecto es 1, es decir, que se genera sólo una tupla en el cubo por cada registro.
Ejemplo
Supongamos que deseamos definir una medida Inventario, que muestra el inventario para cada mes (o una medida Balance). En algunos casos esta información de la base de datos no está definida en diferentes registros, sino que por el contrario está definida en diferentes columnas.
Esto quiere decir que en vez de tener la información en este formato:
Producto |
Mes |
Inventario |
---|---|---|
A |
01/99 |
250 |
A |
02/99 |
200 |
A |
03/99 |
230 |
...... |
|
|
A |
12/99 |
120 |
B |
01/99 |
100 |
B |
02/99 |
180 |
B |
03/99 |
150 |
B |
12/99 |
140 |
La información se encuentra de la siguiente manera:
Producto |
Inv01 |
Inv02 |
Inv03 |
... |
Inv12 |
---|---|---|---|---|---|
A |
250 |
200 |
230 |
... |
120 |
B |
100 |
180 |
150 |
... |
140 |
En este caso, debemos generar 12 registros para cada producto en la construcción del datamart(uno por cada mes).
Los pasos a seguir son los siguientes:
- Definir 12 Tuplas por registro en la fuente. Cada vez que O3 lea un registro de esta fuente, generará 12 registros.
- Crear los siguientes Campos Virtuales
Notar que en este ejemplo se simplificó la notación. En el O3 Designer se deben especificar los 12 campos.
Inventario = Elegir(TN, Inv01, Inv02, Inv03, ..., Inv12) Fecha = Fecha(1,TN, Año(Hoy()))
El primer Campo Virtual está basado en la función Seleccionar (Índice, valor1, valor2, ..., ValorN).
Esta función retorna el valor del campo "ValorX" basado en el valor para "Índice" (si el Índice = 1 retorna valor1, si Índice = 2 retorna valor2, etc.)
El identificador TN se sustituye con el valor del registro actual en la cuenta de Tuplas Por Registro (1 a 12 en nuestro ejemplo). Esto significa que cada uno de los 12 registros generados para cada uno de los registros de fuente tendrá un valor diferente para el Campo Virtual Inventario.
El primer registro usará el valor Inv01, el segundo Inv02 y así sucesivamente.
Use el campo virtual Inventario para definir la medida Inventario.
Adicionalmente el campo virtual Fecha tomará los valores 1-ENE, 1-FEB, ...1-DIC para el año corriente.