26 de julio de 2014

Normalizar variable a una escala especifica

Si se quiere normalizar una variable de Puntos Obtenidos en una escala de 1 a 4,  para obtener con escala normalizada como el siguiente:











puede usarse la técnica:

//-------------------------------------------------------------------------------
// 1. Cargar Datos Ejemplo
TablaPuntos_tmp:
 
LOAD * INLINE [
    
Puntos
     100
     10000
     50000
     100000
     200000
     400000
     800000
     1000000]
;


//-------------------------------------------------------------------------------
// 2. Crear campos de maximo y minimo    
Left Join (TablaPuntos_tmp)
LOAD max(Puntos) as MaxPuntos,
    
Min(Puntos) as MinPuntos,
     1           
as MinEscala,
     4           
as MaxEscala
Resident TablaPuntos_tmp;

//-------------------------------------------------------------------------------
//  3. Crear variable Norm_Proporcional_Rango con valor de 0 a 1
//     y usarla luego para crear variable Norm_Escala
TablaPuntos:
LOAD *, Norm_Proporcional_Rango*(MaxEscala-MinEscala)+MinEscala as Norm_Escala;
LOAD *, (Puntos-MinPuntos)/(MaxPuntos-MinPuntos) as Norm_Proporcional_Rango 
Resident TablaPuntos_tmp;
DROP Table TablaPuntos_tmp;



No hay comentarios: