Como integrar R en Qlik Sense

Una nueva forma de tratar los datos en Qlik Sense

Visitas: 321

En nuestro anterior monográfico sobre las mejoras en la nueva versión de Qlik Sense comentábamos que esta nueva edición permite la comunicación de Qlik con herramientas externas, como pueden ser Python o R. Continuando con esta línea, vamos a hablar con algo más de detalle sobre como establecer dicha conexión en el caso de R y las posibilidades que esto ofrece.

¿Por qué R?

R es un software de análisis estadístico que nos permitirá, entre otras cosas, aplicar algoritmos típicos de minería de datos sobre la muestra cargada en Qlik; esto amplia las funcionalidades de Qlik y proporciona un enfoque predictivo al análisis de dichos datos. En ese sentido, la flexibilidad de selección y filtrado de Qlik nos aporta muchas facilidades para una mejor elección de la muestra a utilizar en los cálculos de R, por lo que dicha conexión es provechosa en las dos direcciones.

En definitiva, esta comunicación hace accesible una nueva forma de tratar los datos para la que Qlik no tenía capacidades hasta el momento, lo que permite ampliar el ámbito de nuestros análisis e incrementar así la cantidad de información que extraemos de ellos.

¿Cómo establecemos la conexión? Preparación del entorno de R

En primer lugar, debemos instalar el software R y el entorno de desarrollo RStudio. Se trata de un proyecto colaborativo y abierto, por lo que podremos descargar tanto el programa como los paquetes necesarios gratuitamente desde su web. Después de esto, necesitaremos descargar el paquete Rserve e instalar su librería.

Plugin conexión a R

Mediante la utilización de un plugin facilitado por Qlik, conectamos Qlik Sense con el servidor de R y los comunicamos por medio de la api que nos facilitan.

Comunicación entre las dos partes

Una vez instalado todo lo necesario, podremos enviar scripts a R utilizando el editor de expresiones de medida de cualquier visualización elegida. Anunciaremos el código que destinamos a R en el editor mediante las funciones que indicamos en la siguiente tabla.  

Function NameFunction TypeArgument TypeReturn Type
ScriptEvalScalar, TensorNumericNumeric
ScriptEvalStrScalar, TensorStringString
ScriptAggrAgregationNumericNumeric
ScriptAggrStrAgregationStringString

La sintaxis correcta para emplear estas funciones sería:

<EngineSSEName> <EngineSSEName>.<FunctionName>(Script [,Parameter...])

Donde...

<EngineSSEName>Es el alias del motor definido en la configuración del plugin. En nuestro caso será R.
<FunctionName>Es la función  (de entre las definidas arriba) que necesitamos utilizar para anunciar el código de R.
ScriptEs una cadena que contiene el script que queremos que R evalúe.
ParameterEn esta parte debemos hacer referencia a los datos cargados en Qlik que hemos usado en el script. Estos datos serán añadidos a un 'data.frame' llamado 'q'. Podremos acceder a ellos en el script de R mediante q$parameter.

Puede extenderse el número y la clase de argumentos que utilizamos añadiendo la terminación 'Ex' al nombre de la función que introduce el código de R.

En la siguiente imagen podemos ver un ejemplo de script en el que usamos la conexión con R para estimar un modelo de regresión lineal:

Tras realizar los cálculos en el motor de R, se representará la respuesta en la visualización elegida, siempre que ésta sea adecuada para la clase de objeto que devuelve el motor externo. Podemos 'adaptar' a estos resultados cualquier visualización entre las que ofrece por defecto Qlik Sense, o valernos de extensiones que se ajusten mejor al tipo de representación requerida.

Fotografía de portada: Freepik

Autor

Imagen de Andrés Ortín

Consultor Business Analytics