La integración entre Cognos Analytics y Jupyter Notebook en la práctica
En la primer parte de este artículo vimos los pasos y requerimientos a seguir para una integración exitosa entre Cognos y Jupyter Notebooks así como también los beneficios de la misma.
Ahora es momento de ver la integración entre Cognos Analytics y Jupyter Notebook en la práctica. Así es que veremos algunos ejemplos de Cognos Analytics, de cómo utilizar contenido en un Notebook, aplicar ciertos análisis y transformaciones sobre los datos, además de visualizarlo en un dashboard.
En la siguiente imagen vemos cómo se leerán los archivos que ya he subido a Cognos Analytics y posteriormente cómo combinarlos en un único pandas.DataFrame (consiste en una estructura de datos de la librería pandas utilizada para manejar objetos de datos como si fuesen tablas).
Luego, si se quisiera, se puede guardar los archivos unidos como un nuevo archivo en IBM Cognos y volver a leerlo para continuar con el análisis de los datos.
Hasta aquí tendría mis datos para el análisis en el dataframe “churn_data_merge”
A este objeto se le puede aplicar diferentes funciones para explorar los datos, como por ejemplo, ver los primeros 10 registros, tal como lo muestra la imagen que sigue:
O una función que describa las variables de estos datos:
También es posible instalar paquetes, como ser el de profiling de datos. Veamos la siguiente imagen:
El reporte generado nos indica los diferentes tipos de variables encontradas, entre muchas otras cosas. Por ejemplo, reporta que se encontraron 56 variables, de las cuales 23 son booleanas, 18 numéricas y 15 categóricas, cantidad de celdas con valores nulos, etc.
También nos muestra avisos de variables con altos porcentajes de valores en cero o nulos, o también variables con alta correlación o altas cardinalidades.
Al tener los datos en un dataframe de la librería pandas de Python, se pueden aprovechar todas las características de este objeto para explorar/analizar nuestra información.
Como ya indicamos, es posible crear visualizaciones y algunas de las librerías que se pueden utilizar son Matplotlib, Pandas Visualization, Seaborn, Plotly. Veamos entonces algún ejemplo:
El código anterior produce la siguiente salida:
Pero también se pueden tener visualizaciones más elaboradas como la que sigue en la integración entre Cognos Analytics y Jupyter Notebook en la práctica:
Churn Category and Churn Reason Overview
Y lo mejor de todo es que estas visualizaciones, así como cualquier salida de los notebooks, pueden ser insertadas en un dashboard, historia o informe.
Por ejemplo, tenemos el siguiente dashboard
A lo anterior, le podemos agregar una pestaña más, con la visualización previa obtenida desde un Notebook. Dentro de los widgets ahora vemos una sección Advanced que nos permite agregar un Notebook:
Al seleccionar el Notebook podemos seleccionar la salida que necesitemos, dentro de todas las salidas que tiene, y agregarla a la pestaña del dashboard.
En la siguiente imagen vemos la salida del Notebook en la nueva pestaña y arriba a la derecha se deja ver la última actualización de la salida que importamos.
Pero si se prefiere, en una misma pestaña, también se pueden combinar visualizaciones de Cognos y Notebooks.
La de la izquierda es de Cognos mientras que la de la derecha es de un Notebook.
Es necesario hacer la aclaración que para utilizar Jupyter Notebooks se requiere de ciertos conocimientos de programación y estadística (junto con las librerías existentes en Python) para realizar las tareas relacionadas con el rol de científico de datos y así obtener el mayor beneficio que brinda esta herramienta. Hay que resaltar que las visualizaciones no se crean de manera tan natural como en un dashboard o informe (arrastrar y soltar elementos de un origen de datos al gráfico), sino que requieren de los conocimientos de programación que antes mencionaba, además de las estructuras de datos y librerías a utilizar.
Como puede verse, tenemos interacción hacia ambos lados entre IBM Cognos Analytics y Jupyter Notebooks. Podemos crear un Notebook, tomar datos desde Cognos, analizarlos, transformarlos, para generar nuevo contenido (tanto datos como visualizaciones) y luego poder utilizarlos en las herramientas de IBM Cognos Analytics.
Marcelo Celio
Ingeniero en Computación / Consultor en Data & Analytics