Qlikview + R

    Para descargar ejemplo ir a nota publicada AQUI

     

    Si se tienen datos de clientes en QlikView y se quiere hacer una segmentación usando el algoritmo kmeans del lenguaje R, puede aplicarse la siguiente técnica que ejecuta script de R  usando el comando EXECUTE en Qlikview y luego agrega el resultado al modelo de datos QV.

     

    Los pasos serían estos:

    PASO 1: Hacer Store en formato csv de los datos que se desean analizar.

    PASO 2: Usar el comando EXECUTE para ejecutar script de R, el cual lee el csv del "Paso 1" y crea un nuevo csv con resultados de cluster creado por algoritmo kmeans.

    PASO 3: Hacer Load del csv creado por R para joinear el resultado con cluster al modelo dimensional QV.


    qlikview_mas_R_kmeans.jpg




    El resultado en QlikView sería este:

    qlikview_mas_R_grafico.jpg




    El script seria este:

     

    // PASO 1. Crear datos y guardar en csv
    //----------------------------------------------------------------------------

    Datos:LOAD * INLINE [
        Nombre, Edad, MontoConsumo
        Juan, 55, 19
        Pedro, 30, 66
        Maria, 70, 88
        Isabel, 71, 80
        Diego, 68, 34
        Luis, 19, 101
        Lucia, 46, 42
        Francisca, 38, 43
        Alberto, 69, 23
        Garcia, 54, 45
        Soto, 82, 98
        Victor, 28, 31
        Esteban, 19, 76
        Jose, 29, 61
        Beto, 16, 96
        Maciel,75, 5
        Nelson, 60, 51,
        Ale, 79,31
        Alberto, 21,98
        Lee, 82,97]
    ;STORE Datos into c:\Qlikview_mas_R\Datos.csv (txt) ;

    // PASO 2. Ejecutar script de R via CMD
    //----------------------------------------------------------------------------

    EXECUTE "C:\Program Files\R\R-3.1.0\bin\R.exe" CMD BATCH "C:\Qlikview_mas_R\kmeans.r";

    // PASO 3. Join de csv creado por R
    //----------------------------------------------------------------------------

    Left Join (Datos)LOAD *FROM
    [..\..\..\Qlikview_mas_R\Datos_mas_cluster.csv]
    (
    txt, codepage is 1252, embedded labels, delimiter is ',', msq);

     

     

     

    Consideraciones:

    • En ambiente de produccion, hacer la ejecución de cada paso en diferentes archivos qvw.

    • En grandes volumenes de datos, hacer join del paso 3 con un campo clave, y no con todos los campos. Esto para mejorar performance.

     

     

    Referencia:

    http://qlikviewapuntes.blogspot.com/2014/01/execute-para-copiar-archivos-y-otras.html



    Para descargar ejemplo ir a nota publicada AQUI