En el siguiente post vamos a conectar Qlikview con R. Si desde Qlikview necesitamos realizar tareas de clasificación y predicción podemos conectar con R y hacerlo en los scripts de R para después visualizarlo y analizarlo en Qlikview.
Cargamos los siguientes datos:
Consumo_clientes:
LOAD * INLINE [
cod_cliente, estado_civil, profesion, ciudad, Consumo,
1, Casado, Empresario, Madrid, 30
2, Casado, Empresario, Madrid, 31
3, Soltero, Empresario, Madrid, 32
4, Casado, Desempleado, Madrid, 33
5, Casado, Empleado, Madrid, 29
6, Viudo, Empleado, Barcelona, 28
7, Soltero, Empleado, Barcelona, 20
8, Casado, Empleado, Barcelona, 21
9, Casado, Empleado, Barcelona, 22
10, Casado, Desempleado, Valencia, 19
11, Casado, Empleado, Valencia, 20
12, Soltero, Empleado, Valencia, 10
13, Soltero, Empresario, Valencia, 11
14, Casado, Desempleado, Lisboa, 12
15, Soltero, Empresario, Lisboa, 9
16, Casado, Empleado, Lisboa, 10
17, Soltero, Empleado, Lisboa, 11];
Exportamos a csv:
STORE Consumo_clientes into C:\temp\R\ficheros\clientes1.csv (txt);
DROP TABLE Consumo_clientes;
Vamos a realizar un clustering de clientes basado en el campo consumo, utilizando el algoritmo k-means y para ello llamamos a un script de R, ya que el k-means no está soportado por Qlikview.
Llamamos a R utilizando el comando EXECUTE
EXECUTE "C:\Program Files\R\R-3.2.1\bin\R.exe" CMD BATCH "C:\temp\R\scripts\agrup_clientes.R";
El script de R realiza lo siguiente:
------------------------------------------------------------------------
#Importar fichero
clientes1 <- read.csv("C:/temp/R/ficheros/clientes1.csv")
consumo <- clientes1$Consumo
#Agrupación utilizando k-means con 3 grupos
km_res <- kmeans(consumo, 3)
#Le añado a la tabla el centro en que ha caído cada valor
clientes1$grupo <- km_res$cluster
# Exportamos ficheros con cluster
write.csv(clientes1, file = "C:\\temp\\R\\ficheros\\clientes2.csv")
------------------------------------------------------------------------
Finalmente leemos el fichero de salida de R en Qlikview para poder visualizarlo.
LOAD cod_cliente,
estado_civil,
profesion,
universitario,
Consumo,
grupo
FROM
[C:\temp\R\ficheros\clientes2.csv]
(txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Creamos un gráfico de rejilla para visualizar los grupos:
Dimensiones: cod_cliente y grupo
Expresión: consumo