¿Qué es Business Intelligence?

¿Qué es Business Intelligence?¿Qué es exactamente Business Intelligence o Inteligencia de Negocio?. 
De forma general, el BI suele definirse como la transformación de datos de la compañia en conocimiento para obtener una ventaja competitiva. Si lo asociamos directamente a las tecnologías de la información, podemos definir Business Intelligence como el conjunto de metodologías, aplicaciones y tecnologías que permiten reunir, depurar y transformar datos de los sistemas transaccionales e información desestructurada (interna y externa a la compañia) en información estructurada para su explotación directa (reporting, análisis OLAP, mineria de datos, etc.) o para su análisis y conversión en conocimiento como soporte a la toma de decisiones sobre el negocio.
Para empezar a entender conceptos, nada mejor que un esquema básico que incluye los elementos mas comunes de un sistema BI...

 

EIS (Executive information system). Cuadros de Mando Integral. DSS (Decission Support System)

EIS (Executive information system). Cuadros de Mando Integral. DSS (Decission Support System)Soluciones que permiten visualizar, de una forma rápida y fácil, el estado de una determinada situación empresarial, presente o pasada, y que permite detectar anomalías o oportunidades. Aplicaciones de alto nivel que pretenden, mediante el acceso a las diferentes bases de datos de una empresa, ofrecer a sus directivos los elementos clave para que puedan tomar decisiones sobre la marcha de sus negocios. Generalmente el directivo accede a pantallas gráficas o cuadros de mando en las que se resumen los elementos más importantes que debe tener en cuenta para la toma de decisiones. Podrían contestar a la pregunta: ¿que necesito conocer ahora?.
Un Sistema de Información para Ejecutivos o Sistema de Información Ejecutiva es una herramienta software, basada en un DSS, que provee a los gerentes de un acceso sencillo a información interna y externa de su compañía, y que es relevante para sus factores clave de éxito.
La finalidad principal es que el ejecutivo tenga a su disposición un panorama completo del estado de los indicadores de negocio que le afectan al instante, manteniendo también la posibilidad de analizar con detalle aquellos que no estén cumpliendo con las expectativas establecidas, para determinar el plan de acción más adecuado...

 

Tabla Hechos Venta. Particionado en MySql.

Tabla Hechos Venta. Particionado en MySql.Antes de comenzar la implementación del proceso ETL para la carga de la tabla de Hechos de Ventas, vamos a realizar alguna consideración sobre el particionado de tablas.
Cuando estamos costruyendo un sistema de business intelligence con su correspondiente datawarehouse, uno de los objetivos (aparte de todas las ventajas de sistemas de este tipo: información homogenea, elaborada pensando en el analisis, dimensional, centralizada, estatica, historica, etc., etc.) es la velocidad a la hora de obtener información. Es decir, que las consultas se realicen con la suficiente rapidez y no tengamos los mismos problemas de rendimiento que suelen producirse en los sistemas operacionales (los informes incluso pueden tardar horas en elaborarse).
Para evitar este problema, hay diferentes técnicas que podemos aplicar a la hora de realizar el diseño fisico del DW. Una de las técnicas es el particionado.Pensar que estamos en un dw con millones de registros en una unica tabla y el gestor de la base de datos ha de mover toda la tabla. Ademas, seguramente habrá datos antiguos a los que ya no accederemos casi nunca (datos de varios años atras). Si somos capaces de tener la tabla “troceada” en segmentos mas pequeños seguramente aumentaremos el rendimiento y la velocidad del sistema.
El particionado nos permite distribuir porciones de una tabla individual en diferentes segmentos conforme a unas reglas establecidas por el usuario. Según quien realize la gestión del particionado, podemos distinguir dos tipos de particionado...

 

 

Ejemplo Talend para conectarnos a Sap

Ejemplo Talend para conectarnos a SapAntes de continuar con el proceso ETL para la carga de la tabla de Hechos de ventas, vamos a hacer una pausa para ver como utilizar Talend para conectarnos a Sap utilizando los componentes tSapConnection, tSapInput y tSapOutput. En nuestro proyecto, podriamos haber utilizado estos componentes para hacer la lectura de datos desde el ERP (pero hemos utilizado el componente tOracleInput para leer directamente de la base de datos).
Aunque el componente Sap de Talend es libre, para poder utilizarlo hace falta una librería Java proporcionada por Sap (sapjco.jar), que tendremos que tener instalada en nuestro sistema. Esta libreria solo se puede descargar de Sap si somos usuarios registrados (https://service.sap.com/connectors). La versión del sapjco que hemos instalado es la 2.1.8 (hay una posterior, la 3.0.4, pero con esa no funciona Talend).
La forma de instalar la libreria sapjco.jar es la siguiente...

Tabla Hechos Venta. Ajuste diseño fisico y procesos carga ETL. Contextos en Talend.

Tabla Hechos Venta. Ajuste diseño fisico y procesos carga ETL. Contextos en Talend.Vamos a desarrollar los procesos de carga de la tabla de hechos de ventas de nuestro proyecto utilizando Talend. Antes de esto, vamos a hacer algunas consideraciones sobre la frecuencia de los procesos de carga que nos van a permitir introducir el uso de un nuevo elemento de Talend, los contextos.
En principio, vamos a tener varios tipos de carga de datos:
- Carga inicial: será la primera que se realice para la puesta en marcha del proyecto, e incluira el volcado de los datos de venta desde una fecha inicial (a seleccionar en el proceso) hasta una fecha final.
- Cargas semanales: es el tipo de carga mas inmediato. Se realiza para cada semana pasada (por ejemplo, el martes de cada semana se realiza la carga de la semana anterior), para tener un primer avance de información de la semana anterior (que posteriormente se refrescara para consolidar los datos finales de ese periodo). La carga de una semana en concreto también se podrá realizar a petición (fuera de los procesos batch automáticos).
- Recargas mensuales: una vez se cierra un periodo mensual (lo que implica que ya no puede haber modificaciones sobre ese periodo), se refresca por completo el mes en el DW para consolidar la información y darle el status de definitiva para ese periodo. La ejecución es a petición y se indicara el periodo de tiempo que se quiere procesar.
Teniendo en cuenta esto, definiremos un unico proceso de traspaso al cual se pasaran los parametros que indicaran el tipo de carga a realizar. Para ello utilizaremos los contextos de Talend. Cada tipo de carga tendra un contexto personalizado que definira como se va a comportar el proceso...

El modelo Lógico de nuestro DW. Revisión. Construcción de un prototipo para validación.

El modelo Lógico de nuestro DW. Revisión. Construcción de un prototipo para validación.Antes de continuar con las siguientes fases del proyecto, se revisa el modelo propuesto y es aprobado. Se va a construir un prototipo para verificar su corrección y funcionalidad antes de pasar al diseño físico definitivo, el analisis del sistema ERP para la identificación de las dimensiones e indicadores y la construcción de los procesos ETL, que serán los que darán vida a nuestro DW (y que recordemos que sera una de las fases mas complejas y con mas carga de trabajo del proyecto).

La fase de construcción de un prototipo se podría obviar pero es interesante dedicar unas jornadas a la construcción de un pequeño prototipo con datos reales (o lo mas reales posible ) para que los usuarios puedan validar los resultados del diseño. De esta forma, validamos el modelo antes de empezar la tediosa tarea de construirlo fisicamente y llenarlo de datos desde nuestros sistemas operacionales u otras fuentes. En algunos proyectos, la construcción del prototipo se realiza en el momento de la venta del proyecto como una herramienta de ayuda a la toma de decisión de la compra...

 

Cubos OLAP (On-Line Analytic Processing)

Cubos OLAP (On-Line Analytic Processing)Cubos OLAP (On-Line Analytic Processing): Son las herramientas que se basan en la capacidad de analizar y explorar por los datos. Nos permiten cambiar el enfoque del “¿que esta pasando?” que podemos obtener a través de las herramientas de reporting al “¿por que esta pasando?”.
Para descubrir el “por que”, los usuarios pueden navegar y profundizar en los datos para analizar los detalles o patrones.Las herramientas OLAP nos proporcionan analisis interactivo por las diferentes dimensiones de los datos (por ejemplo, tiempo, producto, cliente, criterios geográficos, etc) y por los diferentes niveles de detalle (para la dimensión tiempo, habrá nivel de detalle año, trimestre, mes, dia).
Esto significaría pasar de la visión estática de los datos a una visión dinámica, donde podemos ir “navegando” por los datos, bajando en el nivel de detalle, cambiando la dimensión por la cual analizamos la información. El tipico ejemplo sería una tabla con los datos de ventas y margenes por delegación de una empresa, y cuando observamos un indicador de rentabilidad negativa, buceamos en los datos de esta delegación hasta dar con el producto que se esta vendiendo a precios de coste con margen negativo. Este sería el tipico ejemplo de los Cubos Olap y los visores multidimensionales que nos permiten “profundizar en los datos”. Nos permitirían contestar a la pregunta: ¿que sucedio y por que?...

Mas ejemplos de Talend. Ejecución de sentencias SQL construidas en tiempo ejecución.

Mas ejemplos de Talend. Ejecución de sentencias SQL construidas en tiempo ejecución.Después de llenar la dimensión Tiempo con los procesos ETL utilizando Talend, al revisar los registros de la tabla DWD_TIEMPO, comprobamos que para algunos años, la ultima semana del año se ha llenado con el valor 1. La explicación es que Java utiliza la normalización ISO para el número de semana, y esta nunca puede ser superior a 52. Por tanto, para algunos años, la ultima semana del año ha quedado registrada con el valor 1.
Este problema nos sirve de base para desarrollar nuestro seguiente proceso ETL, que ira encandenado a la generación de los registros de la dimensión tiempo, y que tendrá el objetivo de arreglar los registros que han quedado erróneos en la base de datos.
El proceso tendría los siguientes pasos:
1) Recuperación para cada año, del mayor número de semana registrado en la tabla: para ello, ejecutamos una sentencia SQL , utilizando el componente TMySqlInput del grupo Databases, Mysql)...

 

Exportación jobs en Talend.Planificacion procesos ETL.

Exportación jobs en Talend.Planificacion procesos ETL.Una vez concluido el desarrollo de los procesos para la carga del DW, la siguiente tarea sera la planificación de estos para su ejecución regular, de forma que vayan reflejando en el DW todos los cambios que se vayan produciendo en el sistema operacional ( modificaciones en los datos maestros y nuevos hechos relacionados con los procesos de negocio de ventas).
Los jobs que hemos definido usando Talend se podrían ejecutar a petición desde la herramienta, o bien a nivel de sistema operativo, utilizando la correspondiente herramienta (CRON en Unix/Linux, AT en Windows). Para ello es necesario generar los ficheros de scripts a nivel de sistema operativo.

Una vez concluido el desarrollo de los procesos para la carga del DW, la siguiente tarea sera la planificación de estos para su ejecución regular, de forma que vayan reflejando en el DW todos los cambios que se vayan produciendo en el sistema operacional ( modificaciones en los datos maestros y nuevos hechos relacionados con los procesos de negocio de ventas).
Los jobs que hemos definido usando Talend se podrían ejecutar a petición desde la herramienta, o bien a nivel de sistema operativo, utilizando la correspondiente herramienta (CRON en Unix/Linux, AT en Windows). Para ello es necesario generar los ficheros de scripts a nivel de sistema operativo...

Dashboard y Cuadros de Mando en Microstrategy 9. Utilizando documentos de Report Services (II).

 

Dashboard y Cuadros de Mando en Microstrategy 9. Utilizando documentos de Report Services (II).En nuestro primer ejemplo de documento del tipo tablero, vamos a intentar construir un cuadro de mando donde se resuma la evolución de un año en concreto viendo la información desde diferentes ambitos, en concreto, a nivel de Agente Comercial por un lado, a nivel de Producto y a nivel Geografico finalmente. Para cada uno de estos ambitos, tendremos una pestaña (y un conjunto de informes y graficos en cada una de ellas).
Para poder hacer esto, hemos preparado un lote de informes que, anexados al documento como conjuntos de datos, nos permitiran mostrar la información de la forma deseada...