Overview

Skill Level: Any Skill Level

En el siguiente documento se desarrollará un ejemplo de creación de un dashboard en Watson Studio conectado a una base de datos Db2 on Cloud con los planes Lite de ambos servicios.

Ingredients

  • Base de datos Db2 on Cloud
  • Cuenta de Watson Studio

Step-by-step

  1. Lectura del caso

    CASO

    Usted trabaja en una empresa que brinda servicios tecnológicos a varios clientes, esta empresa tiene centros de atención en Perú y Brasil. Para la gestión de servicios se utiliza un sistema de tickets de atención en la nube que tiene la posibilidad de descargar reportes en formato CSV. Debido a que el sistema de tickets es proveído por un tercero, usted no tiene acceso a la base de datos del sistema, por lo que se verá obligado a trabajar con archivos CSV. Hoy, su gerente le ha pedido un informe visual de los tiempos de atención organizado por grupo, empresa, tipo de ticket y prioridad. El informe solicitado se presentará en el comité ejecutivo y los datos más importantes a revisar son la cantidad de tickets atendidos y el tiempo promedio de atención. Es necesario tener visualizaciones con datos de la última semana y también datos históricos.

     

    Los reportes que ha descargado desde el sistema de tickets están almacenados en los siguientes enlaces:

    Reporte Filas Separador Encabezados Enlace
    Tickets de atención cancelados 420 , No Ir
    Tickets de atención pendientes (historial) 1831 ; Ir
    Tickets de atención reportados 3119 , Ir
    Tickets de atención finalizados 3049 , Ir
    Total 8419      

    Contraseña: dashboard2019

     

    Descripción de los datos:

    Columna Descripción
     METRIC Contiene el nombre de la métrica 
     ORDER Contiene el número de orden con el cual la métrica es obtenida
     WEEK Contiene la semana para la cual se han recolectado los datos
     GROUP Contiene una categoría para agrupar a los clientes
     COMPANY Contiene el código del cliente
     SITE País donde se atienden las incidencias o requerimientos de servicio
     TYPE Incidencia o requerimiento de servicio 
     PRIORITY Prioridad de los tickets, desde 1 (muy importante) hasta 4 (poco importante) 
     TICKETS Cantidad de tickets de atención correspondientes a la métrica
    TIME_TO_RESOLVE Sumatoria del tiempo total de atención de los tickets atendidos en horas

     

    Considere que el campo COMPANY contiene el código del cliente con la siguiente nomenclatura: GEO-CTY-XXX-XXXXXXX. Siendo:

    • GEO: División geográfica a la que pertenece el cliente.
    • CTY: País al que pertenece el cliente.
    • XXX-XXXXXXX: Identificador del cliente.

     

    La información de GEO y CTY está en la siguiente tabla.

    Acrónimo Descripción Tipo
    CEN Central America GEO
    SUD South America GEO
    EUR Europe GEO
    ARG Argentina COUNTRY
    BRA Brazil COUNTRY
    CHL Chile COUNTRY
    COL Colombia COUNTRY
    CRI Costa Rica COUNTRY
    ESP Spain COUNTRY
    PER Peru COUNTRY
  2. Creación de tabla en base de datos

    Nota: Si aún no tiene el servicio Db2 on Cloud puede ingresar acá.

    A continuación debe abrir la consola de Db2 e ingresar a la opción Run SQL del menú.

    db01

    Luego copie y pegue el siguiente código SQL para crear la tabla WMETRICS. Este código creará la tabla en su esquema por defecto (mismo nombre que su usuario de base de datos).

     Creación de tabla WMETRICS
    CREATE TABLE WMETRICS (
    METRIC VARCHAR(100),
    ORDER INT,
    WEEK DATE,
    GROUP VARCHAR(100),
    COMPANY VARCHAR(100),
    SITE VARCHAR(50),
    TYPE VARCHAR(80),
    PRIORITY INT,
    TICKETS INT,
    TIME_TO_RESOLVE DECIMAL(31,3)
    );

    db02

    Al presionar el botón Run All se creará la tabla, el resultado de la ejecución se puede observar al lado derecho.

    A continuación cree un nuevo query y pegue el siguiente código SQL para crear la tabla ACRONYM e insertar los datos que necesitamos.

    Creación de tabla ACRONYM Inserción de datos
    CREATE TABLE ACRONYM (
    ACRONYM CHAR(3),
    DESCRIPTION VARCHAR(100),
    ACRTYPE VARCHAR(7)
    );
    INSERT INTO ACRONYM VALUES
    (‘CEN’, ‘Central America’, ‘GEO’),
    (‘SUD’, ‘South America’, ‘GEO’),
    (‘EUR’, ‘Europe’, ‘GEO’),
    (‘ARG’, ‘Argentina’, ‘COUNTRY’),
    (‘BRA’, ‘Brazil’, ‘COUNTRY’),
    (‘CHL’, ‘Chile’, ‘COUNTRY’),
    (‘COL’, ‘Colombia’, ‘COUNTRY’),
    (‘CRI’, ‘Costa Rica’, ‘COUNTRY’),
    (‘ESP’, ‘Spain’, ‘COUNTRY’),
    (‘PER’, ‘Peru’, ‘COUNTRY’)
    ;

    db02a-1

    Para validar ingrese a la opción Explore -> Tables.

    db03

    Seleccione el esquema y la tabla para visualizar el detalle de las columnas.

    db04-1

    1. Esquema: El nombre del esquema es el mismo que su usuario de base de datos. Puede revisar la opción Service Credentials del servicio Db2.
    2. Tabla: Elija la tabla que acaba de crear.
    3. Definición de tabla: Puede revisar la definición de la tabla (columnas y tipos de datos) o ver los datos guardados con el botón View Data.

     

  3. Carga masiva de datos

    Nota: Puede revisar el tutorial de carga masiva acá.

    Ahora deberá cargar los datos de los archivos CSV desde la consola Db2, opción Load Data.

    db05

    Considerar los detalles de separador de columnas y encabezados descritos en el paso 1.

    Resultado de carga metrics1-cancelled.csv

    db06

    Resultado de carga metrics2-pendinghist.csv

    db07

    Resultado de carga metrics3-reported.csv

    db08

    Resultado de carga metrics3-resolved.csv

    db09

  4. Creación de proyecto en Watson Studio

    Ingresar a Watson Studio y crear un nuevo proyecto.

    db10

    db11-1

    Ingrese el nombre del proyecto, descripción (opcional) y seleccione el servicio de almancenamiento Cloud Object Storage asociado.

    db12

    1. Nombre del proyecto.
    2. Descripción (opcional).
    3. Servicio de almancenamiento. Si no lo ha creado aún debe hacerlo desde el catálogo de IBM Cloud.
  5. Conexión a base de datos

    Agregue una nueva conexión al proyecto.

    db13

    Luego elija el servicio de datos al que quiere conectarse, puede ser un servicio de IBM o de terceros.

    db14

    Ingresar nombre y descripción, además de los detalles de conexión de la base de datos.

    db15

    1. Nombre de la conexión
    2. Descripción
    3. Nombre de la base de datos
    4. Hostname
    5. Puerto
    6. Usuario
    7. Contraseña

    Los datos de conexión los puede revisar dentro de la opción Service Credentials del servicio Db2. En el siguiente enlace se explica cómo acceder a esta información

    La conexión se agregará a la lista de activos del proyecto.

    db16

  6. Creación de dataset conectado a tabla en Db2

    Agregue datos conectados al proyecto.

    db17

    Luego seleccione el origen de datos, elija la conexión, esquema y tabla.

    db18

    Luego de seleccionar la tabla debe dar nombre al dataset y descripción (opcional).

    db19

    Haga lo mismo con la tabla ACRONYM

    Los datasets se agregarán a la lista de activos del proyecto.

    db20-1

  7. Modificación de dataset con Data Refinery

    Agregue un flujo de Data Refinery al proyecto.

    db21

    Agregue el dataset con datos conectados.

    db22-1

    Una vez cargada la interfaz de Data Refinery debe agregar operaciones para la modificación del dataset. Realice los siguientes pasos:

    1. Extraer las 3 primeras letras del campo COMPANY y asignarlas a un nuevo campo de nombre GEO.
    2. Extraer las 3 primeras letras a partir de la posición 5 en el campo COMPANY y asignarlas a un nuevo campo de nombre COUNTRY.
    3. Retirar los 8 primeros caracteres el campo COMPANY.
    4. Agregar un campo nuevo para obtener el tiempo de solución en minutos.
    5. Reemplazar los valores de los campos GEO y COUNTRY en base a la tabla de acrónimos del paso 1.

     

    1. Nuevo campo GEO

    Agregue una nueva operación de texto.

    db23

    Seleccione la columna COMPANY.

    db24

    Agregue la operación Substring para extraer 3 caracteres desde la posición 1. Cree marque la creación de un nuevo campo con el nombre GEO.

    db25

     

    2. Nuevo campo COUNTRY

    Repita la operación anterior para agregar el nuevo campo COUNTRY, con 3 caracteres a partir de la posición 5.

    db26

     

    3. Modificación de campo COMPANY

    Repita la operación anterior para extraer 11 caracteres desde la posición 9 (esto retira los dos acrónimos iniciales). Esta vez no cree un una nueva columna.

    db27

     

    4. Nuevo campo TIME_IN_MINUTES

    Agregue una nueva operación de cálculo.

    db28

    Elija la columna TIME_TO_RESOLVE

    db29

    Elija la operación de multiplicación y coloque el factor como valor igual a 60, finalmente cree una nueva columna TIME_IN_MINUTES.

    db30

     

    5. Reemplazo de acrónimos GEO y COUNTRY por sus descripciones

    Dentro del grupo Organize, agregue la operación Join.

    db31

    Elija Left Join.

    db32

    Luego agregue el dataset a unir, en este caso AcronymTable.

    db33

    db34

    Puede colocar un sufijo para cada tabla a unir, por defecto son “_x” y “_y”. Después elija las llaves de cada tabla.

    db35

    Seleccione los campos del dataset resultante.

    db36

    Elmine el campo GEO y renombre el campo DESCRIPTION.

    db37

    db38

    Vuelva a agregar una operación Left Join, esta vez las llaves deben ser COUNTRY (en dataset WeeklyMetrics) y ACRONYM (en dataset AcronymTable). Luego elimine el campo COUNTRY y renombre el campo DESCRIPTION con COUNTRY.

     

    Despues de agregar todos los pasos para modificar el dataset podrá revisar el detalle en el panel de la derecha.

    db39

    En el panel de detalles usted podrá revisar la información del flujo además del nombre y formato del dataset de resultado.

    db40

    1. Proyecto del flujo de Data Refinery
    2. Nombre del flujo
    3. Cantidad de pasos
    4. Ubicación y nombre del dataset de resultado
    5. Formato del dataset de resultado, acá puede elegir AVRO, CSV, JSON, PARQ y Delimited.

    A continuación guardará el flujo y creará un job.

    db41

    Escriba un nombre para el job y asigne un ambiente de ejecución. También puede programar el job para que se ejecute automáticamente.

    db42

    Durante la ejecución usted puede validar el estado y revisar los logs del job.

    db43

    El flujo de Data Refinery y el dataset de resultado se agregarán a la vista de activos del proyecto.

    db44

     

     

     

     

  8. Creación de dashboard con Cognos Dashboard Embeded

    Agregue un dashboard al proyecto.

    db45

    Al crear el dashboard deberá asocialo al servicio Cognos Dashboard Embeded. Si no tiene el servicio debe crearlo desde la pestaña New.

    db46

    El plan Lite ofrece 50 sesiones al mes, cada sesión de 1 hora.

    Si usted ya tiene el servicio Cognos Dashboard Embeded solo tiene que elegirlo de la lista desplegable en la pestaña Existing.

    db47

    En la ventana de Watson Studio debe recargar la lista desplegable para que seleccione el servicio. Luego cree el dashboard.

    db48

    Seleccione una plantilla.

    db49

    El dashboard se agregará a la lista de activos del proyecto.

    db50

  9. Creación de campos calculados y rutas de navegación

    Agregue un dataset al dashboard.

    db51

    Elija el dataser resultado del job de Data Refinery.

    db52

    Es necesario crear dos campos nuevos que se actualicen dinámicamente dentro del dashboard:

    • AVERAGE_TIME: Tiempo promedio de solución en minutos.
    • LAST_WEEK: Campo que indica si el registro corresponde a la última semana o a semanas previas.

     

    Campo calculado AVERAGE_TIME

    Para crear un nuevo cálculo, lo hacemos desde el menú

    db53

    En el editor de cálculos debe colocar la fórmula.

    db54

    Expresión
    WeeklyMetrics_shaped_csv.TIME_IN_MINUTES / WeeklyMetrics_shaped_csv.TICKETS
    1. Nombre del cálculo: Se creará un nuevo campo con este nombre.
    2. Expresión: Escriba la operación a realizar. Puede arrastrar los campos de la lista, estos tendrán el formato dataset.campo.
    3. Validación: Se validarán errores de sintaxis en la expresión.

     

    Campo calculado LAST_WEEK

    db55-1

     Expresión
    IF ( WeeklyMetrics_shaped_csv.WEEK = maximum( WeeklyMetrics_shaped_csv.WEEK ) )
    THEN ( ‘LAST WEEK’ )
    ELSE ( ‘PREVIOUS WEEKS’ )

    Los campos nuevos serán agregados al final de la lista.

    db56

     

    Creación de rutas de navegación

    En la parte superior de la lista de campos del dataset tenemos la opción de crear rutas de navegación. Las rutas de navegación permiten navegar en los datos de forma jerárquica. Para esto se necesitan campos que contengan datos categóricos o nominales. Se agregarán dos rutas de navegación.

    • TYPE -> PRIORITY
    • GROUP -> COMPANY

     

    Primero hay asegurar que los campos con datos numéricos se necesiten para relaizar únicamente operaciones matemáticas, tal es el caso de TICKETS, TIME_TO_RESOLVE y TIME_IN_MINUTES. Los datos numéricos no pueden ser incluidos en las rutas de navegación.

    ORDER y PRIORITY son nominales y tiene que cambiar su uso dentro del dashboard, de Measure a Attribute.

    db57

    Para crear la ruta de navegación solo tiene que arrastrar los campos.

    db58

    Haga lo mismo para la segunda ruta que se necesita. Al finalizar se agregarán al inicio de la lista de campos como subcarpetas.

    db59

  10. Adición de visualizaciones (1)

    Cambie la plantilla de la pestaña del dashboard.

    db60

    db61

     

    db62

    Resúmenes

    Agregue una visualización de resumen y agréguela al centro del recuadro, a continuación se abrirá el modo de edición en el cual solo arrastrará y filtrará los campos de la lista.

     

    db63-2

    1. Arrastre los campos que necesite en esta sección, filtre los campos que requiera.
    2. En la pestaña Detalles del panel de propiedades puede elegir el color de la visualización y mostrar u ocultar las etiquetas.
    3. En la pestaña General puede elegir el color de relleno, borde y mostrar u ocultar el título.
    4. Al finalizar cierre el modo de edición.

     

    Puede copiar una visualización (1), eliminarla (2) o cambiar la gráfica (3).

    db64

    Repita lo mismo para las métricas Resolved, Cancelled y Pending.

    db65

     

    db65a

    Mapas

    Ahora agregue una visualización de mapa para revisar los países de procedencia de los clientes cuyos tickets son reportados.

    db66

    En el panel de propiedades puede seleccionar la paleta de colores y el estilo de mapa.

    db67

    En el último recuadro coloque otro mapa, esta vez con TICKETS por campo SITE.

    db68

    db69

  11. Adición de visualizaciones (2)

    Agregue una nueva pestaña al dashboard.

    db70

     

    db71

    Gráficos de pastel

    Luego, agregue un gráfico de pastel para mostrar los tipos de ticket por Geografía.

    db72-1

     

    db73 

    Nube de palabras

     Agregue una nube de palabras para mostrar la relación entre COMPANY y TICKETS.

    db74

     

    db75 

    Gráficos de columnas

    Agregue un gráfico de columnas para mostrar todas las métricas de la última semana

    db76-1

     

     db77

    Gráficos combinados

    Agregue un gráfico combinado (líneas y columnas) para mostrar datos históricos de incidentes resueltos de prioridad 1.

    db78-1

     

     db79

    Gráficos de líneas

    Agregue un gráfico de líneas para mostrar datos históricos de tickets pendientes por SITE.

    db80

     

    Las visualizaciones agregadas deben encajar de la siguiente manera:

    db81

  12. Uso de rutas de navegación

    En una nueva pestaña agregue dos nuevos gráficos de columnas, esta vez, arrastrando los campos GROUP y TYPE desde la sección de rutas de navegación.

    db82-1

    db83

    db84

    Al seleccionar los campos desde la lista de rutas de navegación será posible profundizar en la jerarquía.

    db85

    1. Clic derecho en la categoría que quiere profundizar
    2. Seleccionar opción Drill down

    El gráfico ahora mostrará las categorías de segundo nivel (en este caso COMPANY) pertenecientes a la categoría principal.

    db86

  13. Ordenamiento de campos

    Puede ordenar un campo desde la ventana de propiedades.

    db87

    Debe activar la casilla para ordenar el campo.

    db88

    1. Active la casilla para habilitar las opciones de ordenamiento.
    2. Elija el campo por el cual quiere ordenar, por defecto es el mismo.
    3. Elija el ordern, ascendente o descendente.
    4. Elija la posición en la que aparecerán los valores nulos.

    Para ordenar por otro campo, el campo a elegir un campo con datos categóricos o nominales.

    db89

     

  14. Filtros y cambio de tema

    Puede agregar filtros al dashboard simplemente arrastrando los campos que desee.

    db90

    1. Filtros generales: Aplican a todas las pestañas del dashboard.
    2. Filtros locales: Solo aplican a la pestaña seleccionada.

     

    Puede cambiar la apariencia el dashboard eligiendo un tema desde el panel de propiedades del dashboard (lado izquierdo).

    db91

     

  15. Publicación de dashboard

    Presione el botón Share en la parte superior.

    db92

    Active la casilla para activar el enlace público del dashboard.

    db93

    Cualquier persona con el enlace podrá ingresar a su dashboard sin necesidad de tener una cuenta de Watson Studio. Cada vez que alguien ingrese a su dashboard se consumirán las sesiones de su plan de Cognos Dashboard Embeded.

     

    Resultados:

    db94

    db95

    db96

Join The Discussion