¿Qué es Qlik® Sense?

Qlik® Sense es una aplicación avanzada de visualización de datos que permite a cualquier persona para crear con facilidad visualizaciones flexibles e interactivas, que impulsan la exploración y el descubrimiento mediante la intuición.

Qlik Sense está hecho para que cualquier persona con conocimiento del negocio pueda agregar valor, sin la necesidad de conocimientos técnicos de Business Intelligence, Data Warehouse, Data Mining, Modelado de Datos, etc., a la vez que desliga al departamento de IT de preocupaciones como el control y el gobierno de los datos, el rendimiento, responder a agregados y cambios en los indicadores con el mismo ritmo con el que cambia el negocio, desobligarse del entendimiento del negocio, permitiéndoles enfocarse en la disponibilidad y actualización de los datos, el diseño de los modelos lógicos de datos, y el procesamiento de todos estos.

Esta delegación de responsabilidades entre las partes (departamento de IT y responsables del negocio), supone una gran ventaja con respecto del primer producto lanzado al mercado por Qlik, QlikView®, en el cual el departamento de IT debía responder por demanda a las exigencias de la gerencia.

 

Arquitectura de Qlik Sense

Qlik Sense - Arquitectura

Qlik Sense – Arquitectura

A grandes rasgos, la arquitectura de Qlik Sense se divide en 3 capas:

  • Acceso a datos: aquí residen los tradicionalmente llamados extractores, que colectan datos de múltiples fuentes, los cuales son accedidos y consumidos directamente por aplicaciones, o bien almacenados en repositorios (generalmente archivos QVD) de manera de disponibilizarlos para que múltiples aplicaciones puedan consumirlos (como parte de un ETL, tema que será abordado con más detalle en un futuro post). Aquí el actor principal es el Scheduler, que se encarga de cargar aplicaciones que serán procesadas por el Engine, las que generalmente extraen o procesan datos que tengan requerimientos de refrescado periódico. El Repository, por su parte, almacena información sobre el entorno en una base de datos interna.
  • Aplicaciones: aquí el principal actor es el QIX Engine, que se encarga de manejar los datos en las aplicaciones, procesarlos en memoria, y devolver datos analíticos al usuario final a través del cliente, de una forma rápida y eficiente.
  • Presentación: Proxy, el cual se encarga de administrar todas las conexiones entre el cliente y el servidor, integrando varios componentes que controlan y orquestan la seguridad, resiliencia y balanceo de carga, actuando como un gateway entre el usuario final y el resto de los componentes de la arquitectura.

Se pueden ver 3 grupos de roles de usuarios:

  • Usuarios: son usuarios finales, cuya principal actividad es la de analizar las visualizaciones presentadas por las aplicaciones, al mismo tiempo que pueden modificarlas y extenderlas, para mantener su propia versión de ellas, con una visión particular.
  • Desarrolladores: Encargados de crear las aplicaciones. Esto comprende el desarrollo del Script de Carga, las Visualizaciones, Métricas, el Modelo de Datos, etc.
  • Administradores: Encargados de Administrar el Qlik Sense Server mediante el uso de la QMC. Aquí se contemplan todos los aspectos posibles: seguridad, aplicaciones, tareas, uso de licencias, extensiones, y muchas cosas más, como veremos más adelante.

Administrando Qlik Sense

¿Qué es la QMC?

Es la Qlik Sense Management Console, el panel que tienen los usuarios con permiso de Administrador para acceder a todas las opciones que le permiten conocer el estado el Qlik Sense Server.

Qlik Sense - QMC

Qlik Sense – QMC

Principales secciones

Apps

En esta sección, el Administrador puede Editar, Borrar, Importar, Exportar, Recargar, Duplicar una tarea, o bien crear una Task para una de ellas.

Aquí podemos ver que se puede saber en todo momento qué Apps se encuentran creadas, y cuáles están publicadas y en qué Stream.

Qlik Sense - QMC - Apps

Qlik Sense – QMC – Apps

Tasks

Esta sección permite al Administrador Crear, Editar, Borrar, Iniciar, Detener, Habilitar y Deshabilitar Tasks.

Una Task representa un Objeto que se encargará de recargar una App, al lanzarse un Trigger asociado a ella. Los Triggers pueden crearse para ser lanzados sólo una vez, una vez por hora, por día, o por cualquier intervalo de tiempo que definamos, así como ser lanzados sólo si una Task previamente definida se ha ejecutado exitosamente (de este modo, estaríamos definiendo las llamadas “Cadenas de Recarga”, lo más parecido a un ETL tradicional, y las podemos identificar por tener un eslabón al lado del nombre).

Qlik Sense - QMC - Tasks

Qlik Sense – QMC – Tasks

Extensions

Las Extensiones son librerías que extienden las capacidades nativas de Qlik Sense. Estas pueden ir desde una Tabla o un Gráfico que se comporta distinto a los proporcionados por Qlik Sense, así como extender el sistema de grilla de las Apps. Qlik Branch es un Blog colaborativo donde podemos encontrar una amplia varidedad de extensiones tanto para Qlik Sense como para QlikView.

Qlik Sense provee de un Dev-Hub para que cualquier desarrollador pueda crear su propia extensión.

Qlik Sense - QMC - Extensions

Qlik Sense – QMC – Extensions

Desarrollando con Qlik Sense

Script de Carga

El Script de carga es una de las mayores fortalezas de Qlik Sense, dado que al proveer una sintaxis simple y muy similar a SQL, permite al desarrollador concentrarse en lo que es importante, que es el diseño del Modelo de Datos.

Otra gran característica, y la más importante, es la potencia y la capacidad de procesamiento disponible, ya que el Script de Carga se sustenta en el poder del Engine durante su ejecución, de manera que si necesitamos extraer y procesar un par de millones de registros, no vamos a tener problemas en conseguir nuestro objetivo.

Nos provee de las herramientas necesarias para conectarnos a una enorme variedad de fuentes para extraer datos, una herramienta de Debug muy fácil de utilizar, la capacidad de organizar el código en hojas o pestañas, así como obviamente ejecutar el Script.

Qlik Sense - Script de Carga

Qlik Sense – Script de Carga

Gestor de Datos

Aquí podemos ver las tablas que hemos creado durante la ejecución del Script de Carga.

Qlik Sense - Gestor de Datos

Qlik Sense – Gestor de Datos

Visor del Modelo de Datos

Aquí podremos ver cómo se ve el Diseño de nuestro Modelo de Datos. Se pueden apreciar las relaciones entre las tablas, que de acuerdo a cómo funciona el motor asociativo de Qlik, si dos tablas tienen un campo que se llama igual, entonces el motor intentará asociarlas mediante ese campo, como si fuera una clave foránea.

Qlik Sense - Modelo de Datos

Qlik Sense – Modelo de Datos

Hojas de la Aplicación

Aquí es donde tanto el Desarrollador como el Usuario final pueden diseñar la aplicación muy fácilmente, arrastrando y soltando Gráficos o campos desde el menú de la derecha hacia la grilla. Esta grilla nos muestra cómo será la distribución de los objetos visuales cuando la aplicación se abra desde un desktop, si estamos en un dispositivo más pequeño, Qlik se encargará de adecuarlos al tamaño y distribución que sea más cómodo.

Qlik Sense - Sheets

Qlik Sense – Sheets

Versión que se verá al navegar la App:

Qlik Sense - Desktop

Qlik Sense – Desktop

Vista desde un dispositivo móvil:

Qlik Sense - Dispositivo Móvil

Qlik Sense – Dispositivo Móvil

Analizando con Qlik Sense

Interactuando con la selección

A continuación podemos apreciar cómo funciona el motor asociativo al seleccionar un sector circular del gráfico de torta:

Qlik Sense - Selections

Qlik Sense – Selecciones

Vemos que en la tabla sólo vemos las filas correspondientes a los médicos.

Aunque éste es un ejemplo muy simple, se puede apreciar la idea general de la selección en Qlik Sense. Al seleccionar algo, el motor asociativo irá dejando visibles todos los datos relacionados a lo que estemos seleccionando, adecuando todo tipo de indicadores y gráficos que tengamos al nuevo conjunto de datos de nuestro modelo, restringido por las selecciones.

Conclusiones

Qlik Sense es una poderosa herramienta de Business Intelligence, que nos provee de una intuitiva interfaz para poder encontrar en los datos aquello que se nos escapa en un análisis convencional mediante consultas a una base de datos, y animándonos a siempre hacer preguntas adicionales al modelo mediante la selección, y a presentar los datos de diferentes maneras explotando la capacidad y flexibilidad del motor asociativo.