Qlik Community

QlikView Documents

Documents for QlikView related information.

Crear Multiples Muestras Aleatorias

Not applicable

Crear Multiples Muestras Aleatorias

El siguiente scrip carga la tabla Clientes y de esta crea varios set de datos con muestra aleatoria. Cada set de datos contiene campos elegidos al azar. Esto con el fin de crear diferentes modelos para predecir perdida de cliente, usando el campo ClienteActivo como CampoObjetivo.


Clientes:LOAD * INLINE [
   IdCliente, ClienteActivo, Edad, EstadoCivil, MontoCompra, CantidadCompra, MesesAntiguedad
    1,         SI,            66, Casado,         33,             4,                   4
    2,        
NO,            25, Soltero,        54,             1,                   8

    3,         SI,            58, Divorciado,     45,             8,                   6

    4,         NO,            57, Viudo,         87,             6,                   1

    5,         SI,            45, Casado,        10,             8,                   6

    6,         NO,            63, Soltero,       34,             4,                   5

    7,         SI,            26, Casado,        12,             1,                   2

    8,         SI,            21, Soltero,       20,            10,                   6

    9,         NO,            26, Casado,        97,             5,                  12

    10,        NO,            28, Soltero,       61,             4,                  10

    11,        NO,            67, Divorciado,    89,            10,                   2

    12,        SI,            27, Viudo,         10,             8,                   9

    13,        NO,            63, Casado,        85,             1,                  12

    14,        NO,            36, Soltero,       97,             6,                   7

    15,        SI,            20, Casado,        26,             5,                  12

    16,        SI,            29, Soltero,       86,             10,                  1

    17,        SI,            41, Casado,        20,             2,                   1

    18,        SI,            21, Soltero,       36,             6,                  11

    19,        NO,            24, Divorciado,    85,             6,                   3

    20,        NO,            47, Viudo,         85,             4,                   4];



let SetInicial='Clientes';

let CampoId='IdCliente';

let CampoObjetivo='ClienteActivo';

let CantCampos=NoOfFields('$(SetInicial)');

FOR CantidadSet=1 to 15
   
let setfinal='$(CampoId)'&', '&'$(CampoObjetivo)';
          
FOR i=Ceil(Rand()*( $(CantCampos)-3)) to $(CantCampos)
            
let Campo_$(i)=if(FieldName($(i),'$(SetInicial)')<>'$(CampoId)'
                          
and FieldName($(i),'$(SetInicial)')<>'$(CampoObjetivo)'
                          
and rand()>rand(),','&FieldName($(i),'$(SetInicial)'),'');
            
let set1=' $'&'(Campo_'&$(i)&')';
            
let setfinal='$(setfinal)'&'$(set1)';  
          
NEXT
  
QUALIFY*; UNQUALIFY $(CampoId);
   Set
$(CantidadSet): LOAD $(setfinal)  Resident $(SetInicial) Where Rand()>0.5;

NEXT

Los set de datos quedarían como sigue:

muestras.jpg


Nota Publicada en blog: Qlikview en Español
Version history
Revision #:
1 of 1
Last update:
‎06-16-2014 10:12 PM
Updated by: