martes, 10 de noviembre de 2015

Llamar a R desde Qlikview

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 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,       Empleado,    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,      Desempleado,    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


Más info en: www.datademy.es

2 comentarios:

  1. muy bueno el ejemplo.
    aca dejo dos mas que pueden servir de rerencia:

    K-MEDIAS:
    http://qlikviewapuntes.blogspot.com.ar/2015/03/qlikview-r-para-kmeans.html

    ARBOL DECISION:
    http://qlikviewapuntes.blogspot.com.ar/2015/03/qlikview-r-para-arbol-decision.html

    ResponderEliminar
  2. Muy interesante el blog, Emmanuel, con buenos ejemplos de Qlikview aplicado a la analítica.
    http://qlikviewapuntes.blogspot.com.ar

    ResponderEliminar