Business Intelligence con Pentaho

junio 02, 2014

Hola amigos,

Tiempo que no escribo nada por aquí y hoy con un poco de tiempo quisiera compartirles un pequeño aporte sobre como realizar un proyecto de Business Intelligence con una herramienta que día a día se está haciendo conocida en nuestro Perú:  "Pentaho". Para esto es necesario que sepan algunos términos teóricos como ETL, Datamart, Datawarehouse., entre otros.

Hoy en día conocemos muchas herramientas que nos permiten realizar proyectos de Business Intelligence. Por un lado tenemos aquellas herramientas que nos permiten realizar las tareas de extracción, transformación y carga de data conocidas como ETL, entre las cuales tenemos: DataStage, SQL Integration Services, entre otras. Por otro lado tenemos también aquellas herramientas que nos permiten realizar cubos OLAP y explotar la información, como por ejemplo: SQL Server Analysis Services, SQL Server Reporting Services, Microstrategy, Tableau, entre otras.

Si bien estas herramientas son muy útiles en las grandes empresas de nuestro país y tienen muchísimas ventajas en cuanto a las inplementaciones de proyectos de Business Intelligence, tienen una particularidad especial: "Necesitan una licencia"; es decir un monto que las organizaciones deben pagar para poder empezar a usarlas. Cada herramienta tiene sus detalles y sus ventajas una sobre las otras, ya depende de las organizaciones evaluar que herramienta se acopla mejor a cada una de ellas, pero este es un tema complejo el cual sería un debate muy interesante para plantearlo en un próximo post. Es aqui donde deseo indicar que existe una segunda posibilidad, una segunda chance para realizar un proyecto de Business Intelligence en nuestras empresas sin pagar una licencia, ¿Cómo?. La respuesta es simple, usando software libre, en este caso una herramienta muy potente conocida como Pentaho.

Pentaho es una herramienta de software libre que en los últimos años a crecido notablemente y que no tiene nada que envidiar a las herramientas de licencia pagada; incluso no solo tiene una suite de Business Intelligence, sino tambien una suite para realizar Minería de Datos. Entonces viene la pregunta ¿Porqué la gran mayoría de las empresas no lo usa?: la respuesta a mi entender es simple: "SOPORTE". Por ser un software open source entonces no tiene el soporte que un software pagado tendría; además para su instalación, desarrollo y puesta en producción se debe investigar bastante debido a que no hay tutoriales que puedan dar respuesta a las dudas que puedan surgir en cuanto a su uso. Sin embargo a juicio personal, si ya tenemos clara nuestra teoría de Business Intelligence, la investigación sobre el uso de la herramienta se puede concretar en unas semanas y con ello gran parte de nuestras dudas serían aclaradas.

Ahora , pasaré a explicar un poco sobre la arquitectura de un proyecto de BI usando Pentaho; un breve resumen que nos puede ayudar a tener una idea de cuales son los pasos a seguir y los software a descargar para realizar un proyecto de Business Intelligence usando esta herramienta, evitándonos asì la tediosa tarea de investigar que producto de Pentaho es el que nos sirve para realizar un proyecto de Inteligencia de Negocios. Como lo mencioné en el párrafo anterior, Pentaho es una herramienta de BI muy poderosa ya que tiene una suite completa incluyendo herramientas para desarrollar nuestros ETL, nuestros cubos OLAP y explotar nuestra información a través de informes analíticos o Dashboards.

 

ETL - Kettle (Pentaho Data Integration)

La primera herramienta que debemos descargar y usar es Kettle de Pentaho. Como su nombre lo describe, Kettle es una herramienta que permite integrar nuestra información; es decir, mediante esta herramienta se puede realizar todos nuestros procesos ETL. Kettle permite extraer data de diversas fuentes de información ya sea archivos de texto, excel, csv o bases de datos como Oracle, Mysql, Postgresql, SQL Server, Informix, entre otras mas. Ademàs tiene una gama de tareas que nos permiten transformar la informaciòn; algunas de estas tareas son joins, agregaciones, càlculos, google analytics, ordenamiento, selecciòn, envìo de mails, entre otras tareas mas. Finalmente Kettle tambièn nos permite guardar informaiciòn transformada en las diversas bases de datos ya mencionadas. Además nos permitirá crear una secuencia de procesos conocidos en el mundo de BI como "Jobs" y programarlos de manera que corran secuencialmente a una hora deseada.

Tener en cuenta que para realizar los procesos ETL ya debemos haber definido cuales serán nuestras fuentes de datos (archivos, excel, o bases de datos transaccionales OLTP); así como nuestra base de datos final denominada Modelo Dimensioanl (Datamart o Datawarehouse) hacia donde queremos cargar la información.

A continuaciòn muestro el entorno de Kettle donde se puede apreciar una secuencia de procesos que seràn ejecutados uno despuès de otro:

20140602-kettle_sequence.jpg

 

A su vez cada proceso puede llamar a otros procesos como se muestra en la imagen siguiente:

20140602-kettle_transformer.jpg

 

Finalmente, cada proceso puede llamar a una serie de tareas (Jobs) que serán ejecutadas en forma secuencial, tal y como se muestra en la imagen:

20140602-kettle_job.jpg

 

Pentaho Schema Workbench - (Mondrian)

Luego de realizar nuestros procesos ETL, debemos de llevar nuestra información a cubos OLAP; para ello Pentaho nos provee una herramienta muy poderosa que nos permitirá realizar ello llamada Schema Workbench, la cual tambien debemos descargarla para empezar a usarla. Esta herramienta de por sí lleva instalada otro software denominado Mondrian (el cual ya no debemos de descargar) que es el que permitirá realizar los cubos OLAP. Esta herramienta nos permitirá crear nuestro cubo OLAP proveniente de la Fact Table; asi como las Dimensiones, Jerarquías y Medidas necesarias que previamente ya debemos haber definido en nuestro Modelo Dimensional. Algo muy importante aquí es que para trabajar con Schema Workbench debemos de conectarnos a nuestra fuente de datos donde tengamos nuestro Modelo Dimensional ya definido. Para ello Schema Workbench nos permite conectar a diversas bases de datos en las cuales estará nuestro Modelo Dimensioanal; estas bases de datos pueden ser Oracle, Mysql, Postgresql, SQL Server, entre otras mas.

A continuación muestro una imagen del entorno de Schema Workbench con un cubo denominado DatamartVentas y las Dimensiones, Jerarquías, Niveles y Medidas que he creado para dicho cubo:

20140602-workbench.jpg

 

Una vez que hayamos definido nuestros Cubos con las Dimensiones, Jerarquías, Niveles y Medidas necesarias; Schema Workbench guardará toda esa información en un archivo XML el cual debemos de publicar a la web de Pentaho. Para ello simplemente vamos a Files -> Publish y nos saldrá la siguiente ventana de diálogo donde debemos de configurar las variables web para publicar nuestro cubo en la web. A continuación muestro la imagen de la ventana en la cual debemos ingresar las variables web correctas:

20140602-publishworkbench.jpg

 

Pentaho biserver-ce 5.0.1 - stable

Pentaho biserver es el entorno web en el cual podremos explotar la información que se encontraba en el Cubo publicado en el paso anterior desde la herramienta Schema Workbench. Este entorno web de Pentaho es muy rico ya que podemos hacer diversos reportes de acuerdo a nuestras necesidades, así como tableros de control (Dashboards) que nos ayuden a tomar una mejor decisión en base a la información que manejamos en nuestras organizaciones. Para ello Pentaho biserver cuenta con el Tomcat el cual nos va a permitir levantar la web a través del puerto 8080.

A continuación muestro la imagen de inicio de sesión de Pentaho Web:

20140602-pentahowebinicio.jpg

 

Una vez que ingresamos a Pentaho Web podemos no solo crear reportes y dashboards sino también administrar la página, crear nuevos usuarios y roles. A continuación muestro la imagen de Pentaho Web Home y otra imagen donde se puede apreciar la Administración de privilegios y roles respectivamente:

20140602-pentahoweb_home.jpg

 

20140602-pentahoweb_administracion.jpg

Regresando a la forma de como vamos a explotar nuestra información; el cubo que se resumía en un archivo XML publicado a través de Schema Workbench debe verse reflejado en nuestra Web de Pentaho. Como mencione líneas arriba Pentaho nos permite aplicar diversas maneras de explotar la información una de ellas es a através de "JPivot" que es una herramienta que nos permite ver la información a través de celdas, filtros, filas y columnas agrupadas.

A continuación muestro una imagen donde se verifica que el cubo se encuentra publicado en nuestra Web de Pentaho

20140602-esquemapublicado.jpg

 

La siguiente imagen muestra como se está explotando la información a través de la herramietna JPivot en nuestra Web de Pentaho pudiendo llegar hasta un nivel de día, ciudad y productos vendidos:

20140602-pentahoweb_jpivot.jpg

 

Pentaho tambien nos proporciona otra herramienta similar a la anterior denominada Pivot4J Analytics la cual permitirá explotar la información de una forma un tanto mas dinámica. A continuación muestro una imagen usando dicha herramienta:

20140602-pentahoweb_4jpivot.jpg

 

Como mencione líneas arriba además de explotar la información analíticamente a través de reportes dinámicos, Pentaho también nos permite explotarla mediante dashboard. Para ellos podemos usar la herramienta Salku Analytics o construir nuestro propio Dashboard con la herramienta CDE Dashboad.

La siguiente imagen es un dashboard proporcionado por la herramienta Salku Analytics y muestra el porcentaje de ventas realizadas por cada línea de producto vendido durante los años de venta:

20140602-pentahoweb_salkuanalytics.jpg

 

La herramienta CDE Dashboards nos permite realizar nuestros propios tableros de control, lo cual con una ligera practica y viendo los tutoriales podemos aprender muy rápidamente a construir un Dashboard.

20140602-pentahoweb_cde.jpg

Bien por el momento esto es todo lo que puedo resumirles en cuanto a como realizar un proyecto de Business Intelligence usando Pentaho (Kettle, Mondrian, Suite BI). Si quieren descargar dichos programas basta con que registren en la web de Pentaho y lo descarguen desde allí: http://www.pentaho.com/

Como se habrán dado cuenta solo he explicado la arquitectura para hacer un proyecto de Business Intelligence usando Pentaho; sin embargo no he entrado a detalle sobre como funciona cada herramienta ni como debemos de configurar cada una de ellas. Esta es una tarea de investigación la cual debemos de realizar.

 

BI is the power...!!!

 

Momento del marketing: Pueden contactarme vía este medio o los descritos abajo para brindarles una capacitación de Pentaho o temas relacionados a Business Intelligence:

Celular:  994840916

Correos: rhmoreno@pucp.pe, rhmorenoreyes@gmail.com

Rolando

 

 

Esta Copia de Windows no es Original

agosto 14, 2011
Hola nunca me había pasado, pero estos últimos días a cada rato me salía notificaciones que mi Windows 7 no era original llevando incluso a que mi pantalla de escritorio se ponga totalmente negra. Lo cual me cansó; por ello decidí buscar que alternativa y encontré esta solución en la web:

Desconectarse de Internet y Denegar permisos

Lo primero que tenemos que hacer es Desconectarnos de Internet, Reiniciar y realizar los siguientes pasos. Si no lo hacemos desconectados de Internet, es posible que al día siguiente vuelva el Mensaje de Copia No Original de Windows.

1. Inicio – Programas- Accesorios – Símbolo de Sistema (Botón Derecho) - Ejecutar como Administrador

2. Ejecutar comando: takeown /f “%windir%\System32\Wat\*”

3. Ejecutar comando: icacls “%windir%\System32\Wat\*” /deny *S-1-1-0:F

Con esto hemos bloqueado la acción del WAT (Windows Activation Technologies)
Luego procedemos a hacer lo siguiente para volver a activarlo de manera segura y permanente…

Conectarse a Internet y Activarlo

1. Descargar Windows 7 Extreme Edition (Safe) 3.503 Descargar Download

2. Ejecutar y abajo marcamos la opción “Unlock” del “Trial Reset”.

Se nos activa el Botón “Activate”, Clickamos y se Reinicia.

3. Ejecutar de nuevo el programa descargado, en la sección “Certificate” clickamos “Activate”.

4. Reiniciar y Listo

Espero te ayude como me ayudó a mi y ya no tengas que estar cerrando las odiosas notificaciones de Windows 7.

Un abrazo,

RoLaNdO

Business Intelligence en Perú

agosto 08, 2011

Una de las ramas de la informática a la cuales me inclinado en estos últimos años de carrera universitaria y experiencia profesional es la inteligencia de negocios. Esta desde el punto de vista empresarial es entendida como una herramienta única que sirve de apoyo a la toma de decisiones, especialmente a gerentes, jefes de equipos o personas que desempeñen un cargo alto en la empresa; sin embargo, ¿Están las empresas peruanas capacitadas para poder explotar realmente las herramientas de Inteligencia de Negocios?. Es una pregunta que siempre me he hecho y la cual me gustaría ahondar mucho mas en el tema. A continuación subrayo una serie de ideas sobre lo aprendido en estos cortos años de experiencia profesional en lo que inteligencia de negocios se refiere.

¿Qué es BI?
La inteligencia de negocios (Business Intelligence) es un concepto de la ingeniería Informática, cuyo correcto uso ayuda a la excelente toma de decisiones en una empresa. Existen numerosos casos en los cuales las empresas se han visto beneficiadas de la Inteligencia de Negocios y muchos otros cuyo mal uso han empeorado los procesos de negocios o han hecho que la toma de decisiones se realice de manera tardía.

Proceso de un desarrollo en BI
A mi entender un buen desarrollo de inteligencia de negocios involucra tres partes importantes:
1) Un óptimo estudio del negocio.
2) Un excelente proceso de ETL.
3) Realizar los reportes que ayuden a los usuarios a obtener una excelente toma de decisiones.

Óptimo estudio del negocio
Inicialmente, como todo software a elaborar, es necesario conocer el negocio de principio a fin. En el caso de una aplicación de inteligencia de negocios debemos de saber exactamente que es lo que necesita el usuario; para esto se debe tener un profundo análisis del negocio y una vez sabido esto recién podremos pasar al siguiente paso, que es la obtención de la data.

Proceso de ETL
El proceso de ETL ( Extracción, Transformación y Carga) es un paso muy importante en el desarrollo de un aplicativo de inteligencia de negocios ya que la toma de decisiones en una empresa se harán de acuerdo a la data extraída, la cual puede ser extraída desde un archivo de texto, una hoja de cálculo, un archivo log, procesos ftp, bases de datos, etc. Depende mucho de cuan grande sea la empresa, si la empresa es pequeña lo mas probable es que la data sea obtenida de archivos de texto u hojas de excell; sin embargo si la empresa es una multinacional lo mas probable es que la data se obtenga de diversas bases de datos denominadas OLTP. Así entonces el proceso de ETL se torna complejo conforme la empresa sea de mayor magnitud.

Por otro lado, existen muchas herramientas que facilitan el proceso de ETL . Las herramientas que he aplicado ya sea en proyectos universitarios o en el ámbito profesional son Ketle de Pentaho y DataStage (mi favorita), las cuales haré un profundo análisis de cada una en una futura publicación.

Desarrollo de reportes
El objetivo de cualquier aplicación de BI es que los usuarios puedan ver la los reportes que le ayuden a tomar decisiones de su empresa. Los reportes; si bien lo he colocado como un tercer paso; deben de ser propuestos al inicio. Lo que quiero dar a entender es que tanto el usuario como el desarrollador del aplicativo, inicialmente, deben de coordinar que reportes se va a obtener y que decisiones se pueden tomar en base a estos. Si ya se tiene un prototipo de los reportes entonces el desarrollo del ETL y de los reportes mismo se podrá realizar de manera rápida. Algunos usuarios prefieren que se integren los reportes en web, otros prefieren ver en hojas de cálculo; esto ya varía de acuerdo a las políticas de la empresa. Hasta ahora he creado reportes en Reporting Services y Microstrategy, considero que ambas herramientas son de gran ayuda para la toma de decisiones; sin embargo a mi opinión, he visto de Microstrategy nos presente una mayor gama de funciones para la elaboración de nuestros reportes ya que permite el uso de estos con mayor dinámica (la elección de la herramienta también depende de las políticas de la empresa).

Ahora hablaré sobre la inteligencia de negocios en nuestro país. El desarrollo económico ha permitido que, hoy en día, el Perú se encuentre en la mira de muchas empresas las cuales están siguiendo una tendencia, usar la inteligencia de negocios como una herramienta que permita tomar una buena decisión. Son muchas las empresas grandes que usan BI como una alternativa importante en su día a día, pero ¿Pueden las pequeñas empresas usar BI como una herramienta que le permita obtener ganancias a mediano o largo plazo?. Mi respuesta es Sí. Sin embargo; muchas de ellas no lo aplican aún ya que ven a esta como una inversión que implica mucho dinero o simplemente desconocen de su uso y de los beneficios que este le puede proporcionar. Entonces, ¿Como solucionar esto?, existe dos términos grandiosos "Open Source" y "difusión de la información". Las empresas que por temor no desean invertir en BI pueden inclinarse al desarrollo de Open Source reduciendo los costes que este implica; Pentaho es una buena opción que actualmente es usada por muchas empresas para realizar sus reportes en BI. Por otro lado, al referirme a difusión de la información, trato de hacer hincapié en las empresas, que vean a BI no como una pérdida de dinero sino como una inversión para la generación de mayor utilidad para su negocio y den una mirada a los diferentes casos de éxitos que se encuentran en la web.

A continuación les adjunto un caso de éxito de los muchos que existen en la web:
Caso Inmobiliario Ferrocarril

Este es primer artículo en cuanto a BI, continuaré escribiendo los próximos días.

BI is the Power!!!