Wiki Markup |
---|
{scrollbar} |
...
O3 Builder es el componente responsable de la construcción de los cubosdatamarts, a partir de los modelos definidos con O3 Designer.
La construcción del cubo datamart puede ser en forma total (o completa), o incremental.
La construcción completa puede realizarse desde el mismo O3 Designer, con la opción Generar Cubo del menú Archivo, o con el componente O3 Builder.
La construcción incremental se realiza únicamente con el componente O3 Builder.
Cuando la construcción de un cubo requiere mucho tiempo y gran cantidad de recursos del sistema, es conveniente programar dicho proceso con el uso de "shell scripts" de forma tal que el mismo se realice en horas de poca actividad del sistema.
La misma programación es utilizada para actualizar los cubos existentes en forma regular y automática.
Para construir un cubo con el componente O3 Builder, se debe tener acceso a:
...
.
...
La construcción o actualización de los cubos datamarts puede ser monitoreada a través de mensajes definidos en O3 Designer asociados a los posibles estados de finalización de dicho proceso.
El O3 Builder puede enviar correos a los destinatarios definidos en el propio modelo, informando sobre el éxito o fracaso de la construcción. ( Ver Sección "Acciones de Construcción").
Construcción Completa (FULL)
Cuando se ejecuta la construcción desde el O3 Designer, el cubo datamart generado corresponde al modelo activo actualmente en el O3 Designer.
Construcción Incremental
La construcción incremental es utilizada para actualizar la información del cubodatamart, evitando la reconstrucción completa a los efectos de ahorrar tiempo y recursos del sistema.
Para la construcción incremental, debe prestarse especial atención en la configuración de los Input Sets y eventualmente de los parámetros de construcción que se utilicen.
Las fuentes de datos que forman el Input Set Incremental deben proporcionar únicamente los nuevos datos del cubodatamart. Si estas fuentes de datos incluyen datos que ya forman parte del cubodatamart, el mismo contendrá datos duplicados. Cuando se definen las fuentes de datos:
...
Para las consultas SQL es posible incluir parámetros de construcción en la cláusula WHERE que limite los registros obtenidos de acuerdo con el valor que toman en cada construcción. Por ejemplo, se pueden definir condiciones dependientes de las fechas de registro o rangos de valores tales como números de facturas, etc. Nota
Note |
---|
Durante las construcciones incrementales se toma la definición del |
...
datamart (modelo multidimensional,) que se encuentra en el propio archivo .cube, como así también los valores de los parámetros definidos. Esto significa que en el caso de realizar algún cambio al archivo .mdl es necesario primero realizar una construcción completa para tomar los cambios y luego realizar las incrementales. |
Los posibles casos a utilizar son muy variados y dependerá del tipo de información que tengamos.
Ejemplo
Consideremos la construcción incremental de un cubo datamart de estadísticas de ventas en el que se agregan diariamente las ventas del día anterior. Podría agregar una condición a la sentencia SQL utilizando como fechas límite los parámetros de construcción:
$TODAY$ y $YESTERDAY$ |
Además, O3 mantiene todos los parámetros para el último valor de construcción. Es Trabajando sobre el modelo multidimensional de Vinos que se entrega con el instalador.
Este datamart esta definido para construirse en las primeras horas de la mañana de cada días.
Lo primero que tenemos que hacer es definir un Input Set que sea del Tipo Incremental (Inc), con el botón Agregar.
Este input set servirá para indicar a las fuentes de datos en qué construcción deben ejecutarse, en la solapa de Input Set.
De esta manera vamos a poder tener consultas que se ejecutarán en las construcciones Full y otras para las construcciones Incrementales, o ambas.
Por ejemplo para las consultas que son Tablas de Hechos tendremos una consulta Full y otra Incremental, mientras que para las consultas que son Tablas de Dimensión indicaremos ambos Input Set.
Tabla de Hechos Full | Tabla de Hechos Incremental | Tablas de Dimensión |
---|---|---|
Ahora debemos definir las consultas de fuentes de las Tablas de Hechos, donde en la Full indicaremos extraer todos los datos y en la incremental con un filtro que indique los datos del día anterior.
Nombre Consulta | Consulta | Input Set |
---|---|---|
Ventas Full | SELECT * FROM VINOS_VENTAS | Full |
Ventas Incremental | SELECT * FROM VINOS_VENTAS where FECHA >= $Fecha_Construccion.OLD$ | Inc |
Se observa que se ha utilizado el parámetro Fecha_Construccion, que deberemos definir en Parámetros del Cubo (para más detalles referirse a la página Definiendo Parámetros)
Note |
---|
La definición de un parámetro para filtrar por fechas en una consulta sql, es particular de cada Base de Datos y se debe prestar mucha atención en su definición. Por lo general es un campo de tipo texto. Para nuestro caso fue definido ---> =(Concatenar(Texto(Año(Hoy())),"-",Derecha(Concatenar("00",(Texto(Mes(Hoy())))),2),"-",Derecha(Concatenar("00",(Texto(Dia(Hoy())))),2))) para formar un string del tipo AAAA-MM-DD |
Cuando se construye el cubo el valor de éste y los demás parámetros quedan en el cubo construído. Por lo tanto es posible referirse al valor anterior del parámetro usando:
...
SELECT * |
...
< $TODAY$ |
Para nuestro caso en particular utilizaremos $Fecha_Construccion.OLD$. Al indicar que este valor sea Controlador (casilla activada), el O3Builder no permitirá que se construya incrementalmente el cubo con el mismo valor que está en el cubo.
Teniendo entonces el modelo multidimensional definido debemos hacer primero una construcción Full y luego las Incrementales, utilizando el O3Builder
Wiki Markup |
---|
{scrollbar} |
Child pages (Children Display) |
---|