Mostrando entradas con la etiqueta Pentaho. Mostrar todas las entradas
Mostrando entradas con la etiqueta Pentaho. Mostrar todas las entradas

miércoles, 11 de febrero de 2015

Saiku Analitics Geo Maps

Una de las muchas ventajas de Pentaho BI Server es la posibilidad de desarrollar nuestros propios componentes y publicarlos en el MarketPlace para que así este disponible para todos los usuarios. la siguiente es una muestra de esto; Saiku es una poderosa herramienta que provee vistas para cubos debidamente definidos; para realizar esta guia también debemos instalar la extensión saiku chart plus que provee la funcionalidad para Geo charts.

Lo primero que tenemos que hacer es instalar estas extensiones, en la versión comunitaria Saiku y Saiku Chart Plus pueden ser instalados desde el MarketPlace

Instalación Manual

Si nuestra conexion pasa por un proxy, es posible que no podamos realizar la instalación mediante la interfaz provista en el servidor, en cambio podemos acceder al marketplace mediante Pentaho Marketplace, descargamos los archivos .zip correspondientes y se descomprimen en la carpeta biserver-ce\pentaho-solutions\system\ de nuestro servidor y reiniciarlo.

Una vez instalado saiku y saiku chat plus, vamos a crear nuestro ambiente de base de datos; crearemos una tabla para mantener nuestro catalogo de sitios(países/regiones/entidades) y una tabla principal que contendrá la data.

Para que saiku chart plus pueda graficar la data de manera correcta, la misma debe ser del tipo <codigo>,<valor>. Para conocer los codigos de estados y regiones revisar este  link
Saiku solo toma data de cubos ya definidos, así que tendremos que definir un cubo unidimensional con la información geográfica necesaria,

Crearemos las siguientes tablas.
CREATE TABLE codigos
(
  id serial NOT NULL,
  codigo character varying,
  nombre character varying,
  CONSTRAINT pk_codigos PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

CREATE TABLE test_fact
(
  id serial NOT NULL,
  codigo_id integer,
  fact1 integer
  CONSTRAINT pk_fact_test PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);

Creadas las tablas en bases de datos y las llenamos con una pequeña cantidad de data de prueba; el siguiente paso es crear la fuente de datos necesaria,


La manera mas rápida de obtener resultados en Pentaho siempre es seguir al ayudante.


Si no lo hemos hecho, debemos configurar una conexion para nuestra base de datos, o seleccionarlo de la lista. Recordemos que debemos marcar la opción reporting and analysis para que se genere el modelo estrella correspondiente a nuestra base de datos.



Para crear una nueva conexion, solo debemos ingresar la información necesaria


Debido a que seleccionamos la opción reporting and analysis, debemos proveer al sistema de información adicional, seleccionando la tabla de hechos y dimensiones correspondientes para que se auto genere un esquema estrella que adaptaremos a nuestra necesidad,


A continuación



Cuando terminemos de ingresar la información mínima necesaria para que Pentaho cree el modelo estrella, mostrara un mensaje permitiendo adaptar el modelo, siempre es bueno seleccionar esta opción ya que rara vez el sistema genera el modelo estrella tal cual lo necesitamos.


En la ventana siguiente, seleccionaremos la pestaña "Analysis" y haremos las molificaciones necesarias hasta que la estructura luzca igual que en la imagen a continuación


Cuando hayamos de terminar de configurar nuestra data e instalado Saiku y saiku chart plus, podremos acceder a el mediante el menú create new.


Esta es la interfaz de Saiku, en la cual podremos seleccionar hechos y jerarquías para mostrarlas. Seleccionaremos nuestro cubo y arrastraremos la jerarquía codigo a las filas y el valor o hecho a las columnas para este ejemplo


Ahora activamos Saiku chart plus, haciendo click en su icono. seleccionamos Geo Map>South America>Venezuela o cualquiera correspondiente a los códigos existentes

Para finalmente obtener.


martes, 10 de febrero de 2015

Configurar JAVA_HOME en windows/unix

Todos los componentes de Pentaho necesitan de JVM para su correcta ejecucion, para esto necesitan leer la variable JAVA_HOME para conocer su ubicacion.

Depende de nuestro sistema operativo el proceso para declara estas variables, lo primero que debemos saber es la ubicacion en nuestro equipo de JAVA JDK (en windows tipicamente 'C:\Program Files\Java\jdk1.7.0_21')

Declarar JAVA_HOME en Windows

  1. Damos click en Inicio
  2. Hacemos click derecho en Mi Pc/Computer y seleccionamos Propiedades/Properties
  3. En la nueva ventana iremos a Propiedades avanzadas del sistema/Advanced system settings
  4. Y finalmente presionamos el boton variables de entorno/enviroment variables
  5. Aqui encontraremos las variables del sistema, por lo cual debemos tener mucho cuidado en no modificar nada a menos que estemos seguros. Las variables del sistema estan divididas en 2 partes, las variables globales(disponibles para todos los usuarios) y las variables de usuario (disponibles solo para el usuario actual); JAVA_HOME se puede definir en cualesquira de los 2 grupos, depende directamente de nuestra preferencia.
  6. Para crear una nueva variable de entorno solo debemos presionar nuevo/new, ingresar el nombre de la variable y su valor, en este caso el nombre sera JAVA_HOME y el valor sera la direccion de instalacion de nuestra version de JAVA,
  7. Para verificar la instalacion, en una nueva ventana de comandos escribimos echo %JAVA_HOME%, y la respuesta debe ser la direccion de instalacion de JAVA.
En los sistemas windows es importante notar que para que los cambios tomen efecto, debemos cerrar las consolas(simbolos del sistema/command prompt) para que tomen la nueva configuracion del sistema.

Declarar JAVA_HOME en Sistemas Unix

En sistemas Unix siempre es preferible declarar las variables de entornos para todo el sistema, y de este modo cualquier usuario podra utilizarla. Para declarar nuestro JAVA_HOME debemos 
  1. Editar el archivo /etc/enviroment (para esto necesitaremos permisos de administrador)
  2. Agregar al archivo la linea con elnombre de la variable y la ubicavion de (en el caso de Unix) nuestro Open-Jdk, generalmente luce algo asi: JAVA_HOME="/usr/lib/jvm/open-jdk"
  3. Para finalizar ejecutaremos source /etc/enviroment para recargar las variables del sistema, si este comando falla, podemos ejecutar . /etc/enviroment, o reiniciar el sistema.
  4. Para verificar el valor de JAVA_HOME podemos escribir en la terminal del sistema echo %JAVA_HOME

Y con esto habremos configurado correctamente nuestra variable JAVA_HOME


Como cultura general, es bueno saber que en la varible PATH del sistema se encuentran las direcciones de todos los comandos que son ejecutados desde consola.


jueves, 11 de diciembre de 2014

Pentaho Report Designer- Nuevo Reporte (No wizard)


Existen varias maneras de crear un reporte, por ahora no usaremos el ayudante para comprender mejor las partes de un reporte.

Al crear un reporte nuevo nos encontraremos con la plantilla en blanco, lo que queremos hacer es llenarla con datos e información.
El primer paso es agregar el data set que deseamos presentar, en este caso, agregaremos una conexión jbdc con la consulta

SELECT
generate_series(1,20) AS id,
random() AS numero_1,
random() AS numero_2,
(generate_series(1,2)%2)
as grupo order by grupo
 
     


Para esto iremos a la pestaña Data y agregaremos un nuevo data set.




Y nos llevara la ventana para gestionar las conexiones, en nuestro caso utilizaremos el conector JDBC de postgresql, si deseamos utilizar otro, podemos configurarlo haciendo click en Add new connection.





Aquí podemos seleccionar la pase de datos que queremos utilizar y las credenciales para utilizarla; si nuestra base de datos no se encuentra en la lista, debemos descargar el conectar JDBC correspondiente y colocarlo en la carpeta lib del directorio donde descomprimimos Report Designer; por ejemplo: D:\report-designer\lib



Una vez configurada la conexión, podremos seleccionarla y crear una nueva consulta.



Para verificar la consulta podemos hacer click sobre Preview y observar el resultado de la consulta.


Ahora podemos seleccionar nuestras columnas y agregarlas al reporte, para esto simplemente debemos arrastrar las columnas a la sección donde deseamos mostrarlas, en este caso, en Details.


En la barra izquierda podemos observar diferentes tipos de elementos que podemos agregar al reporte, como por ejemplo etiquetas (Labels), agregaremos una etiqueta para colocar el nombre en el Report Header



Al igual que cualquier elemento dentro del reporte, podemos ir a la ventana estructura, para cambiar sus propiedades, como por ejemplo, color, tipo de fuente y tamaño; ahora cambiaremos el tamaño de nuestra etiquetas.


Para tener una idea de como va quedando nuestro reporte, podemos ver una vista preliminar haciendo click sobre correr (Run)


También podemos agrupar los datos en campos que tienen en común, para ejemplificar esta opción utilizaremos el campo grupo. Para agregar un nuevo grupo solo debemos ir al menú Edit y seleccionar Group



Aquí debemos nombrar el grupo y seleccionar el campo por el cual debemos agrupar.



Cuando creamos un grupo, automáticamente se agregan los segmentos Group Header y Group Footer a la estructura de nuestro reporte (es posible agregar mas de un grupo; este comportamiento se repetirá por cada grupo). Por defecto, estos segmentos se agregaran al reporte, mas o serán visibles si no cambiamos su atributo hide-on-canvas a false


Ahora podemos colocar nombre a los grupos. Pentaho automáticamente paginará y organizará los datos imprimiendo como un ciclo; dentro de cada grupo, se imprimirán todos los Group Header y Footer contenidos dentro de este, ademas de Details, de esta manera la estructura de ambos grupos sera exactamente igual, pero con data distinta.


Este es el resultado preliminar.


El segmento Group Footer es generalmente utilizado para colocar subtotales de la data mostrada, en este caso agregaremos un promedio de los campos numero_1 y numero_2. Para esto regresaremos a la pestaña Data. y agregaremos la función Promedio (Average). Creada la función debemos señalar el nombre del campo del cual queremos el promedio, y en este caso, también señalar que cuando ocurra un cambio de agrupación, se debe reiniciar el promedio.



Ahora agregaremos un Gráfico que permita una vista rápida de toda la data a presentar, para esto arrastraremos el icono de gráfico (Chart) de la barra a nuestra izquierda hasta el Report Header. Si lo colocamos en Gruop header, el gráfico se repetirá para cada Grupo resultante de la función de agregación.




Para preparar este gráfico con la información necesaria, hacemos doble click sobre el. Aquí debemos seleccionar los campos para el gráfico, como las series en los ejes, valores a mostrar. También podemos modificar otros valores como colores de las barras, formato de los datos entre otros, grupos de datos y hasta tipos de gráfico.



Para finalizar agregaremos totales a Report Footer,(esta difiere del promedio anterior en que no debe reinciar con los grupos) y numero de pagina al Page Footer (la función para numero de pagina se encuentra en la carpeta Common>Page of Pages).
Es importante señalar que Pentaho respetará el espacion en blanco dejado en le proyecto por que quizás sea necesario modificar los limites entre segmentos.





jueves, 4 de diciembre de 2014

Pentaho Report Designer

Pentaho Report Designer permite personalización de reportes, partiendo de la base de JFreeReports, los que ya han utilizado esta aplicación se sentirán un poco mas familiarizados con la interfaz que ofrece.

Al igual que todas las herraminetas pentaho, Report Designer es portable, por lo que podemos utilizar sin importar en que SO estemos trabajando, basta con descomprimir y ejecutar report-designer.bat en Windows o report-designer.sh.

Podemos crear un nuevo reporte seleccionamos Nuevo en el menú Archivo.

Para darle forma a nuestro reporte debemos entender sus segmentos.

Page Header - Todo lo que coloquemos en este espacio se repetira para cada pagina del reporte, generalmente colocamos el nombre del reporte o nombre de la compañía.

Report Header - La cabecera del reporte la cual tiene por principal función mostrar el titulo del reporte y nombre de los involucrados.

Group Header - Opcional. Se utiliza generalmente para reportes que requieren agrupación de datos; podemos señalar aquí el nombre del grupo.

Details - Detalles del reporte, aquí irá la data del reporte, registro por registro la data que queremos mostrar.

Group Footer - Marca el final de una agrupacion, generalmente colocamos subtotales en esta área.

Report Footer - Final del reporte, aquí mostramos si lo deseamos numeros finales y definitivos de lo contenido en el reporte.

Page Footer - Final de la pagina, de cada pagina, generalmente se coloca la paginación del reporte y/o fecha actual para referencia.

En cada uno de estos segmentos, es posible agregar un gráfico, su uso depende mucho de la naturaleza del reporte.

A continuación muestras de la herramienta.
Vista de diseño.

 Vista preliminar del reporte.




Pentaho BI

Pentaho BI es una suite completa de Inteligencia artificial. 
Como una de las estrategias de venta de Pentaho es la de ofrecer su suite en una versión comunitaria, esta versión, aunque gratuita, contiene todo lo necesario para hacer funcionar la suite, la resoluciones de bugs y lanzamiento de nuevas versiones, están aprox. 6 meses detrás de la versión empresarial (de pago). Pentaho también permite utilizar las herramientas contenidas en su suite de manera independiente, permitiendo integrarse a otros sistemas.

En este blog se encuentra mi experiencia con el software en su versión comunitaria en su versión 4.8 y 5.1.

Cuales son las herramientas contenidas en Pentaho BI? a continuación las mas utilizadas.

-Spoon!(Pentaho Data Integration), permite la extracción, transformación y carga de los datos, ya sea para un esquema de datos OLAP, o integración/estandarización de datos distribuidos; y permite guardarlos en una base de datos, archivo o simplemente no guardarlos.

-Pentaho Report Designer, partiendo de la base de JFreeReports permite crear y personalizar reportes, la principal ventaja frente a su base es la posibilidad de proveer como fuente de datos una consulta MDX, o incluso una transformación.

-Pentaho Business Analytics Platform, la joya de la corona, es el servidor web que permite la visualización de data, así como su modelado MDX, creación de reportes dinámicos, planificación de tareas y visualización de dashboards.