miércoles, 17 de junio de 2009

Post # 5 - Crear base de datos multidimensional

En este post vamos a crear la base de datos multidimensional para posteriormente crear los cubos OLAP. Como ya se anotó en el post Conexión a tu base de datos, estamos trabajando sobre Postgresql, además se ha creado la base de datos VENTAS y se ha creado también el esquema ventas donde se tienen las tablas de lo que vendrían a ser las tablas transaccionales (OLTP). Si es que aún no tienen los datos de ejemplo, lo pueden descargar de los siguientes enlaces:
  1. Crear tablas de la base de datos OLTP.
  2. Cargar tablas de la base de datos OLTP.
A continuación desde pgAdminIII crear una conexión a la base de datos VENTAS y crear un nuevo esquema llamado dmventas. Aquí se crearán las tablas de lo que será nuestra base de datos multidimensional. Pueden descargar los archivos de los siguientes enlaces (y ejecutarlos también en el orden en que se muestran):
  1. Crear tablas de la base de datos multidimensional.
  2. Crear función adicional.
  3. Cargar tablas dimensión.
  4. Cargar tabla de hechos.
El modelo entidad relación se muestra a continuación (se ha utilizado el esquema estrella):

La base de datos creada presentará las dimensiones (dimensions): Tienda, Producto, Vendedor y Fecha de venta. Además presentará las medidas (measures): Monto vendido y Cantidad de productos vendidos.
Con este modelo podremos luego crear un cubo OLAP y realizar consultas que obtengan respuestas a consultas tales como:
  • Monto vendido del producto (Televisor) en la tienda (SAN ISIDRO) en un período determinado.
  • Monto vendido por cada vendedor de la tienda (SAN ISIDRO) para el producto (COMPUTADORA) en el período JUNIO 2009.

Curso Pentaho - Noviembre 2013

Aprender Pentaho Data Integration (Kettle)
Post # 6 - Crear cubo OLAP con CubeDesigner
Post # 5 - Crear base de datos multidimensional
Post # 4 - Conexión a tu base de datos - II
Post # 3 - Conexión a tu base de datos
Post # 2 - Descarga e instalación
Post # 1 - Business Intelligence, introducción sobre Pentaho



14 comentarios:

Paco dijo...

Estupendo tutorial Jorge Luis.
Estoy empezando con Pentaho y me ha ayudado mucho, sobre todo con la escasa y poco clara información que hay.
Espero que puedas seguir con esta serie de tutoriales, son muy buenos.
Gracias.

Anónimo dijo...

Excelente tutorial Jorge de verdad tengo que darte las gracias porque estaba en un circulo sin salida de que la informacion estaba muy desordenada y tu lo has hecho mas facil para poder empezar con esta espectacular herramienta, Gracias.

Jorge Luis Rivera Ramos dijo...

Es bueno que este blog esté ayudando a quienes están interesadas en aprender sobre Pentaho.

Anónimo dijo...

Hola Jorge imagina que ya realice mi presentacion de analisis view para la practica de la universidad pero ahora me estan solicitando que haga un dashboard y no encuentro material al respecto me podrias orientar gracias.

Jorge Luis Rivera Ramos dijo...

Hola amigo Anónimo, disculpa la gran demora en responder, hace mucho tiempo que no he podido dar seguimiento al blog. En cuanto a Dashboards lo que he podido averiguar en Pentaho lamentablemente es muy poco. En la demo de la versión Enterprise (comercial) se puede crear fácilmente un dashboard, pero en la versión libre es un poco más complicado.

Por ejemplo se puede modificar un dashboard que ya existe, no es más que una página jsp que llamará a otros archivos.

En la siguiente ruta: biserver-ce\tomcat\webapps\pentaho\jsp\SWDashboard.jsp

En la línea 118 hace referencia al archivo "productline_all.widget.xml" ubicado en "steel-wheels", "dashboards". (ubicado en: biserver-ce\pentaho-solutions\steel-wheels\dashboards)

En este archivo en la línea 58 hace referencia al archivo Sales_by_Territory.xaction, ubicado en biserver-ce\pentaho-solutions\steel-wheels\dashboards.

Se debe editar el archivo Sales_by_Territory.xaction, exactamente cambiando la Query para que acceda a la base de datos de prueba.

Por último, si accedes a la siguiente URL: http://localhost:8080/pentaho/SWDashboard podrás ver que el primer gráfico muestra información de nuestros propios datos.

De los siguientes enlaces puedes bajar los archivos que he trabajado hasta el momento:

http://correo.ezder.com/home/jorge.rivera@ezder.com/Archivos%20compartidos/Sales_by_Territory.xaction

http://correo.ezder.com/home/jorge.rivera@ezder.com/Archivos%20compartidos/SWDashboard.jsp

http://correo.ezder.com/home/jorge.rivera@ezder.com/Archivos%20compartidos/territory.widget.xml

Saludos

assitaliroma dijo...

Hola que tal, este modelo esta muy claramente explicado, pero tengo una duda. Que sucede cuando mi MDDB debe tomar datos de 2 DBs distintas? como hago en ese caso para contruir el nuevo esquema y donde lo colocaria (pues ya tendria 2 BDs y no se donde colocarlo). Muchas gracias

Jorge Luis Rivera Ramos dijo...

Hola, en el caso de Postgresql, para acceder a objetos de bases distintas tendrías que instalar las librerías dblink. Puedes encontrar mayor información en el siguiente enlace: http://www.postgresql.org/docs/current/static/contrib-dblink-exec.html.

Saludos

PabloH dijo...

Muy buen tutorial, al respecto hay pocos ejemplos tan claros en la web
Gracias

Anónimo dijo...

hola amigo muy bueno el tutorial me esta ayudando mucho ya que estoy aprendiendo pentaho por mi propia cuenta, solo que tengo un problemita los links de descarga de los scripts para cargar datos y crear tablas y funciones no sirven por favor si los puedes subir nuevamente para poder utilizarlos

Anónimo dijo...

las base de datos multidimensionales se pueden eliminar, modificar o realizarles
otros procesos

Anónimo dijo...

las base de datos multidimensionales se pueden eliminar, modificar o realizarles
otros procesos

Anónimo dijo...

hola si me puedes resolver una duda,
que si las base de datos multidimensionales se pueden modificar eliminar y realizar otras operaciones


contesta por favor...
es urgente
graciassss...

Jorge Luis Rivera Ramos dijo...

Hola. la base de datos multidimensional es tu repositorio final, en el que cargas información de diversas fuentes (bases de datos OLTP, archivos planos, archivos excel, etc.) y por lo tanto no sería recomendable realizar ELIMINACIONES (a no ser que estés haciendo pruebas)
Realizar UPDATES, quizás sí sea necesario para datos que deban ser calculados y que no existan en tu fuente.
Si hay operaciones que debas realizar necesariamente, se recomienda el uso de tablas intermedias o temporales, que en la teoría denominan Staging Area.

Miguel Angel Fernandez Marin dijo...

Buenas tardes. He visitado su post, esta muy bueno para comenzar en la parte de Bissnes inteligent. Pero en estos momentos no me da acceso a los ficheros para realizar las prácticas sugeridas. Por favor pudier ayudarme con los mismos. Mi correo:
miguelangelferssc@gmail.com