2. DESARROLLO DE SOLUCIONES CON LITEBI

2. DESARROLLO DE SOLUCIONES CON LITEBI

En esta sección trataremos de ilustrar de qué manera se diseña e implementa una solución de BI con Litebi siguiendo los tres pasos fundamentales a través de sus diferentes módulos:

  • Definir modelos analíticos con Litebi: Diseño de cubos y dimensiones.
  • Cargar datos en esos modelos analíticos.
  • Cómo utilizar las herramientas de análisis.

Cabe destacar que la información contenida en este apartado estará destinada a consultores y partners encargados de desarrollar soluciones de BI con Litebi. En el siguiente apartado se mostrara la aplicación desde la perspectiva del uso a cargo del cliente.

2.1 Definir: liteSpace

Yaestudio

Internamente Litebi utiliza los conceptos tradicionales del modelado dimensional en Business Intelligence, veamos algunas definiciones:

  • Cubo: Elemento fundamental de liteSpace. Conjunto de datos organizado orientado al análisis, estructurado de forma dimensional. Los cubos están formados por métricas (measures) y dimensiones. Ej. Cubo de ventas, Cubo de contabilidad…etc.
  • Métrica: Cantidades numéricas que deseamos controlar en un cubo. Es lo que aparece en las celdas al analizar un cubo. Ej. Cantidad vendida, Cantidad facturada, Precio unitario…etc.
  • Dimensión: Punto de vista de la información que deseamos en el análisis. Ej.  Dimensión geográfica (¿dónde sucedió la venta?), Dimensión Cliente (¿a quién le vendí?), Dimensión Producto (¿Qué vendí?). Las dimensión pueden ser compartidas (entre varios cubos) o embebidas (pertenecientes a un sólo cubo).
  • Jerarquías: Una dimensión puede tener una o varias jerarquías, una jerarquía es un conjunto de niveles cada uno expresando un nivel de profundidad en la información. Permiten analizar la información de forma agrupada (ventas por año) o al detalle (ventas diarias). Ej. La dimensión tiempo está formada por la jerarquía “Por Trimestre”, que tiene los niveles “Año > Trimestre > Mes > Día”. Es posible separar cada una de las jerarquías definidas en una dimensión compartida como dimensiones compartidas nuevas y así ganar potencia y flexibilidad a la hora de analizar los datos.

En el centro de Litebi se encuentra liteSpace, que es como un «espacio analítico» o un «Data Warehouse gestionado». La idea es bien sencilla, ser capaz de ofrecer las ventajas de un Data Warehouse clásico (responder a las necesidades analíticas del cliente, integrar información de cualquier origen, dar cobertura a toda la organización, etc.) pero sin la complejidad, el riesgo y el coste qué este tipo de proyectos suelen conllevar.

Gracias al modelo SaaS se elimina la necesidad de gestionar el Data Warehouse por el cliente (y el hardware, y el despliegue…), y en parte gracias a que se tiene una tecnología capaz de permitir a cualquiera definir el «qué» quiere analizar a través de interfaces web (modelos dimensionales) y dejar que sea Litebi el que haga todo el trabajo duro entre bastidores (construcción de modelos, optimización de los mismos, diseño de metadatos…etc.).

Devonn 

2. DESARROLLO DE SOLUCIONES CON LITEBI

2.1.1 Definiendo un cubo

Para definir cubos en Litebi, debemos situarnos sobre la pestaña Datos de nuestro LiteSpace y utilizar el editor de cubo. Un cubo coincide a grandes rasgos con el concepto de “tabla de hechos” en un modelo en estrella tradicional.

2. DESARROLLO DE SOLUCIONES CON LITEBI

Una vez creado el nuevo cubo, el funcionamiento es muy sencillo:

– A la izquierda tenemos un árbol con la estructura del cubo, a la derecha las propiedades del elemento seleccionado.

– Podemos cambiar el nombre del cubo y su definición.

– Podemos crear nuevas métricas y definir para cada métrica:

  • Nombre y descripción
  • Formato: Sigue el estándar de Java (#,###,###.0)
  • Agregador: Las formas de agregación que deseamos para la métrica al totalizarla (que se sume, que se haga la media de los hijos, que se escoja el máximo o el mínimo de los hijos)
  • El tipo de datos (habitualmente Integer o Number para una métrica).

– Podemos crear dos tipos de dimensiones:

  • Compartidas: Indicamos que el cubo utilizará una dimensión compartida (definida aparte en la carpeta Dimensiones, ap. 3.1.2) y fijamos un alias para el uso. Es posible utilizar una misma dimensión en un cubo más de una vez (ej: Fecha de venta, Fecha de entrega utilizando la dimensión compartida Tiempo).
  • Embebidas: Son dimensiones que sólo existen para un cubo en concreto. Es habitual utilizarlas para definir propiedades (Ej. Estado de una factura) o simplemente para simplificar el modelado. Al crear una dimensión embebida podemos:
  1. Definir su nombre y descripción
  2. Especificar si tiene “Total” es decir un elemento superior que totalice toda la estructura actuando cómo cúspide de la jerarquía
  3. Una serie de niveles de detalle que forman una única jerarquía. Para cada nivel podemos definir

a) Nombre y descripción

b) Tipo de datos del nivel (de la columna código)

c) Si tiene columna descripción (siempre es de tipo String). Para más información sobre las columnas código y las columnas descripción de un nivel ver edición de dimensiones compartidas.

d) Además cada nivel puede tener una serie de propiedades asociadas (Ver edición de dimensiones compartidas)

2. DESARROLLO DE SOLUCIONES CON LITEBI

Miembros calculados y Sets: Permiten realizar cálculos avanzados y cálculo de conjuntos sobre los objetos del cubo, utilizan el lenguaje MDX (Multidimensional Expressions) y es posible definir desde cálculos sencillos (Facturación = Precio unitario * Cantidad vendida) hasta fórmulas complejas (Incrementos entre periodos de tiempo, porcentajes del total, y un amplio etc.). La edición de miembros calculados requiere de un conocimiento del lenguaje MDX a priori (aunque con la ayuda del editor de fórmulas se simplifica) y queda fuera del ámbito del presente manual. Aquí el manual sobre el lenguaje: MDX Language Reference http://msdn.microsoft.com/en-us/library/ms145595.aspx

2.1.2 Definiendo una dimensión compartida

Desde el Diccionario de Datos de Litebi es posible definir dimensiones compartidas que serán utilizadas por diferentes cubos. Típicamente en los proyectos hay dimensiones (Estructuras jerárquicas) que son utilizadas en varios cubos (sets de datos) cómo por ejemplo la dimensión temporal.

Es recomendable siempre que sea posible crear dimensiones compartidas para los cubos, ya que incrementa la facilidad de trabajo en el análisis de éstos.

2. DESARROLLO DE SOLUCIONES CON LITEBI

  1. Definir cuál es el nivel base de la dimensión.
  • El nivel base es el nivel de máximo detalle de la dimensión, el que posteriormente se utilizará para relacionar la dimensión con el cubo. o
  • Ej. En una dimensión temporal el nivel base podría ser el día, si en el cubo tenemos la información a nivel de día.
  1. Crear los niveles que van a ser usados (independientemente de las jerarquías que posteriormente los agrupen).
  • Ej. Año, Trimestre, Mes, Día de la semana, Semana del año, Quincena…etc.
  • Al definir estos niveles hay que tener en cuenta que un nivel tiene dos tipos de campos
  • Campo Id:

– Es obligatorio.

– Puede ser de cualquier tipo de datos.

– Define al nivel.

– En el nivel “Producto” sería el “Código de producto” en el nivel “año” sería el número del año “2007”.

  •  Campos Descripción:

– Es opcional.

– Siempre es de tipo String.

– Si existe es utilizado para mostrar el elemento al usuario.

– Si no existe se utiliza el campo Id para mostrar el elemento al usuario.

– Ej. En el nivel “producto” sería el “Nombre del producto”, pero en un nivel “año” no sería necesario.

Es importante tener claros estos conceptos de cara a cargar datos en liteSpace a través de liteIntegrator.

  1. Definir las jerarquías: Una vez creados los niveles que van a utilizarse en la dimensión, se definen las jerarquía que los van a agrupar.
  • Una dimensión puede tener tantas jerarquías como se desee, para dar más alternativas de análisis al usuario.
  • Toda dimensión ha de tener al menos una jerarquía.
  • Todas las jerarquías incluyen el nivel base cómo máximo nivel de detale.
  • Ej. Jerarquía “Por Trimestre” formada por los niveles “Año > Trimestre > Mes > Nivel base día”

2. DESARROLLO DE SOLUCIONES CON LITEBI

2.2 Cargar: liteIntegrator

Litebi cuenta con una potente herramienta de ETL a la que llamamos liteIntegrator, que consta de una parte que se ejecuta en el lado del cliente, la cual se apoya en la fantástica herramienta open source Kettle, y una capa de servicios web en el lado de Litebi.

Es una herramienta que sirve para tomar datos de cualquier origen, mapearlos y cargarlos en los diferentes modelos analíticos definidos en Litebi para un espacio privado del usuario, además permite configurarlo de tal manera que los datos sean cargados diariamente, para siempre tener datos actualizados en los modelos analíticos.

Con Litebi el objetivo es construir los procesos que obtengan la información de los orígenes deseados y los organicen de la forma deseada de manera que éstos puedan ser cargados en los cubos y dimensiones de liteSpace.

Los problemas que pueden aparecer a la hora de construir procesos de integración son de diversa índole, así que se centrará aquí el funcionamiento principal de la herramienta.

2.2.1 Instalación de liteintegrator

Para instalar liteintegrator hay que seguir los siguientes pasos:

  • Tener instalada una máquina de java de versión igual o superior a las 1.6.
  • Descargar la herramienta open source base de liteintegrator (Kettle/Pentaho Data integration), desde: http ://sou rcefo rge.n et/p ro jects/pe ntaho/
  • Descargar el plugin de Litebi para Kettle de la dirección https://app.litebi.com/plugin/plugin.zip
  • Descomprimir el plugin en el directorio de instalación de Kettle, en /libext, de forma que el contenido del archivo quede en este directorio.
2.2.2 Funcionamiento de liteintegrator

Para ver un funcionamiento completo de Kettle lo recomendable es su propia y extensa documentación:

http://wik¡.pentaho.com/d¡splav/EAI/Latest+Pentaho+Data+Integrat¡on+(aka+Kettle)+Documentation

En resumen, Kettle es una completa herramienta de ETL que utiliza dos tipos de procesos: [1]

  • Transformations: Hacen el trabajo base de lectura, transformación, limpieza
    filtrado, etc… de los datos. Con el plugin de Litebi son capaces de comunicarse con la capa de servicios web de Litebi para cargar datos y obtener información de liteSpace.
  • Jobs: Coordinan la ejecución de otras transformaciones, definen el flujo de ejecución global de los procesos.

Cómo consejos básicos de trabajo con Kettle:

  • NO utilizar el repositorio de transformaciones, es contraproducente, es preferible almacenar las transformaciones y jobs cómo ficheros de XML.
  • Construir transformaciones breves y ordenadas.
  • Utilizar los JOBS para controlar el flujo completo de ejecución.

Con Litebi el objetivo es construir los procesos que obtengan la información de los orígenes deseados, los organicen de la forma deseada para cargarlos en los cubos y dimensiones de liteSpace.

2.2.3 Paso de Output a Litebi

Además de todos los pasos de lectura, transformación, lookup, etc., de Kettle el paso fundamental para cargar datos a Litebi es el “Output a Litebi”:

  • Permite asociar los campos recibidos en la transformación a la estructura de un cubo o una dimensión en liteSpace de un espacio privado, para ello se necesita el usuario y clave del cliente.
  • Una vez los campos están correctamente asociados, Kettle es capaz de subir los datos a los cubos y dimensiones quedando estos listos para su análisis.
  • La IP a utilizar para cargar datos al entorno de Litebi es: “app.litebi.com”
  • Se puede configurar el número de datos por paquete de envío, por defecto está de 1000 datos por paquete.
  • Es posible seleccionar el modo de carga: Standard si es la primera vez que se produce la carga, Actualizar datos cuando ya se ha hecho alguna carga y solo queremos añadir los registros nuevos, o Borrar datos primero para cargar totalmente los datos de nuevo en las estructuras de datos.

2. DESARROLLO DE SOLUCIONES CON LITEBI

2.3 Análisis: liteExplorer y liteMonitor

2.3.1 liteExplorer

El funcionamiento es muy sencillo, al explorar un cubo o reporte (vista de cubo) se abre liteExplorer quedando en el panel izquierdo disponibles las dimensiones que conforman el cubo y que es posible utilizar para el análisis.

2. DESARROLLO DE SOLUCIONES CON LITEBI

Éste panel tiene tres áreas:

  • Filtros: Dimensión que no se están visualizando en la vista pero sobre las que es posible seleccionar filtros (acotar la información que se ve). Ej. No deseo ver los años en filas o columnas, pero deseo ver datos únicamente del año 2008.
  • Columnas: Dimensiones que deseo ver en la vista del cubo cómo columnas.
  • Filas: Dimensiones que deseo ver en la vista del cubo cómo filas.

Edición de Filtros: Sobre cualquier dimensión es posible activar (mediante botón derecho del ratón) los filtros, pudiendo seleccionar los elementos de la dimensión que quiero utilizar en la vista.

Además con esta herramienta se da la posibilidad de generar gráficos con respecto a los datos observados en el Visor Olap y además, si existen datos geográficos, es posible obtener un mapa que represente estos datos, para ello se utiliza el servidor de mapas GeoServer (Explicado más adelante).

2.3.2 UteMonitor

Con LiteMonitor es posible crear cuadros de mando, con los datos cargados en Litebi, en minutos y modificarlos en tiempo record, todo desde una sencilla interfaz web.

2. DESARROLLO DE SOLUCIONES CON LITEBI

  • Cada cuadro de mando está asociado a una vista o informe.
  • La vista o informe asociada puede ser importada o creada desde LiteMonitor.
  • En el panel de la izquierda aparecerá en forma de árbol las diferentes vistas asociadas al tablero de los cuadros de mando.
  • Se podrá decidir posición y tamaño de cada cuadro de mando.
  • Se tiene la opción de vista previa.

Como conclusión este apartado, en la Figura 75 podemos observar el diagrama de servicios de Litebi, algunos ya implementados y otros de implementación futura.

2. DESARROLLO DE SOLUCIONES CON LITEBI

Publicaciones Similares