BI,  Pentaho,  postgresql,  powerbi

Herramientas Proyecto Business Intelligence

 

Buenos días, con este POST pretendo para la gente que está empezando su carrera profesional como los que ya tienen experiencia en diferentes tecnologías y quieren conocer alternativas, dar una explicación de las tecnologías que uso en mi día a día y porque las elegí.

Todo proyecto de Business Intelligence tiene en común:

  • Orígenes
  • Procesos ETL
  • Un data warehouse
  • Explotación de los datos

Los orígenes de datos

Los orígenes de datos son todas las herramientas que contienen información y que negocio (los analistas de datos de cada departamento) necesitan tener para evaluar, analizar, planificar y tomar decisiones. Cuantos más orígenes más información de diferentes herramientas, más conocimiento y una probabilidad más alta de tomar buenas decisiones convirtiendo a la empresa en una “Empresa Data Driven”.

Los orígenes de datos tradicionalmente son las bases de datos transaccionales que registran el trabajo diario de la empresa conocidos como ERP (enterprise resource planning). A la información que ofrecen los ERP se les puede añadir información extra proveniente de Ficheros Excel, de herramientas como Analytics y Adwords, datos del INE para sacar estadísticas etc… incluso se pueden tener varios ERP en una misma empresa y poder hacer un análisis de ambos a la vez.

Procesos ETL (extracción, transformación y carga)

Los ETL son los procesos/programas que cuando se ejecutan importan la información de todos los orígenes definidos como los ERP, ficheros excel etc… Estos procesos son los responsables de acceder a los datos, trabajarlos para unificar y centralizar todos los datos en una misma base de datos y normalizar la información para ser explotada de una manera rápida, fiable, cómoda e intuitiva con herramientas de explotación de datos como powerBI

Los procesos ETL es lo más importante en un proyecto de Business Intelligence por ser los responsables de validar la información, un fallo en estos procesos puede ofrecer información errónea (por ejemplo más facturación de la real) y además ocupan el 70% del tiempo invertido en la mayoría de proyectos.

Pentaho Data Integration – Kettle

Enlace: https://community.hitachivantara.com/docs/DOC-1009855-data-integration-kettle

Pentaho Data Integration (PDI), cuyo nombre en clave es Kettle, es una de las herramientas o componentes de Pentaho Suite que permite que se utilicen técnicas ETL, es decir, poder implementar procesos de extracción, transformación y carga de datos.

La ventaja de esta herramienta respecto a usar lenguajes de programación como JAVA es que nos ahorramos escribir muchísimas líneas de código siendo mucho más rápido para programar estos procesos, además, es mucho más visual por lo que para mantener estos procesos es mucho más cómodo.

Funciona con “cajitas” donde cada caja tiene su función como por ejemplo leer un fichero, consultar una base de datos, escribir en una tabla, convertir texto en mayúsculas…

Aquí se muestra como se descarga de una URL un fichero CSV y después ese fichero se vuelca a una tabla de base de datos llamada ds_criteo_api

¿Porque uso Pentaho Data Integration?

Es una herramienta muy potente, es gratuita, funciona en cualquier sistema operativo que tenga instalado JAVA y es ¡¡¡¡GRATIS!!!! esta palabra suele gustar mucho a los clientes cuando preguntan cuanto cuesta Pentaho

El Data warehouse o Datamarts

El data warehouse o datamarts es la plataforma donde se almacena toda la información procesada y normalizada para ser explotada. Estos sistemas de almacenamiento de datos se alimentan de datos gracias a los procesos ETL y es la base para cualquier herramienta de explotación de datos.

El Data warehouse es muy importante ya que tener la información procesada y centralizada hace que cualquier informe tenga la misma información, no importa la plataforma de explotación que se use, los datos siempre serán los mismos por lo que la información es veraz.

Los beneficios del data warehouse son:

  • Facilidad de acceso
  • Ventaja competitiva por dar información en tiempo real
  • Productividad a la hora de tomar decisiones
  • Agilidad respecto a la competencia que no dispone de un data warehouse
  • Inteligencia del negocio ya que se puede medir todo de una forma rápida y automatizada sin tener que trabajar pesados ficheros Excel como se hacía tradicionalmente

PostgreSQL como Data warehouse

Enlace: https://www.postgresql.org/

Utilizo postgre por ser una de las mejores bases de datos gratuitas que dan muy buenos resultados y además muchos servicios en la nube como Amazon Web Services (AWS) o Google Cloud Platform (GCP) tienen incluido PostgreSQL en su catálogo de productos por lo que se obtiene un ahorro considerable al no tener personal de sistemas manteniendo la base de datos.

También escogí PostgreSQL respecto a MySQL por tener más comandos SQL como el comando WITH, la concatenación de campos o la conversión de tipos de datos usando “campo:varchar”

Ejemplo de consulta SQL con el comando WITH sobre el datawarehouse

Presentación de los datos

Se dice que “si el trabajo no se ve es porque no se ha trabajado”. Después de tener toda la información centralizada es hora de explotar esa info y para ello hay multitud de herramientas desde la más básica como un cliente SQL a una más completa como herramientas de análisis tipo PowerBI o Tableau.

Al cliente no le importa la tecnología que uses para los ETL o para el Datawarehouse, le es indiferente que uses Big Data, sistemas transaccionales o ficheros Excel. Ellos solo entiende de informes y presentación de datos, no importa que te “curres” unos procesos complejos y completos si cuando presentas los datos los haces mal, no transmiten información o simplemente nadie usa los informes porque solo el programador los entiende.

Pentaho Reporting

Para utilizar Pentaho Reporting hay que tener instalado un servidor de Pentaho y utilizo esta herramienta para ofrecer a negocio informes que se puedan descargar como ficheros Excel que tengan todas las ventas de la última semana, cliente, facturación, cantidad de pedidos y su última compra…

PowerBI

Enlace: https://powerbi.microsoft.com/es-es/

Utilizo PowwerBI por lo intuitivo y facilidad de uso, la curva de aprendizaje no es muy elevada y en poco tiempo se pueden diseñar cuadros de mandos muy completos.

Además de ser una herramienta “fácil” de usar es muy completa y permite realizar cálculos complejos y su precio es muy atractivo para empezar a usarlo ya que si solo se va a usar un usuario el uso de la herramienta es gratuito. Si se pretende usar varios usuarios el precio asciende a unos 10e por usuario al mes.

En otro artículo explico como conectar PowerBI con PostgreSQL mediante una conexión ODBC y además doy solución a algunos de sus problemas.

Enlace: http://datamanagement.es/blog/2019/06/20/configuracion-de-postgresql-en-gcp-google-cloud-platform-y-powerbi/

En este otro enlace explico el “El modelo de estrella. El pilar fundamental del Business Intelligence”: http://datamanagement.es/blog/2019/06/27/business-intelligence-modelo-estrella/

Conclusión

Para cada problema hay que hacer un análisis, decidir qué tipo de tecnologías usar porque no todas valen para todo como por ejemplo usar Big Data para tablas con 1 millón de registros, asesorar al cliente para que se haga una idea de todo lo que puede conseguir al tener un sistema de Business Intelligence y formarlo.