Sunteți pe pagina 1din 19

Introduccin a Pentaho Dashboard

Material Extrado de Pentaho Solutions - Business Intelligence and Data Warehousing with Pentaho and MySQL

Lic. Ana Smail


Ao 2010

Introduccin a Pentaho Dashboard

La comunidad de cdigo abierto se nutre de la participacin y la cooperacin. Hay varios canales de comunicacin disponibles donde las personas pueden ayudar, pero no estn obligados a hacerlo. Usted es responsable de su propio xito, lo que requerir tiempo, esfuerzo y una pequea cantidad de capacidad tcnica.

Ao 2010

Introduccin a Pentaho Analysis

Bibliografa
Pentaho Solutions - Business Intelligence and Data Warehousing with Pentaho and MySQL de Roland Bouman Jos van Dongen

Bibliografa web
http://wiki.pentaho.com/display/ServerDoc1x/03.+Action+Sequenc es http://wiki.pentaho.com/display/ServerDoc2x/Design+Studio http://wiki.pentaho.com/display/ServerDoc2x/3.+Action+Sequence +Editor

Ao 2010

Introduccin a Pentaho Analysis

Qu veremos en este mdulo ?

Introduccin a pentaho Dashboard


CDF : community Framework Dashboard Pentaho Designer: Action Sequence

Ao 2010

Introduccin a Pentaho Dashboard


Un Dashboard (tablero de instrumentos) es una aplicacin que se utiliza para presentar el contenido de BI de alto nivel a los usuarios finales. El contenido del Dashboard, es casi siempre de carcter grfico. Por lo general, los indicadores grficos de alto nivel que aparecen en el Dashboard proporcionan cierto grado de interactividad que permite al usuario navegar por contenidos ms detallados.

Ao 2010

Introduccin a Pentaho Dashboard CDF (Community Dashboard Framework)


Es un conjunto de tecnologas open source que permite a los desarrolladores de BI crear cuadros de mando dinmicos para el Pentaho Server BI. Los CDF Dashboard, son pginas web que utilizan la tecnologa AJAX para combinar de forma dinmica los componentes de BI, tales como informes, grficos, tablas OLAP, y mapas. El CDF est incluido en el servidor Pentaho BI, pero es desarrollado y mantenido por los miembros de la Comunidad Pentaho en vez de la Compana Pentaho. Se distribuye bajo licencia LGPL. Se aloja en : http://code.google.com/p/pentaho-cdf/.

Ao 2010

Introduccin a Pentaho Dashboard Dnde encontrar documentacin?


La documentacin del proyecto est disponible en: el Wiki de Pentaho http://wiki.pentaho.com/display/COM/Community +Dashboard+Framework. Hay un foro en forums.pentaho.com, que se dedica a temas del CDF. Para obtener asistencia comercial, puede contactar con WebDetails en http://www.webdetails.pt/

Ao 2010

Introduccin a Pentaho Dashboard CDF: Conceptos y Arquitectura

Extrado de: Pentaho Solutions - Business Intelligence and Data -Warehousing with Pentaho and MySQL

Ao 2010

Introduccin a Pentaho Dashboard CDF: Conceptos y Arquitectura


1.

El usuario final desde un navegador web explora un dashboard. Lo que causa una peticin HTTP enviada al Pentaho Server BI. El Pentaho Server BI recibe la solicitud y reconoce que debera entregar un dashboard al cliente. La solicitud contiene el nombre y el path de la solucin del dashboard, basta con localizar el archivo xcdf que corresponde. El archivo. Xcdf especifica: template-dashboard: marcadores de posicin de componentes + instrucciones JavaScript para llenar los componentes. template-document o externo (debe estar explcitamente) La pgina web es recibida por el navegador en el que se lee y se muestra. El dashboard es inicializado.

2.

3.

4.

Ao 2010

Introduccin a Pentaho Dashboard CDF: Conceptos y Arquitectura


5.

Despus de la inicializacin del Dashboard, los componentes responden a los comandos implementados por el objeto.(p.e.: update, actualizacin del contenido) El Pentaho Server BI recibe la solicitudes de los componentes, que por lo general, solicitan la ejecucin de un action sequence. El Pentaho Server BI ejecuta la action sequence. El contenido generado por la action sequence se enva de nuevo al componente solicitante. Este coloca el contenido en su marcador de posicin dentro del document-dashboard con lo que se hace visible.
Ao 2010

6.

7.

8.

Introduccin a Pentaho Dashboard Glosario


Pentaho Solution Repository:
Una solucin es un conjunto de documentos que juntos definen los procesos y actividades que implementan la solucin de sistemas de un problema de negocios. Las actividades y procesos ejecutados por Pentaho BI se encuentran en pentaho/biserver/pentaho-solutions

Action Definition:
Definicn XML que especifica parmetros, recursos y seteos requeridos para la ejecucin de un paso dentro de un componente.

Action Sequence Definition:


Documento XML que define la interaccin entre una o ms Action Definition. Se almacenan el Solution Repository.

Component:
Puede contener todo el cdigo requerido para ejecutar una tarea o solo ser una interface a otra aplicacin o sistema. Los datos e instrucciones para los componentes son provedos por una Action Sequence Definition.

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO

Antes de empezar hay que ajustar el encoding segn el documento How Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: detalle de componentes


El panel de control contiene los siguientes componentes: En la parte superior izquierda, un grfico circular que muestra el gasto por Ejercicio. En la parte inferiror izquierda, un grfico circular que muestra el gasto por fuente. En la parte superior derecha un grfico de barra que de acuerdo al ejercicio y fuente selecionada muestra las 10 partidas de la red programtica en las que ms se ha gastado.

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: Setup


Crear una carpeta separada para mantener todos los items relacionados con el dashboard (es mejor hacerlo desde la consola de usuario). Esto hace ms sencillo crear nuevos, slo copiando y modificando uno ya existente, y permite reusar componentes. Para ver la carpeta creada hay que refrescar el repositorio.

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: Setup


Cuando creamos una carpeta desde la consola de usuario de Pentaho, se crea asociado a la carpeta un archivo index.xml .

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: archivo .xcdf


El archivo .xcdf es un archivo XML que describe el dashboard. Se crean en cualquier directorio del Solution Repository, para permitir que el usuario navegue hasta el Dashboard. Todo el contenido del archivo est entre los tags <cdf> y </cdf>. Los tags ms importantes son: <title>: es obligatorio y define el nombre del dashboard y cmo aparece al usuario. <template>: identifica el template del contenido del dashboard. El valor es un nombre de archivo. <style>: identifica un document template, en el que contenido del dashboard se colocar. Si no se especifica, se utilizar en por defualt provedo por el CDF.
Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: creando el archivo .xcdf


Primer paso en la creacin de un Dashboard.
1.

Crear un nuevo archivo de texto presupuesto.xcdf directamente en el directorio presupuesto, con algn editor de texto. Abrir el archivo presupuesto.xcdf y agregar el siguiente contenido:
<?xml version="1.0" encoding="ISO-8859-1"?> <cdf> <title>Dashboard Presupuesto</title> <author>Ana</author> <description>Dashboard Presupuesto</description> <icon></icon> <template>presupuesto-template.html</template> </cdf>

1.

2.

Salvar el archivo

Archivos en el directorio Material/Dashboard/01-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: Crear el archivo HTML del Dashboard


Crear el document-dashboard. El archivo presupuesto.xcdf incluye el tag <template>, para especificar el content template del dashboard:
<template>presupuesto-template.html</template>

Este archivo presupuesto-template.html debe crearlo en el mismo directorio dnde est el presupuesto.xcdf. Abrir el presupuesto-template.html y agregar:
<h1>Prueba Dashboard</h1> <script language=javascript type=text/javascript> // Obtener repositorio de la solucion y path var solution = Dashboards.getQueryParameter(solution); var path = Dashboards.getQueryParameter(path); // Dashboard Parameters //parameter definitions go here // Component Definitions var components = []; </script <script language="javascript" type="text/javascript"> // Dashboard initialization function load(){ Dashboards.init(components); } load(); </script>

Salvar los cambios. Archivos en el directorio Material/Dashboard/01-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: informacin en el cdigo del document-dashboard


Obtener el path y la solucin. ?solution=SIU&path=/Dashboard/presupuesto&action=pres upuesto.xaction Parmetros de Dashboard Dashboard.globalcontext=true, es el valor por default Define el comienzo de la seccin de parmetros y permite al dashboard utilizar todas las variables globales como parmetros Componentes de Dashboard El padrn tpico es el de crear todas las definiciones de componentes y aadir todos juntos al objeto Dashboard con una llamada a su mtodo init.

Ao 2010

Introduccin a Pentaho Dashboard EJEMPLO: TESTING


Desde la Consola de Usuario, refrescando primero el repositorio (esto conviene hacerlo desde la Consola Administrativa antes de iniciar sesin en la de Usuario)

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Action Sequence Grfico de Gasto por Ejercicio
Por cada component del Dashboard de ejemplo tenemos que crear una Action Sequence. Crear una Action Sequence se utiliza el PENTAHO DESIGN.
1.

Iniciar PENTAHO DESIGN desde: pentaho/design_tools/design-studio/PentahoDesignStudio.exe

Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Pentaho Design Studio
Las principales funciones son crear/editar, testear, y desplegar action sequence, xml y otros documentos.
No utilizado para crear o modificar report definitions, esquemas OLAP o ETL scripts, pero s para linkear estos recursos en los correspondientes componentes.

Editores basados en formularios que sirven para la definicin de los action sequences y generar los correspondientes documentos XML.
Los archivos de las Action Sequence finalizan con .xaction.

Es una aplicacin que corre dentro de ECLIPSE

Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Pentaho Design Studio
2.

Crear un proyecto para el repositorio de soluciones de Pentaho BI Server.

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Encoding del Pentaho Design Studio
3.

Configurar Design Studio para trabajar por defecto con ISO8859-1.

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Desarrollando Action Sequence
Las nuevas Action Sequences son creadas a partir de un Template
El template por default es blank Otros Templates: Hello World, Send Email, Shark Burst, Sample Burst Action

Desin Studio contiene 4 tabs para la configuracin de action sequences:


General: propiedades generales asociadas con la action sequence. Define Process: Donde se hace la definicin del proceso. Especifica inputs, action definitions, workflow y outputs. XML Source: Visualiza y edita el XML. Test: Ejecuta la action sequence sobre un Pentaho BI Server que est corriendo.

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Action Sequence Grfico de Gasto por Ejercicio
1.

Crear una nueva action sequence dentro de SIU/Dashboard/presupuesto llamada EjercicioPagado.xaction EjercicioPagadoData (se puede encontrar este tipo de Process Action en el submen Get Data Form), que tiene asociada una consulta SQL El primer paso de la action sequence es un proceso relacional llamado

2.

3.

El segundo paso de la action sequence es llamada PieChart. El proceso se encuentra en el submen Chart. Algunas opciones del grfico circular:
<chart-attributes> <chart-type>PieChart</chart-type> <url-template><![CDATA[javascript:clickOnEjercicio('{ejercicio}')]]></url-template> <paramName>ejercicio</paramName> <include-legend>false</include-legend> <title-font> <font-family>Ariel</font-family> <size>12</size> <is-bold>false</is-bold> <is-italic>false</is-italic> </title-font> </chart-attributes>

Documentacin: http://wiki.pentaho.com/display/ServerDoc2x/Chart+Reference

Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponet Incluir el componente , xactionComponent, en el template-document del dashboard:
Agregar una marca de posicin dashboard dnde se mostrar la salida del componente.
Archivo SIU/dashboard/presupuesto/presupuesto-template.html <div id="ejercicioPObject"></div> <script language="javascript" type="text/javascript"> resto del archivo

El tag <div> debe estar antes que el tag <script>

Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponet
Crear un objeto JavaScript que sabe qu action sequence ejecutar.
ejercicioP = { name: "ejercicioP", type: "xaction", solution: "SIU", path: "Dashboards/presupuesto", action: "EjercicioPagado.xaction", listeners:[], parameters: [], htmlObject: "ejercicioPObject", executeAtStart: true, preExecution:function(){}, postExecution:function(){} }

var components = [ejercicioP];


Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponet

Agregar el parmetro ejercicio


var ejercicio = "null"; Crear la funcin que reacciona a la seleccin de una porcin del grfico.
<SCRIPT LANGUAGE="JavaScript">
function clickOnEjercicio(value) { Dashboards.fireChange('ejercicio',value); } </SCRIPT>

Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponet
Los atributos de un component son:
name: string que identifica el componente. Debe ser nico. Type: string que se usa para instanciar un objeto de una clase de componente. (en este caso Xaction o XactionComponente) Solution: string con el nombre del repositorio de la solicin. Path: Ruta dentro de la solucin. Action: nombre del archivo .xaction. Parameters: arreglo de parmetros deben ser pasados cuando se invoca la action sequence. htmlObject: string asignado al id del marcador de posicin <div>. Establece un link entre el documento HTML y el objeto Javascript. executeStart: valor booleano. En true hace que el componete sea creado con todos los componentes al iniciarse el dashboard. Sin embargo, puede cambiar en respuesta al cambio en un parmetro.
Archivos en el directorio Material/Dashboard/02-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Action Sequence Grfico de Gasto por Fuente
Creamos una Action Sequence que devuelva el segundo grfico de torta, mostrando las fuentes y el monto pagado:
1.

Crear una nueva action sequence dentro de SIU/Dashboard/presupuesto llamada fuentePagado.xaction. El primer paso de la action sequence es un proceso relacional llamado fuentePagadoData (se puede encontrar este tipo de Process Action en el El segundo paso de la action sequence es llamada PieChart. El proceso se encuentra en el submen Chart.

2.

submen Get Data Form), que tiene asociada una consulta SQL
3.

<chart-attributes> <chart-type>PieChart</chart-type> <url-template><![CDATA[javascript:Dashboards.fireChange('fuente', '{fuente}')]]></url-template> <paramName>fuente</paramName>

.. El mtodo fireChange() comunica el cambio del parmetro al objeto Dashboard


Archivos en el directorio Material/Dashboard/03-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponent Grfico de Gasto por Fuente
Incluir el componente , xactionComponent, en el template-document del dashboard:
Agregar una marca de posicin dashboard dnde se mostrar la salida del componente. Crear un objeto JavaScript que sabe qu action sequence ejecutar. Agregar el parmetro fuente
var fuente = "null";

Modificar la funcin que reacciona a la seleccin de una porcin del grfico.


<SCRIPT LANGUAGE="JavaScript"> // Esta funcion es ejecutada cuando un usuario que ha // seleccionado una fuente selecciona un ejercicio // El proposito de la funcion es resetear la variable fuente a // null y pasar el ejercicio que ha sido seleccionado // The function is executed from the url-template tag in the ejercicioPagado.xaction function clickOnEjercicio(value) { fuente = "null"; Dashboards.fireChange('ejercicio',value); } </SCRIPT

Archivos en el directorio Material/Dashboard/03-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Action Sequence Grfico de Gasto por Red Programtica para un Ejercicio y Fuente
Creamos una Action Sequence que devuelva el segundo grfico de torta, mostrando las fuentes y el monto pagado. 1. Crear una nueva action sequence dentro de SIU/Dashboard/presupuesto llamada RedPPagado.xaction.
2.

Usar la If Statement (Process Action),para testear cul de los parmetros ejercicio o fuente tiene valor y construir la consulta MDX al cubo de presupuesto.

3.

Como ltimo paso de la action sequence crear un proceso llamado RedBarChart. El proceso se encuentra en el submen Chart y corresponde a un grfico de Barras.

Archivos en el directorio Material/Dashboard/04-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: XactionComponent Grfico de Gasto por Red Programtica para un Ejercicio y Fuente
Incluir el componente , xactionComponent, en el templatedocument del dashboard:
Agregar una marca de posicin dashboard dnde se mostrar la salida del componente. Crear un objeto JavaScript que sabe qu action sequence ejecutar.
redPP = { name: "redPP", type: "xaction", solution: "SIU", path: "Dashboards", action: "RedPPagado.xaction", listeners:["fuente", "ejercicio"], parameters: [["fuente", "fuente"], ["ejercicio", "ejercicio"]], htmlObject: "redPPObject", executeAtStart: true, preExecution:function(){}, postExecution:function(){} } var components = [ejercicioP,fuenteP,redPP];

Archivos en el directorio Material/Dashboard/04-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Cambio dinmico del ttulo del Dashboard
Se trata de que el ttulo del Dashboard cambie respondiendo a la seleccin de Ejercicio o Fuente, o ambas.
Agregar un marcador de posicin
<div id="titleObject"></div>

Agregar el componente nuevo:


titleString = { name: "titleString", type: "text", title: "SIU_Presupuesto", listeners:["fuente", "ejercicio"], htmlObject: "titleObject", executeAtStart: true, expression: function(){return this.title}, preExecution:function(){ if( ejercicio == "null" && fuente != "null") { this.title = "Top Ten por " + fuente; } else if ( ejercicio != "null" && fuente == "null") { this.title = "Top Ten por " + ejercicio; } .. }, postExecution:function(){} } var components = [ejercicioP,fuenteP,redPP,titleString];

Archivos en el directorio Material/Dashboard/05-presupuesto

Ao 2010

Introduccin a Pentaho Dashboard


EJEMPLO: Personalizar el Document Template
El document-template usado por default es el que se entrega con el CDF y se encuentra en PentahoSolution/System/Pentaho-cdf y se llama templatedashboard-mantle.html que no incluye navegacin. Creamos en el mismo directorio uno personalizado llamado template-dashboard-siu.html Agregamos al archivo pentahosolution/SIU/Dashboard/presupuesto/presupuesto.xcdf el tag <style>siu</style> Lo que le informar que este dashboard tiene un document tempplate personalizado.

Archivos en el directorio Material/Dashboard/05-presupuesto

Ao 2010

Preguntas
Lic. Ana Smail (anasmail@unnoba.edu.ar)

Ao 2010