Después de un mes de partidos emocionantes y sorpresas inesperadas, el mundial de fútbol ha terminado. Sin apenas vacaciones para los futbolistas, es el momento de volver al trabajo; el comienzo de La Liga está a la vuelta de la esquina.
Cada temporada, cada partido, cada minuto, cada segundo de juego se generan datos que esconden conocimiento oculto.
En el último mundial de Rusia, los entrenadores pudieron comprobar la importancia del análisis de datos para tomar las mejores decisiones durante el encuentro.
¿Y si obtuviéramos de forma automática los datos y los empleáramos para nuestro beneficio personal? ¿Seríamos capaces de predecir los resultados de los partidos de fútbol?
En este artículo aprenderemos cómo obtener datos de forma automática con Qlik Sense de una aplicación web externa mediante una conexión API REST.
¿Cuál será nuestro origen de datos?
En el universo de Internet encontramos diferentes repositorios gratuitos que contienen información variada y accesible para todos los usuarios. Por ejemplo:
- Valor histórico del Bitcoin
- Calidad del aire en Madrid (2001-2018)
- Crimen en Chicago
- Hostels en Japón
- Tweets durante la conferencia de Nintendo en el E3 2018
En este artículo se utilizará el repositorio Football API, el cuál dispone de datos de competiciones de fútbol de distintas ligas del mundo.
¿Qué es una API REST?
Una API (Application Programming Interfaces) es un servicio que provee un conjunto de métodos de una biblioteca de programación apoyada en el estándar HTTP con el objetivo de ser utilizado por otro software.
Por ejemplo, la API de Twitter proporciona diferentes funciones para obtener sus datos y que cualquiera pueda utilizarlos en sus propios desarrollos. De esta forma, Twitter se asegura de lo que pueden hacer los clientes desarrollados por terceros.
Por otra parte, REST (REpresentational State Transfer) es la interfaz entre sistemas que utilice HTTP para obtener datos o ejecutar acciones sobre ellos, en formato XML, JSON, etc. En cada llamada el cliente debe enviar el estado, debido a que no es posible almacenar el enviado previamente. Es el estándar más habitual para crear API’s para servicios en Internet.
Para el caso práctico del artículo, la Football API utiliza API REST mediante llamadas en formato JSON.
¿Qué es Qlik Sense?
Qlik Sense es una herramienta de Business Intelligence que tiene como objetivo obtener conocimiento oculto a través de los datos de nuestro negocio. Para más detalles, puedes consultar la página oficial.
Se trata de software privativo, aunque dispone de una versión personal para realizar pruebas o prototipos SIB. De esta forma, es posible experimentar todo el potencial que ofrece el producto y el valor que puede aportar a la compañía.
Es posible descargar la versión gratuita (Desktop Edition) a través del siguiente enlace.
¿Cómo definimos una conexión API REST en Qlik Sense?
Para definir una conexión API REST con Qlik Sense, se deberá hacer a través del script ETL mediante el menú de ‘Conectores de Datos’ situado en el lateral derecho. Se deberán seguir las siguientes instrucciones:
- Hacer click a la opción ‘Crear nueva conexión‘ tal y como muestra la captura de imagen:
- Seleccionaremos como fuente de datos ‘REST‘:
- Definiremos los parámetros necesarios para realizar la conexión REST (URL, tipo de autentificación, etc.):
- Para la Football API, será necesario obtener previamente una API Key (gratuita) y evitar cualquier restricción por exceso de peticiones. Se puede obtener a través del siguiente enlace.
- Por último, validaremos que la conexión se realiza con éxito a través del botón ‘Test Connection‘:
- Si hemos configurado correctamente la conexión API REST, al ejecutar la recarga en Qlik Sense podremos obtener los datos:
¿Dónde puedo encontrar documentación técnica?
Para más información, se encuentra disponible la documentación técnica en la propia página de Qlik.
Caso práctico: Football API
El objetivo del ejercicio práctico del artículo será obtener los datos de la API REST (mediante la conexión definida anteriormente) e incluirlos en un modelo de datos flexible y óptimo que nos permita realizar análisis en Qlik Sense.
Para empezar, resulta imprescindible leer la documentación oficial a través del siguiente enlace. Para el caso práctico, se utilizarán los siguientes métodos de la API:
- Competition: Obtener un listado de las competiciones disponibles.
- Team: Muestra la información de un equipo.
- Player: Muestra la información de un jugador.
Por otro lado, en el script ETL (Qlik Sense) se ha definido una pestaña para cada una de las entidades definidas:
IMPORTANTE: Al final del artículo encontrareis el enlace para descargar todo el material mostrado.
Finalmente, la aplicación de Qlik Sense contendrá 3 hojas de análisis diferentes (Match, Team y Player Data).
Match Data
En la primera hoja de análisis es posible navegar por toda la información de competición disponible.
Team Data
En la segunda hoja se puede visualizar los datos relacionados con los equipos que forman la liga:
Player Data
En la última hoja podemos analizar individualmente los datos de los jugadores que componen cada uno de los equipos:
Ejemplo: Chelsea FC
Para comprobar que la extracción y el modelo de datos se han implementado correctamente, seleccionamos un equipo (Ej. Chelsea FC) como filtro:
¿Dónde me puedo descargar la app Futbol?
El material mostrado en el artículo (app, insights, script ETL, imágenes, etc.) se puede descargar a través del siguiente enlace:
En conclusión…
En definitiva, predecir al 100% un partido de fútbol es casi imposible, puesto que influyen ciertos aspectos impredecibles como la suerte (que se lo digan a Karius en la final de la Champions) las lesiones o el estado físico de los jugadores.
Con Qlik Sense es posible conectar con fuentes de datos externas y obtener los datos de forma automática, con el objetivo de obtener conocimiento oculto y poder tomar decisiones, tanto para un beneficio personal (Ej. pronosticar partidos para ganar la lotería) o profesional (crear nuevas estrategias, aumentar el rendimiento de los jugadores).
¡No esperes más y empieza a analizar los datos de tu entorno y utilízalos para tu propio beneficio!