Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{scrollbar}

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

h3.

...

 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.

...

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

...

Prod

Inv01

Inv02

Inv03

...

Inv12

A

250

200

230

...

120

B

100

180

150

...

140

...

  1. Definir 12 Tuplas por registro en la fuente. Cada vez que O3 lea un registro de esta fuente, generará 12 registros.
  2. Crear los siguientes Campos Virtuales

    Inventario = Seleccionar(TN, Inv01, Inv02, Inv03, ..., Inv12)
    Fecha = Fecha(1,TN, Año(Hoy()))

    Notar que en este ejemplo se simplificó la notación. En el O3 Designer se deben especificar los 12 campos.

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.

...

 {section}{column}

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 |{column}{column}
La información se encuentra de la siguiente manera:
|| Producto || Inv01 || Inv02 || Inv03 || ... || Inv12 ||
| A | 250 | 200 | 230 | ... | 120 |
| B | 100 | 180 | 150 | ... | 140 |{column}{section}
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
{code}
Inventario = Seleccionar(TN, Inv01, Inv02, Inv03, ..., Inv12)
Fecha = Fecha(1,TN, Año(Hoy()))
{code}
Notar que en este ejemplo se simplificó la notación. En el *{_}O3 Designer{_}* se deben especificar los 12 campos.

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.

----
{scrollbar}
{children}