Está en la página 1de 15

Post # 6. Crear cubo OLAP con CubeDesigner Post # 5. Crear base de datos multidimensional Post # 4.

Conexin a tu base de datos - II Post # 3. Conexin a tu base de datos Post # 2. Descarga e instalacin Post # 1. Business Intelligence, introduccin sobre Pentaho

Pentaho - Inteligencia de Negocios (Open Source)

Prlogo. Desde hace buen tiempo, la informacin ha pasado a ser uno de los principales activos empresariales, sin embargo; recopilar, integrar, transformar, analizar y presentar los datos que genera dicha informacin para muchas empresas es un proceso que causa muchos problemas, conllevando a toma de decisiones lentas y a veces con poco acierto. Esta realidad ha impulsado el Business Intelligence(BI) o Inteligencia de Negocios, concepto que est cobrando protagonismo en todo tipo de organizaciones. BI trata de englobar todos los sistemas de informacin de una organizacin para obtener informacin, conocimiento y ms an, la inteligencia que le per ita obtener una ventaja competitiva. m Herramientas. Existen diversas aplicaciones, suites y herramientas para aplicar BI. Desde las herramientas propietarias de Microsoft, Oracle, hasta herramientas de sotware libre comoOpeni, BizGres, JasperSoft, SpagoBI y Pentaho. Pentaho. Pentaho es una suite que incluye herramientas que abarcan todas las capacidades que se requieren en BI, que incluye consultas, reportes, anlisis, dashboards, integracin de datos (ETL- extraction, load and transformation) y minera de datos. Cada una de estas capacidades son proyectos BI, de las cuales Pentaho es el propietario y patrocinador, estos proyetos son: - Mondrian. Servidor OLAP. - Petaho Report Engine. Reporteador. - Kettle. Integracin de Datos (ETL). - Pentaho. Suite BI. - Weka. Data Mining. En los posts que escribir a partir de ahora seguiremos de una manera ordenada cmo trabajar con Pentaho, si bien existe diversidad de informacin al respecto, sta se halla de un modo un tanto desordenada, y en mi caso particular todo lo necesario no lo he encontrado en un solo lugar. Entonces basado en mis bsquedas y averiguaciones tratar de que en este blog, uno pueda aprender lo mnimo necesario para utilizar esta "suite open source".

Pentaho Descargar e instalacion


Actualmente, existe una versin comercial y una versin open source desarrollada por la comunidad: http://community.pentaho.com/projects/bi_platform/ (tener en cuenta que requiere varios pasos de configuracn) i
Introduccin sobre Pentaho) existe bastante informacin para empezar a Como haba indicado en el post anterior ( trabajar con Pentaho, as que tratando de orde esa informacin lo primero que haremos es descargar los archivos nar

necesarios. Descargar Pentaho. Empezaremos por descargar la suite completa ( Server) de Pentaho, la que contiene todas lasherramientas que ya BI habamos indicado. 1. Acceder al siguiente enlace. O bien desde http://www.google.com/ buscar sourceforge pentaho, seleccionar el primer resultado y luego seleccionar el enlace que indica "Download" en el cuadro verde. Sin importar el modo que se haya elegido, nos encontramos con la siguiente pantalla:

2. Ahora accedemos al enlace Business Intelligence Server y se mostrar a continuacin todas las versiones existentas de Pentaho:

3. Y ahora qu versin elegir?. En mi caso, hasta ahora he utilizado las versiones estables 1.2.0-stable, 1.7.1-stable y 2.0.0stable, como se puede ver, la versin ms antigua data de fines del ao 2006 y hasta ahora (febrero del 2008) en cada nueva versin se han realizado mejoras. En este blog vamos a trabajar con las versiones 1.7.1 y 2.0.0. Queda a eleccin de cada uno elegir la versin de trabajo, sin antes inidicar que entre ambas versiones existen varias diferencias tanto en interfaz como en ciertas configuraciones que se deben realizar para trabajar accediendo a datos propios. 4. Si se elige la version 1.7.1-stable se muestran diversos archivos que podemos descargar: - Para SO Windows: pentaho_demo_hsqldb-1.7.1.zip o pentaho_demo_mysql5-1.7.1.zip. - Para SO Linux: pentaho_demo_hsqldb-1.7.1.tar.gz o pentaho_demo_mysql5-1.7.1.tar.gz En las opciones anteriores la principal diferencia es el gestor de base de datos que utliza Pentaho, siendo stas HSQLDB (Hypersonic) y MySQL. El servidor de aplicaciones que utilizan estas versiones esJboss. Si se elige la versin 2.0.0-stable se pueden descargar: - Para SO Windows: biserver-ce-2.0.0.stable.zip. - Para So Linux: biserver-ce-2.0.0.stable.tar.gz. En esta versin Pentaho utiliza el gestor de base de datos HSQLDB y como servidor de aplicaciones Tomcat.

Adicional (mayo 2009) El 23 de marzo en el blog Todo BI daban la noticia de la nueva versin comercial de Pentaho, la versinPentaho 3.0. Como se ha indicado para la descarga de las versiones (libres) anteriores, del mismo modo podemos ubicar los archivos de esta nueva versin. A la fecha, se pueden descargar las versiones: - 3.0.0-RC1 - Citrus Milestone 1 - 3.0.0-RC2 - Citrus Milestone 2
Fin de Adicional

Instalacin. Una vez descargado el archivo que se haya elegid lo nico que queda es descomprimirlo. La imagen siguiente muestra el o, directorio obtenido para cada versin y la estructura de archivos principal. En la versin 1.7.1 la carpeta prinicipal es pentaho-demo y en la versin 2.0.0 es bi-server

Como se puede apreciar existen diferencias en la estrucutura de directorios, pero, para empezar a conocer Pentaho y apreciar todo lo que podemos realizar, solo debemos ejecutar el archivostart-pentaho.bat (en Windows) o startpentaho.sh (en Linux). Esperamos a que el servicio cargue (en la ventana de comandos muestra el avance de la carga hasta que se muestra el mensaje INFO [STDOUT] Pentaho BI Platform server is ready ). Ahora slo abrimos una ventana de nuestro navegador e ingresamos la siguiente direcci http://localhost:8080/pentaho n y de no mediar inconveniente alguno se debe mostrar lo siguiente:

Para ingresar, de la lista de opciones vlidas elegimosJoe (Admin), y hacemos clic en Login y listo, ya podemos ir navegando para ver todo lo que ofrece Pentaho.

Espero que con todo lo indicado sea ms fcil tener Pentaho "instalado" en nuestra PC o servidor. En los siguientes posts ir agregando algunos tips para poder evitar el Logininicial, acceder a la aplicacin no solo localmente sino usando nuestra direccin IP o dominio, y sobre todo utilizar Pentaho para acceder a nuestra propia informacin.

Pentaho Conexin de base de datos v 1.7.1


i bien a estas alturas ya podemos revisarlos diversos ejemplos que muestra Pentaho, es de esperar que creemos nuestras propias pginas y mejor an obteniendo informacin de nuestra propia base de datos. Entonces sin perder ms tiempo nos ponemos manos a la obra. 1. Creacin de la Base de datos . Para este ejemplo y los que vendrn a continuacin se va a crear una pequea base de datos llamada VENTAS, la cual la vamos a crear en el DBMS (DataBase Management System)PostgreSQL, para esto estoy usando la ve rsin 8.3.2 (Obviamente el que ya posee una base de datos propia podr trabajar con ella y con sus propias querys).
y

Entonces cargamos pgAdminIII, clic derecho en Databases-> New Database y creamos la base de datosVENTAS.

A continuacin vamos a crear el esquema ventas, para esto nos ubicamos en Schemas de la base de datos VENTAS, click derecho-> New Schema.

Ahora desde la BD VENTAS, abrimos una ventana para ejecutar querys.

En la ventana escribimos las querys para crear las tablas. De los siguientes enlaces pueden descargar el script para crear las tablas y cargar los registros de ejemplo. El modelo entidad relacin se muestra a continuacin.

2. Utilizar Pentaho Design Studio . Dado que debemos crear nuestra propia solucin para acceder a nuestra base de datos, la herramienta que debemos utilizar es Pentaho Design Studio (PDS). De la misma pgina de donde se descarga Business Intelligence Server (BIS) podemos descargar las diferentes versiones de PDS. En este caso estoy utilizando una versin algo antigua pds-open( 1.7.1).

Una vez descargado el archivo pds-open-1.7.1.zip simplemente queda descomprimirlo, y se obtiene la carpetapentahodesign-studio. Ahora ejecutamos el archivo PentahoDesignStudio.exe. Se mostrar la misma interfaz de Eclipse. Cerramos la ventana Welcome y debemos seguir los siguientes pasos para crear nuestra solucin: 2.1 Crear nuevo proyecto .
y

Ir al men File -> New -> Project. En la lista que se muestra abrir la carpeta General y seleccionar Project

y y

En Project Name escribimos: BIS 1.7.1. Desactivamos el check en Use default location y navegamos hasta la ruta de la carpetapentaho-demo (En este caso estamos usando la versin 1.7.1 de Pentaho BIS). Y ya se haba visto en el post anterior Descarga e instalacin) ( cual era la carpeta donde se haba "instalado".

Con esto ya hemos creado nuestro proyecto en PDS. Y debera quedar como se muestra en la siguiente imagen:

2.2 Crear nueva solucin.


y y y

Nos ubicamos en la carpeta pentaho-solutions, creamos una carpeta nueva (Click derecho-> New -> Folder) y la nombramos ventas. Ahora nos ubicamos en la carpeta ventas y vamos al menBI Platform y elegimos New Action Sequence. Verificamos que en Container est la ruta de la carpeta ventas y enFile name escribimos vendedores.xaction.

y y y

Una vez creado el archivo vendedores.xaction. Hacemos doble click en l y ya podremos editarlo. En PDS al editar un archivo xaction muestra el Action Sequence Editor. En este link se puede encontrar ms informacin. Ahora nos ubicamos en el tab Define Process y aadiremos un Process Action. En este caso se obtendr datos de una consulta a nuestra base de datos, para eso vamos a: Add New Action Get Data From -> Relational. ->

Ponemos como nombre del Process Action:Query-Vendedores y adems configuramos lo siguiente: 1. Database Connection Type: Elegimos JNDI. 2. Nombre del JNDI: Escribimos Ventas. 3. Query: Escribimos la consulta SQL para devolver el listado de vendedores por cada tienda. select ti.no_tienda as Tienda, ve.no_vended as Vendedor, ve.co_docide as Documento from ventas.tctienda ti left join ventas.tcvended ve on ti.co_tienda = ve.co_tienda order by ti.no_tienda; 4. Result Set Name: Por defecto aparece query-result (si se desea se puede renombrar). 5. Process Outputs: Click en Add Output y elegimosquery-result o el nombre que hayan usado en el paso anterior para Result Set Name.

y y

y y y

Ahora debemos testear si nuestro archivo vendedores.xaction devuelve el listado de los vendedores. Para eso nos ubicamos en el tab Test. En Penaho Server URL escribimos:http://localhost:8080/pentaho. (Para que esta URL quede configuarada de manera permanente lo hacemos en: men Window -> Preferences -> Pentaho Design Studio -> Pentaho Server URL). Ahora hacemos click en el botn Generate URL y se genera la URL completa para acceder al xaction que hemos creado. Por ltimo hacemos click en Run, aparece el Login inicial de Pentaho, en mi caso selecciono el usuario Joe (Admin) y ...... ocurrir un error, con el siguiente mensaje: Connection to data source is not valid. El error se produce porque falta algo muy importante: Configurar el JNDI para realizar la conexin nuestra base de datos.

2.3 Configurar JNDI para conexin a base de datos. En la versin 1.7.1 de Pentaho BIS se siguen los siguientes pasos para realizar la configuracin. (Todo lo realizamos desde el mismo Pentaho Design Studio.

1. Editar el archivo jboss-web.xml ubicado en jboss/server/default/deploy/pentaho.war/WEB-INF y agregar


luego de:><!-- insert additional resource-refs --> lo siguiente:

<resource-ref> <res-ref-name>jdbc/Ventas</res-ref-name> <res-type>javax.sql.DataSource</res-type> <jndi-name>java:/Ventas</jndi-name> </resource-ref>

2. Editar el archivo web.xml ubicado en jboss/server/default/deploy/pentaho.war/WEB -INF y agregar luego de


<!-- insert additional resource-refs --> lo siguiente:

<resource-ref> <description>Ventas</description> <res-ref-name>jdbc/Ventas</res-ref-name>

<res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref>

3. Ahora

nos ubicamos en la carpeta deploy ubicada en jboss/server/default Click derecho New -> File. Y nombramos al archivo Ventas-ds.xml, y como contenido del archivo editamos lo siguiente:

<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <jndi-name>Ventas</jndi-name> <connection-url>jdbc:postgresql://localhost:5432/VENTAS</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>usuario</user-name> <password>password</password> </local-tx-datasource> </datasources> Tener presente que el nombre del JNDI es Ventas (la primera letra con mayscula) y es el nombre que hemos utilizado en los pasos 1 y 2. El nombre de la base de datos que estamos indicando en <connection -url/> es VENTAS (todo en maysculas) pues as lo hemos indicado al crear la base de datos. Adems es obvio que se debe editar el usuario y el password.

4. Debemos asegurarnos que el archivo jar ( postgresql-8.2-506.jdbc3.jar) que permite la conexin a bases de datos
Postgresql exista en la siguiente ruta: jboss/server/default/lib/. En la versin 1.7.1 ya viene este archivo jar, en la versin 1.2.0 se deba copiar el archivo jar en la carpeta indicada. 5. Ahora solamente debemos reiniciar el servicio. Para esto, desde Explorador de Windows acceddemos a los archivos stop-pentaho.bat y luego start-pentaho.bat. 6. Una vez reiniciado el servicio volvemos al Penta Design Studio, doble click en el archivo vendedores.xaction, ho seleccionamos el tab Test, generamos la URL y ejecutamos. Y obtenemos como resultado lo mostrado en la imagen siguiente:

OBS. En el siguiente post, se revisar la forma de crear undatasource pero aplicadas a las versiones2.0.0 y 3.0.0.

Pentaho Conexin de base de datos 2 v 2.0, 3.0


En el post anterior de Conexin a tu base de datos, vimos como acceder a nuestra propia BD, tambin se indic que los pasos seguidos (particularmente para la configuracin del JNDI) eran para la versin 1.7.1 de Pentaho BIS.

Este post busca cumplir la misma finalidad pero ahora est aplicado a las versionesestables 2.0.0 y 3.0.0. Ya se haba comentado tambin en el

post de Descarga e Instalacin, que existen diferencias en la estrucutura de directorios de la versin 1.7.1 y las nuevas versiones (las dos lt imas son muy similares). Observar la ubicacin de la carpeta administration-console:

1. Crear Datasource Esta vez crear nuestro origen de datos es mucho ms sencillo, seguir los pasos que se indican a continuacin:
y y

y y

Para empezar iniciar el servcio de Pentaho ejecutando el archivo start-pentaho.bat, que se encuentra en la carpeta biserver-ce. Ahora ejecutar el archivo startup.bat, que se encuentra en la carpeta administration-console; esto permite que cargue la Consola de Administracin, al cual podemos acceder desde una ventana del navegador escribiendo: http://localhost:8099 Para acceder los datos por defecto son: user:admin y password: password. Ahora accedemos a Administracin -> Data Sources -> Add Data Source.

A continuacin ingresamos los datos correspondientes para crear el data source hacia nuestra base de datos. Una observacin en este punto: Para este tutorial se tiene la BD en PostgreSQL (el nombre es VENTAS), y antes de iniciar el servicio de adminitration-console se debe copiar a la ruta: biserver-ce\administration-console\jdbc el archivo jar postgresql-8.2-506.jdbc3.jar. De lo contrario en el combo Driver Class no aparece la opcin que se necesita.

De este modo ya tenemos configurado nuestro origen de datos cuyo nombre es Ventas (slo la primera letra en mayscula).

2. Crear nuevo archivo action sequence Tambin ser revis en el post anterior, como crear proyectos usando Pentaho Design Studuio (PDS) En esta ocasin . podemos seguir utilizando la versin 1.7.1 pueden descargar las versiones correspondientes de pentaho-design-studio 2.0.0 pentaho-design-stduio 3.0.0 RC2.
y y y y y y

Al crear el proyecto no olvide descativar la ubicacin por defecto y elegir la carpeta biserver-ce. (Es solo cuestin de orden y no es obligatorio) Desde el proyecto, ubicarse crear una carpeta (nombre: ventas) dentro de pentaho-solutions. En la carpeta ventas crear un nuevo archivo Action Sequence (nombre: vendedores). Editar el archivo vendedores.xaction igual que en elpost anterior. Ir a la solapa Test y generar la URL y correr (Run) el archivo. En la versin 2.0.0 puede ser que retorne un error que haga referencia a que el archivo no existe. Para solucionar este problema accedemos a la Consola de Administracin (http://localhost:8099) vamos a Administration -> Solution Repository -> Refresh.

Pentaho 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 Conexin a tu base de datos, estamos trabajando sobre Postgresql, adems se ha creado la base de datos VENTAS y se ha creado tambin el esquema ventas donde se tienen las tablas de lo que vendran a ser las tablas transaccionales (OLTP). Si es que an no tienen los datos de ejemplo, lo pueden descargar de los siguien enlaces: tes

1. Crear tablas de la base de datos OLTP . 2. Cargar tablas de la base de datos OLTP.
A continuacin desde pgAdminIII crear una conexin a la base de datos VENTAS y crear un nuevo esquema llamado dmventas. Aqu se crearn las tablas de lo que ser nuestra base de datosmultidimensional. Pueden descargar los archivos de los
siguientes enlaces (y ejecutarlos tambin en el orden en que se muestran):

1. 2. 3. 4.

Crear tablas de la base de datos multidimensional . Crear funcin adicional. Cargar tablas dimensin. Cargar tabla de hechos.

El modelo entidad relacin se muestra a continuacin (se ha utilizado elesquema estrella):

La base de datos creada presentar las dimensiones (dimensions): Tienda, Producto, Vendedor y Fecha de venta. Adems 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:
y y

Monto vendido del producto (Televisor) en la tienda (SAN ISIDRO) en un perodo determinado. Monto vendido por cada vendedor de la tienda (SAN ISIDRO) par el producto (COMPUTADORA) en el perodo a JUNIO 2009.

Pentaho Crear cubo OLAP con cubedesigner


s En el post anterior ya se haba creado la BD multidimensional, e momento entonces de crear el cubo OLAP (un archivo XML), para esto utilizaremos la herramienta grficaCube Designer (acceder a la siguiente pgina donde podrn obtener versiones para Windows, Mac o Linux). 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 continuacin 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 versin 2.0.0 en biserver -ce\administration-console\jdbc y en la versin 3.0.0 en administration-console\jdbc. 1. Desde CubeDesigner ir al Men File -> New Cube Schema. 2. Ingresar los valores siguientes en el Inicio de la Configuracin:
y y y

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 conexin son los mismos que se usan cuando ): se crea un datasource en la Consola de Administracin

3. Realizar el Mapeo de Tablas.


y y y

Del panel inferior izquierdo seleccionar el esquemadmventas (esquema donde se hallan las tablas del modelo multidimensional). Asegrese que el servicio Pentaho BI Server est cargado. Se muestran las tablas, y ahora arrastrarlas al panel derecho y puedenordenarlas como se muestra en la imagen. Ordenadas las tablas se procede a seleccionar los campos que se utilizarn para crear las medidas, tablas dimensin y de hechos.

4. Crear las Medidas (Create Measures)


y y

En el combo se debe seleccionar la tablathventas. Se muestran las columnas de la tabla seleccionada pero solo seleccionarthventas.ca_ventas (Cantidad de ventas) y thventas.im_ventas (Monto vendido). Verificar que el tipo de agregacin sea SUM y el formato sea #,##0.

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

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

y y y

Seleccionar el campo tdtienda.co_tienda, luego click en Add New Dimension e ingresar como nombre de dimensin: Tienda. Seleccionar el campo tdproduc.co_produc, luego click en Add New Dimension e ingresar como nombre de dimensin: Producto. Seleccionar el campo tdfecven.co_fecven, luego click en Add New Dimendion e ingr esar como nombre de dimensin: Fecha.

Al momento de ir creando cada dimensin puede ir editando algunas propiedades, como por ejemplouniqueMembers, cambiando el valor por defecto atrue; esto porque cada miembro de las dimensiones que se usan para este utorial no presentan valores duplicados (ejm. no t existen dos tiendas con el mismo nombre). La dimensin fecha presentar una jerarqua de 3 niveles (ao, mes y da), se puede agregar dichos niveles desde CubeDesigner, pero lo dejaremos as en este momentopues editaremos a mano el archivo XML ms 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:


y

schema files). En la View XML. En la solapa XML Source se puede observar el cdigo XML que se ha generado ( solapa XML DOM se observa la vista en rbol de la estructura del cubo. Publish. La publicacin generar 3 archivos(Ventas.mondrian.xml, Ventas.properties, Ventas.xaction)pero antes se debe configurar el Publish Password editando el archivo publisher_config.xml el cual se ubica en pentahosolutions/system/. Obviamente el sevicio Pe ntaho BI Server debe estar activo. Tambin se debe indicar donde se generarn los 3 archivos, en Publish Location ingresar /ventas/olap, la ruta completa donde su ubicarn los archivos espentaho-solutions/ventas/olap (La carpeta ventas ya se haba creado en uno de los post anteriores, se debe crear la carpetaolap). El valor que aparece en Web Publish URL no es necesario modificarlo. Adems del Publish Password, la publicacin solicita datos enServer 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 cdigo XML que define las medidas, dimensiones y el cubo est correcta se podr visualizar el resultado visualizando los datos del cubo desde la pgina xaction que se gener.

y y y y

Adems tambin se puede observar lapgina xaction desde Pentaho DesignStudio, para esto slo se accede a la carpeta donde se realiz la publicacin 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 la informacin de la base de datos a 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 ms) por lo que recomie descargar y utilizar ndo el archivo Ventas.mondrian.xml. Utilizando este archivo, al momento de visualizar la pgina Ventas.xaction se mostrarn 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 anali zando por la dimensin Producto y obtener ver cual es el producto ms vendido.

O este otro reporte, donde se muestran las dos medidas y se analiza la dimensin Vendedor, as podemos observar que si bien el que vende ms productos es CARLOS DIAZ, el que genera ms monto en ventas es LUIS PEA.

También podría gustarte