Plugin Google Viz para Pentaho

En esto de ponerme al día con el Blog, voy a publicar un pequeño plugin que tengo desarrollado hace ya algún tiempo, se trata de un plugin que facilita el uso de Google Visualization en xactions de Pentaho, pueden ver algunas demos aquí.

 

Componentes:

- eGlu-google-viz.jar

 

Uso:

1) Copiar el archivo eGlu-google-viz.jar en [BISERVER_HOME]/tomcat/webapps/pentaho/WEB-INF/lib

2) En el contexto de PDS (Pentaho Design Studio) , editando una xaction, debe crearse una nueva entrada de tipo Custom.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Luego configurar el componente:

 

 

En Component Class, siempre debe ir: ar.com.eglu.pentaho.googleviz.EGluGoogleVizComponent

Los inputs posibles son:

  • input-resultset: es obligatorio, de tipo result-set y contiene el set de datos que se utilizará para generar los gráficos.
  • data-cols-types: es obligatorio, de tipo string, define los tipos de datos de las columnas que formarán parte de la salida, son cadenas separados por coma, deben ser la misma cantidad que los columnas efectivas (las que serán mostradas, por defecto todo el result-set), los valores posibles son: boolean, number, string, date, datetime y timeofday.
  • data-cols-labels: es opcional, de tipo string, define los nombres de las columnas columnas que formarán parte de la salida, son cadenas separados por coma, deben ser la misma cantidad que los columnas efectivas. Si no se define este input se utiliza el nombre de las columnas que retorna la consulta sql.
  • data-cols: es opcional, de tipo string, define las columnas columnas que formarán parte de la salida, son números enteros separados por coma, deben ser la misma cantidad o menos que las columnas del result-set. Si no se define este input se utilizarán todas las columnas y en el orden en que se encuentren en el resultset. La primera columna comienza por 1. Puede repetirse el mismo número varias veces.

Ejemplo:

input-resultset:

-----------------------------------------------

| idCliente | cliente | fecha | importe |

-----------------------------------------------

| 1 | cliente1 | 10/01/2009 | 10 |

| 2 | cliente2 | 10/01/2009 | 20 |

| 3 | cliente3 | 10/01/2009 | 30 |

| 3 | cliente4 | 10/01/2009 | 15 |

-----------------------------------------------

data-cols: 2,3,4 Notar que solo se mostrarán cliente, fecha e importe, se descarta idCliente. Esto produce 3 columnas efectivas.

data-cols-types: string,date,number data-cols-labels: Razón Social,Fecha,Venta

 

Los outputs posibles son:

  • data-out: nombre de la variable que contendrá los valores generados por el plugin, estos valores son en realidad, un DataTable que requerie la API de Google para generar los gráficos, contiene los datos propiamente dichos.

3) Crear la salida html utilizando data-out, a continuación muestro un snippet de código que pueden utilizar, el componente de la xaction donde generarlo puede ser un Message Template.

 

<html>      <head>    <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript">         google.load('visualization', '1', {'packages':['motionchart']});                 google.setOnLoadCallback(drawChart);         function drawChart() {    	 	var r="{data-out}";  	 	var opt="{width: 800, height:400}";  	 	var fun=new Function("v","o","render("+r+",v,o,"+opt+")");  	 	fun(0.5,'chart_div');         }      	 function render(data, version, id_object_render_to,options) {  	 	var data=new google.visualization.DataTable(data,version);         	var chart =new google.visualization.MotionChart(document.getElementById(id_object_render_to));               chart.draw(data, options);  	 }	       </script>     </head>       <body>   	<h2>Demo GoogleViz - by Magm (eGlu)</h2>   	<h3>Motion</h3>         <div id="chart_div"></div>         <div id="chart_div1"></div> </body </html> 

Les adjunto además de los archivos necesarios, una serie de ejemplos y un backup de la base de datos de MySQL necesaria para correr algunos de los ejemplos. Deberán crear una conexión llamada dwventas desde la consola de administración que apunte a la base de datos una vez restaurada. Deberán renombrar los archivos a .rar para poder descomprimirlos.

He agregado el archivo (Demo_GoogleViz_eGlu.rar_.txt) es un video de como se ve en Pentaho. Gracias por el comentario Carlos!

Una buena aportación para ponerte al dia.
No tendrás un pantallazo de ejemplo de cómo queda la visualización en Pentaho?