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.