domingo, 16 de agosto de 2009

Post # 6 - Crear cubo OLAP con CubeDesigner

En el post anterior ya se había creado la BD multidimensional, es momento entonces de crear el cubo OLAP (un archivo XML), para esto utilizaremos la herramienta gráfica Cube Designer (acceder a la siguiente página donde podrán obtener versiones para Windows, Mac o Linux). Debido al comentario de una lectora me enteré que los links para descargar Cube Designer ya no están activos, creo que debido a que dicho software ya estaba descontinuado. De todos modos acabo de subirlo a Megaupload y les dejo el link para descargarlo. Una vez descargado el archivo, se procede a descomprimir y se obtiene la carpeta CubeDesigner, para cargar simplemente ejecutamos el archivo CubeDesigner.exe. Para el caso particular de este tutorial, el gestor de base de datos utilizado es Postgresql, por lo que antes de ejecutar la herramienta se debe copiar el archivo postgresql-8.2-506.jdbc3.jar (*) en la carpeta CubeDesigner\lib\jdbc, a continuación seguir los pasos que se indican: (*) OBS. El archivo .jar lo puede encontrar entre los archivos de Pentaho BI Server, en la version 1.7.1 lo encuentra en pentaho-demo\jboss\server\default\lib; en la versión 2.0.0 en biserver-ce\administration-console\jdbc y en la versión 3.0.0 en administration-console\jdbc. IMPORTANTE: Antes de utilizar CubeDesigner, se debe editar el archivo publisher_config.xml que se ubica en ..\biserver-ce\pentaho-solutions\system\. Si es que el servicio Pentaho está iniciado, se debe reiniciar para que reconozca el cambio realizado. En el segundo post, en el punto 2.2 se recomienda la creación de una carpeta (ubicada en ..\biserver-ce\pentaho\pentaho-solutions) para guardar nuestros los archivos de nuestra propia solución. En el punto 6 de este post se hace referencia a esta carpeta y el modo correcto en que debe ser ingresado. Asegurarse de ir a la Consola de Administración (http://localhost:8099) Administration -> Services -> Solution Repository -> Refresh para que Pentaho "reconozca" esa nueva carpeta. 1. Desde CubeDesigner ir al Menú File -> New Cube Schema. 2. Ingresar los valores siguientes en el Inicio de la Configuración:

  • Cube Name: Ventas

  • Cube Description: Cubo para obtener los datos de ventas.

  • Select a data source. Como es la primera vez que se usa la herramienta se debe agregar un origen de datos, e ingresar los valores que se indican en la imagen siguiente (Los datos de conexión son los mismos que se usan cuando se crea un datasource en la Consola de Administración, sobre todo el valor que se ingresará en JNDI Name):

3. Realizar el Mapeo de Tablas.

  • Del panel inferior izquierdo seleccionar el esquema dmventas (esquema donde se hallan las tablas del modelo multidimensional). Asegúrese que el servicio Pentaho BI Server esté cargado.

  • Se muestran las tablas, y ahora arrastrarlas al panel derecho y pueden ordenarlas como se muestra en la imagen.

  • Ordenadas las tablas se procede a seleccionar los campos que se utilizarán para crear las medidas, tablas dimensión y de hechos.

4. Crear las Medidas (Create Measures)

  • En el combo se debe seleccionar la tabla thventas.

  • Se muestran las columnas de la tabla seleccionada pero solo seleccionar thventas.ca_ventas (Cantidad de ventas) y thventas.im_ventas (Monto vendido). Verificar que el tipo de agregación sea SUM y el formato sea #,##0.

5. Crear las Dimensiones (Create Dimensions). En la lista Source Fields realizar lo siguiente:

  • Seleccionar el campo tdvended.co_vended, luego click en Add New Dimension e ingresar como nombre de dimensión: Vendedor.

  • Seleccionar el campo tdtienda.co_tienda, luego click en Add New Dimension e ingresar como nombre de dimensión: Tienda.

  • Seleccionar el campo tdproduc.co_produc, luego click en Add New Dimension e ingresar como nombre de dimensión: Producto.

  • Seleccionar el campo tdfecven.co_fecven, luego click en Add New Dimendion e ingresar como nombre de dimensión: Fecha.


  • Al momento de ir creando cada dimensión puede ir editando algunas propiedades, como por ejemplo uniqueMembers, cambiando el valor por defecto a true; esto porque cada miembro de las dimensiones que se usan para este tutorial no presentan valores duplicados (ejm. no existen dos tiendas con el mismo nombre).

  • La dimensión fecha presentará una jerarquía de 3 niveles (año, mes y día), se puede agregar dichos niveles desde CubeDesigner, pero lo dejaremos así en este momento pues editaremos a mano el archivo XML más adelante (que a mi parecer es la mejor forma de aprender a crear nuestros cubos OLAP)
6. Pasos finales. En el último paso se puede apreciar las siguientes partes:

  • View XML. En la solapa XML Source se puede observar el código XML que se ha generado (schema files). En la solapa XML DOM se observa la vista en árbol de la estructura del cubo.

  • Publish. La publicación generará 3 archivos (Ventas.mondrian.xml, Ventas.properties, Ventas.xaction) .También se debe indicar donde se generarán los 3 archivos, en Publish Location ingresar /ventas/olap, la ruta completa donde su ubicarán los archivos es pentaho-solutions/ventas/olap (La carpeta ventas ya se había creado en uno de los post anteriores, se debe crear la carpeta olap).

  • El valor que aparece en Web Publish URL no es necesario modificarlo.

  • Además del Publish Password, la publicación solicita datos en Server Userid y Server Password se debe ingresar joe y password respectivamente.

  • Por último click en Publish.

  • Preview. Si el archivo XML que se ha generado, y el código XML que define las medidas, dimensiones y el cubo está correcta se podrá visualizar el resultado visualizando los datos del cubo desde la página xaction que se generó.
Además también se puede observar la página xaction desde Pentaho DesignStudio, para esto sólo se accede a la carpeta donde se realizó la publicación y poder revisar en la solapa Define Process y XML Source todo lo necesario del archivo generado. En la solapa Test se podrá realizar el acceso a la información de la base de datos multidimensional. IMPORTANTE. Como se indicó en el paso 5, el archivo XML que se generó lo iba a editar (pues la herramienta sirve de ayuda, pero es mejor editarlo a mano, de paso que se aprende más) por lo que recomiendo descargar y utilizar el archivo Ventas.mondrian.xml. Utilizando este archivo, al momento de visualizar la página Ventas.xaction se mostrarán los datos como en la figura siguiente: A partir de este primer reporte, se puede utilizar toda la funcionalidad que brinda Jpivot, como muestra el siguiente reporte donde se elige revisar solo una medida analizando por la dimensión Producto y obtener ver cual es el producto más vendido. O este otro reporte, donde se muestran las dos medidas y se analiza la dimensión Vendedor, así podemos observar que si bien el que vende más productos es CARLOS DIAZ, el que genera más monto en ventas es LUIS PEÑA.

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



28 comentarios:

Toni dijo...

Buenos días,
Antes de nada, muchas gracias por el tutorial.

He ido a descargar el Cube Designer pero ya no está. Qué alternativa hay al Cube Designer?

Muchas gracias,
Antonio Ramis

Jorge Luis Rivera Ramos dijo...

Hola amigo Toni, tienes razón el primer link ya no tiene destino, pero el link siguiente si está activo, y desde ahí puedes elegir descargar para el sistema operativo que requieras.

Una alternativa algo similar al cube designer es el Mondrian Workbench (http://sourceforge.net/projects/mondrian/files/)

La finalidad de ambos es generar el archivo xml donde defines las medidas, dimensiones, miembros calculados, etc.

Saludos

Toni dijo...

Buenos días Jorge,

Gracias por la respuesta.

En estos momentos estoy empezando con todo el tema del BI y concretamente con el Pentaho y quería hacerte un par de preguntas, si no tienes inconveniente:
1.- Nosotros tenemos todos los datos, OLTP, en una BDD Oracle. Mi idea, resumiendo, es crear un DataWarehouse, tb en Oracle, y crear allí las vistas materializadas que contengan las agregaciones de los datos que queremos analizar. Te parece correcto este primer paso?

2.- Una vez tenga el DW, que herramientas de Pentaho tendría que usar?, puedo atacar directamente el DW con el Dashboard Designer o el Report Designer, o tengo que pasar obligatoriamente por el Workbench o el Cube Designer?.

Concretando un poco más, en lo que estoy más perdido es en saber que pasos y que herramientas, de todo el conjunto que ofrece Pentaho, tengo que usar, es decir, qué metodología de trabajo usar?

Muchas gracias.
Saludos,
Antonio Ramis.

Jorge Luis Rivera Ramos dijo...

Hola Antonio, antes que crees tus tablas o vistas materializadas, es decir antes de construir cualquier Datawarehouse debes tener presente qué herramienta OLAP vas a utilizar. Si ya has elegido trabajar con Pentaho, entonces te recomoento que ingreses a http://mondrian.pentaho.org/documentation/schema.php y revises los ejemplos. Te envío este otro link donde hacen referencia a un trabajo desarrollado usando Microstrategy como herramienta Olap (el diseño debe hacerse pensando en la idiosincrasia y las necesidades de la herramienta utilizada para acceder a la información). Nuevamente, si estás usando Pentaho necesitas crear el esquema XML, archivo donde definirás las dimesniones, medidas, cubos, miembros calculados,etc. Para esto puedes usar CubeDesigner o Mondrian Workbench, que son herramientas que te ayudan a crear dicho archivo.

Toni dijo...

Hola Jorge,

La herramienta a usar será Pentaho, y la BDD Oracle.

Siguiendo con mis dudas :-), el esquema XML que se debe definir antes o después de haber creado el DW?. Para mi el orden lógico sería:
1.- Crear el DW, mi idea es hacerlo mediante vistas materializadas, te parece buena idea?

2.- Crear el esquema XML, que entiendo que será un reflejo de lo que haya en el DW, es así?

Nuevamente, muchas gracias por tu ayuda.
Toni.

Jorge Luis Rivera Ramos dijo...

Antonio, el esquema XML se dbe definir definitivamente después de que hayas creado el DW. Si revisas el archivo SampleData.mondrian.xml, que es esquema de ejempplo que vienen en Pentaho (ubicado en biserver-ce\pentaho-solutions\steel-wheels\analysis) te darás cuenta que en su estructura hace referencia a tablas y campos que justamente se encuentran en el DW.

El que utilices vistas materializadas o tablas físicas, es un tema en el que primero debes conocer las diferencias entre esos dos tipos de estructuras, en mi caso sé muy poco de Oracle. En todo caso para el esquema XML sería indistinto, siempre y cuando Pentaho te reconozca la vista materializada como una tabla, y eso sería cuestión de que hagas pruebas.

Saludos

Yerko Bonacic-Doric dijo...

Hola Jorge luis rivera ... tengo una duda en esta parte del tutorial... en el paso anterioras logre conectarme a mi base de datos, bueno despues cree la base de datos multidimensional, como lo indica el tutorial, y por ultimo toy creando el cubo olap, pero cree el cubo olap, la conexion se realiso con exito, al data source que seria nuestra base de datos, pero luego al ir al sgte menu no veo la base de datos...
el esquema dmventas... me voy al menu de la parte izquierda para ver los datos... y no me los muestra al clikiar en el menu en las flechas como que los muestra y desaparecen, deberia mostrarme los datos sin ningun problema ... que puede estar fallando...
jorge luis rivera ...
incluso la version del cube designer la baje de los mismos link que se indican ...
atte: Yerko Bonacic-Doric

Anónimo dijo...

Q tal jorge:
Dos cosas muy puntuales.....
1)Donde puedo bajar el Dashboard Desigenr......dame un lik o algo q me lleve a el.......
2)tengo una dimensional tiempo publicada en un cubo....pero sucede que los meses y todo lo demas lo ordena alfabeticamente es imposible EJEMPLO ABRIL me sale antes de ENERO etc..¿Como hacer para q salga en el orden que inicia los meses?

junior dijo...

Q tal jorge:
Dos cosas muy puntuales.....
1)Donde puedo bajar el Dashboard Desigenr......dame un lik o algo q me lleve a el.......
2)tengo una dimensional tiempo publicada en un cubo....pero sucede que los meses y todo lo demas lo ordena alfabeticamente es imposible EJEMPLO ABRIL me sale antes de ENERO etc..¿Como hacer para q salga en el orden que inicia los meses?

Jorge Luis Rivera Ramos dijo...

Hola Junior, respecto al Dashboard Designer que mencionas, tal herramienta no existe. En la versión Enterprise o en la demo de Pentaho (no en la versión Community) se puede crear un dashboard desde Pentaho User Console. Existe sí el Community Dashboard Framework, el cual aún no he revisado, pero puedes revisar algunos ejemplos desde Design Studio accediendo a la siguiente ruta: \biserver-ce\pentaho-solutions\bi-developers\cdf-samples\20-samples.

Para tu segunda pregunta, lo único que debes agregar es un campo en la tabla que represente tu dimensión Fecha. Dicho campo debe tener el valor 1 en el registro de Enero, 2 en el registro de Febrero y así sucesivamente, luego en el esquema XML indicas que el orden será por el campo que has agregado.

Saludos

Yuse dijo...

Buenas Jorge Luís,

Me presento antes que nada me llamo Josep y soy un programador novel en el mundo del data llevo un año y media trabajando con herramientas ETL de SAS y con herramientas BI Enterprise guide.

Y ya una vez presentado, te comento que el tutorial de pentaho a sido buenissimo y que ademas ya queria incarle el diente para tener muchos conceptos más claros que ofrece el mundo libre.

La questión que me gustaria hacerte es a nivel de diseño de tablas multidimensionales , en tu esquema de ventas por que se usa la tabla tdfecven en lugar de por ejemplo una tabla de dimensión generica de tiempo.

La tablas hVentas no deberia tener profundidad historica? bueno imagino que la tiene por el campo fecven pero además no se le podria añadir un timestamp ?

En definitiva y perdoname por mi inexperiencia no tengo muy claro aún el tema de la profundidad historica de las tablas de hechos, ya que entiendo que las dimensiónes son en principio datos invariables en el tiempo.

Saludos y ya soy fan de tu blog !!

Toni dijo...

Buenos días Jorge,

Tu sabes como configurar una conexión JNDI en el Pentaho Reports Designer v.3.6.0?

Muchas gracias
Toni.

Anónimo dijo...

Hola Jorge.
Ya hace algun tiempo logre definir mis cubos y estoy INTENTANDO generar xaction, buscando la causa de un error que me da, he releido tu tutorial donde explica que una vez que se ha publicado el cubo, se deben generar tres ficheros, en mi caso nunca se han generado, con excepcion del xml, mas sin embargo, los puedo manejar a travez de la pagina web, dime que opinas de esto, quizas sea la causa de los problemas que tengo con Design Studio.
Saludos,
Aimee

Anónimo dijo...

Hola, muchas gracias por tutorial, estoy siguiendo uno a uno tus pasos pero me he quedado en la creación de los cubos, ya que no encuentro el link de descarga. Donde puedo conseguir el CUBE DESIGNER?? muchas gracias por todo.
Saludos Gaby

Jorge Luis Rivera Ramos dijo...

Hola Gaby, hace tiempo que no revisaba los post que había publicado y tienes razón, el link para descargar Cube Designer ya no existe. Es un software que ya estaba descontinuado. De todos modos acabo de subirlo a megaupload, te dejo el link: http://www.megaupload.com/?d=SJVRIRBP

Anónimo dijo...

Muchas gracias por el link. Disculpa que te moleste otra vez, pero no he logrado publicar el cubo. Me sale el siguiente error: Pubish failed: Verify your login and publish password and make sure your Pentaho BI server is running
Ya cambie el password en el archivo publisher_config.xml en Server UserID puse: joe, Server password: password.
Y BI server se encuentra corriendo, estoy trabajando con el 2.0, tiene algo que ver la version? o cual podría ser el problemas.
Muchas gracias de antemano, Gaby

Unknown dijo...

Estimado excelente el post sobre pentaho, pero tengo una gran gran problema. he segudido todos tus pasos. En el cube designer seleccione unas tablas, hice dimensiones, y cuando llego a publish aparece "error de publicacion verifique el usuario de publicacion o que el servidor biserver este corriendo"
comento: edite el archivo publish xml, uso el joe/password.

y persiste el error. que puede ser.? ya no doy mas con ese error

Unknown dijo...

Jorge, agrego a mi anterior comentario lo sgte:
pentaho tanto la consola como la administracion funcionan en un servidor de la ampresa y estan bien, una en el puerto 8080 y 8099.
he reiniciado los servicios, hice refresh a cada unos de los servicios de la administracion y aun asi no puedo publicar desde el cube.

atento a tus comentarios.
Rodrigo C.

Jorge Luis Rivera Ramos dijo...

Ya son varias personas que han presentado el problema de que no pueden publicar desde CubeDesigner para generar el esquema XML. He realizado algunas pruebas para obtener el mismo error y ver la forma de solucionarlo. Por favor seguir los siguientes pasos.

1. Editar el archivo publisher_config.xml para tener el password al momento de publicar. (El archivo se encuentra en: ..\biserver-ce\pentaho-solutions\system)

2. Ejecutar el archivo ..\biserver-ce\start-pentaho.bat para cargar Pentaho

3. Ejecutar el archivo ..\administration-console\start-pac.bat para cargar la consola de administración.

4. Desde Design Studio, crear un carpeta dentro de ..\biserver-ce\pentaho-solutions Esta carpeta es donde se crearán los archivos xaction, xml etc. etc.

5. Para que esta carpeta sea reconocida por Pentaho ir a la consola de administración http://localhost:8099 Ir a Administration -> Services -> Solution Repository -> Refresh

6. En CubeDesigner cuando se cree el origen de datos el JNDI Name debe ser el mismo del origen de datos que se creó en la Consola de Administración.

7. Al momento de publicar desde Cube Designer (paso 5 Publish to Pentaho BI Server), en el primer cuadro Publish Location ingresar seguido de slash(/) el nombre e la carpeta que se creó en el punto 4.

Espero que eso ayude los que han tenido ese inconveniente.

John Jairo Barreto dijo...

Buenas tardes, de antemano felitaciones por el tutorial tengo una duda acerca de la configuración del archivo publisher_config.xml, la verdad no sé que debo colocar alli para que funcione, he seguido los pasos que ha indicado, estoy trabjando con la versión 1.7, pero no me funciona, al momento de publicar no muestra nada, por favor si puede ayudarme, la verdad necesito que me funcione porque estoy desarrollado un proyecto relacionado con información de estudiantes y pentaho es una alterativa para el análisis multidimensional que estoy utlizando, aunque también estoy utilizando una herramienta desarrollada donde estudio llamada StarCube, muy similar a Cube Designer, muchas gracias por la ayuda

Carlos dijo...

Hola que tal, felicitaciones por el blog, he seguido paso a paso el tutorial y en el momento de hacer publico el cubo, este no lo puedo hacer ya que me manda un error, refiriendose al login o password del publishing password, he modificado el archivo publisher_config.xml poniendole un password, reinicie los servicios del tomcat a nivel consola de administracion y de usuario, así como he seguido los pasos en su respuesta a ello pero no se logra publicar, habra algo mas que hacer? si es posible su respuesta se lo agradezo de antemano.

Anónimo dijo...

Ola Jorge luis... me podes responder el correo gracias... att(kront24@hotmail.com)

Lucía dijo...

Hola, lo primero decir que su blog me está ayudando mucho a comprender Pentaho, muchas gracias.
Tengo una pregunta, ¿sabe dónde puedo descargar Pentaho Cube Designer? Gracias de antemano.

Jorge Luis Rivera Ramos dijo...

Hola Lucía.
La verdad había dejado "abandonado" el blog por temas laborales y personales.
Con respecto a como obtener el CubeDesigner, en estos déjame buscar un lugar donde pueda subir el instalador (28.1 MB), ahora que megaupload ya fue cerrado. Si alguien recomienda algún sitio mucho mejor.

Lo que además te recomendaría es que descargues Mondrian Schema Workbench http://sourceforge.net/projects/mondrian/files/schema%20workbench/3.3.0-stable/

Esta herramienta también te permite crear tu esquema XML.

Lucía dijo...

Muchas gracias por responder. Sí, me he descargado el Schema-Workbench y estoy utilizando esta herramienta, aunque me gustaría también descargarme el CubeDesigner. Un saludo.

Hector Rocha Morales dijo...

Hola!!!!
Soy estudiante y ahora en mis clases de base de datos se esta abordando el tema de pentaho y de igual forma como Lucia me gustaria saber donde puedo descargar CubeDesigner sera de mucha ayuda para mi...
Gracias
Y es muy buena la informacion q' manejas en tu blog

Unknown dijo...

Jorge Luis:

Han pirateado todas tus entradas de este blog, navegando encontre esto:

http://www.scribd.com/xavim_6

El documento Pentaho es todo tu blog.

Espero que puedas reclamar tus derechos de autor.

LANATAE dijo...

Hice todos los pasos al pie de la letra, pero al poner "test" en Ventas.xaction desde el petaho desing studio, y NO SE MUESTRA NADA!!!, a alguien ha sucedido?, que puedo hacer para solucionar???