1 HERRAMIENTAS DASHBOARDS PENTAHO COMMUNITY EDITION Pentaho Community Edition ofrece un conjunto de herramientas para diseñar diversos Dashboards (cuadros de mando) interactivos, las cuales están integradas en el bi-server (business intelligence server). El conjunto de herramientas disponible es el siguiente: 1. Community Dashboard Framework (CDF) 2. Community Chart Components (CCC) 3. Community Data Access (CDA) 4. Community Dashboard Editor (CDE) En este curso se dará una guía para la instalación y creación de dashboards, utilizando la última opción mencionada en la lista, Community Dashboard (CDE), ya que este es un editor avanzado el cual permite la creación de cuadros de mando en pocos pasos. INSTALACIÓN La herramienta es libre y puede obtenerse desde googlecode: http://cdf-de.googlecode.com/files/CDE-bundle-1.0-RC3.tar.bz2 CDE ha sido probado sobre bi-server versión 3.6. y 3.7. Por el lado del cliente Mozilla Firefox es el navegador web preferido, aunque debería funcionar bien con Google chrome y Microsoft Internet Explorer. Pasos a para la instalación: 1. Descomprimir el paquete descargado. 2. Parar el bi-server. 3. Eliminar, de la carpeta pentaho-solutions (incluida en el bi-server), las versiones anteriores de los archivos CDE contenidos en el paquete descompreso. 4. Copiar los archivos del paquete en el directorio pentaho-solutions. 5. Levantar nuevamente el bi-server. INICIO DEL ASISTENTE Al acceder a la consola de usuario debería verse un icono adicional correspondiente al CDE-Editor. Para iniciar el asistente se puede utilizar el botón del panel central, o desde el menú principal (file/new/CDE Dashboard): 2 Opciones para iniciar el asistente CDE Dashboard editor CDE - Asistente 3 CREACIÓN DE DASHBOARDS La creación de dashboards se efectúa en 3 partes, utilizando los componentes principales: 1- Layout 2- Components 3- Data Sources 1 – Layuot Al iniciar CDE se muestra el layout vacio, el primer paso consiste en seleccionar una plantilla (conjunto de filas y columnas) que se adapte a nuestras necesidades: 4 2- Components La lista de componentes es muy amplia y se encuentra en el panel izquierdo de la pantalla: Es aquí donde seleccionamos el contenido que tendrá el dashboard y le damos la ubicación a cada componente dentro del layout. Los más importantes son: Generic: a. Parámetro simple: Se definen parámetros de JavaScript y establece un valor simple por defecto (entero, doble, cadena, etc.). b. Parámetros personalizados: Se definen parámetros de JavaScript con un valor compuesto por defecto (matriz, objeto, función , etc.). c. Parámetro Date: Se definen parámetros de tipo fecha. Scripts: a. JavaScript function: Para definir funciones de JavaScript. Others – (elementos más importantes): a. Comments component: Añade una sección para realizar comentarios en una página. b. Navigation Menu component: Añade un menú que permite navegar, de forma completa, por el repositorio pentaho-solution. c. Table component: Muestra el contenido de un origen de datos (data source) en forma de tabla. d. Text component: Muestra el resultado de una expresión, donde la expresión es una función de JavaScript. e. Execute xaction component: Ejecuta componentes de tipo xaction. f. Query component: Ejecuta una consulta SQL o MDX y devuelve el resultado 5 Charts – (elementos más importantes): a. b. c. d. CCC Pie chart: Gráficos de torta. CCC Stacked Area chart: Gráficos de zonas apiladas CCC Line chart: Gráficos de líneas. CCC Bar chart: Gráficos de barras Selects – (elementos más importantes): a. TextInput component: Permite la introducción de texto por pantalla. b. Select component: Llena una lista desplegable, con datos provenientes de un data source, permitiendo la selección de un parámetro. c. Date range input component: Permite ingresar un intervalo de fechas de entrada. d. Check component: Permite enlistar varias opciones (casillas de verificación), donde se puede seleccionar más de un parámetro. e. Radiobutton component: Permite enlistar varias opciones (botones circulares), donde se puede seleccionar únicamente un solo parámetro. Custom: a. Raphael component: Es una librería para gráficos vectoriales escalables. 3- Data Sources Aquí es donde se establecen los origines de datos que contendrá cada componente seleccionado en el paso anterior (un grafico, una tabla, una lista desplegable, etc.) Existen muchos tipos de Data Sources, pero las alternativas más utilizadas son: SQL, MDX y Kettle. 6 JDBC vs JDNI Muchas de las fuentes de datos están disponibles en Jdbc y Jdni. Cuando se utiliza JNDI es necesario definir la fuente de datos en la consola de administración del servidor. Es recomendable usar JNDI cuando la necesidad de acceso es a varias tablas de la base de datos, ya que se hace referencia a una fuente de datos JNDI mediante un único parámetro, su nombre. Por el contrario, una fuente de datos JDBC requiere que se provean cuatro parámetros en lugar de uno: a. Nombre de la base de datos. b. Conexión-URL. c. Nombre de usuario de la base de datos. d. Contraseña que pertenece a este nombre de usuario. Ejemplo de conexión SQL: Variables a establecer: Name: Nombre de la query. Jndi: Nombre de la conexión Jndi creada desde la consola administrativa. Parameters: Este campo se llena con la información de los parámetros (nombre, valor por defecto y tipo), en caso que la query esté condicionada por alguno de estos. Query: Consulta SQL contra la base de datos seleccionada. 7 Ejemplo de conexión MDX: Variables a establecer: Name: Nombre de la query. Mondrian schema: URL donde esta publicado el cubo, dentro del directorio pentaho-solution. Jndi: Nombre de la conexión Jndi creada desde la consola administrativa. Parameters: Este campo se llena con la información de los parámetros (nombre, valor por defecto y tipo), en caso que la query esté condicionada por alguno de estos. Query: Consulta MDX contra el esquema seleccionado. Nota: Cada vez que se modifique una Query del Data Source, debe actualizarse el cache de CDE. Esto se realiza ingresando al menú principal tools/refresh/CDA Cache 8 Referencias: http://www.vinzi.nl/media/CDE-introduction_V0_8.pdf http://www.tikalk.com/incubator/blog/creating-bugzilla-dashboard-%E2%80%93-hands-cdetutorial-%E2%80%93-fuse-day-3-session-summary http://www.youtube.com/watch?v=8YB9rdCzJIk http://www.youtube.com/watch?v=63n-6xdlrDA 9 Practico: Crear un dashboard que muestre en un grafico la cantidad de ingresantes por año académico, el cual permita hacer click en un año en particular, generando esta acción el llenado de una tabla que desglosa la cantidad de ingresantes por unidad académica. Es decir, la tabla debería mostrar el año académico seleccionado, las unidades académicas y la cantidad de ingresantes por cada una de estas. Detalles técnicos: - Layout: 2 columnas Componentes: un grafico barras, una tabla y un parámetro simple. Data Source: mdxQuery para el grafico y sqlQuery para la tabla. 10 Resolución: Paso 1: Seleccionar un layout de 2 columnas: Paso 2: Crear dos data source, uno para el grafico (mdx) y uno para la tabla (sql). - Data Source MDX: 11 - Data Source SQL: La consulta SQL va a recibir como parámetro, el año académico del grafico en el cual se hizo click, para llenar la tabla, a partir de este dato. 12 Paso 3: Seleccionar cada uno de los componentes necesarios y darles una ubicación en el layout. - Componente: Parameter (parámetro simple) - Componente: CCC Bar chart (gráfico de barras) 13 - Componente: Table component (tabla) Vista final del tablero 14