Hola,
Estoy tratando de crear una nueva columna (PRR_Level) que agrupa los datos de una columna numérica continua (PRR_Score) en 2 categorías. El código generado por el uso de la función de recodificación y el mapeo por valor funciona creando un mapa para cada valor en PRR_Score, pero quiero algo más conciso que pueda usar para repetir análisis.
Este script no genera errores, pero todos los valores de la nueva columna son nulos. ¿Alguien tiene alguna idea de lo que estoy haciendo mal?
// PRR_Level
Nombres predeterminados aquí ( 1 );
dt = Tabla de datos actuales ();
dt << Iniciar actualización de datos ;
dt << Nueva columna ( "PRR_Level" ,
Por cada fila (
: PRR_Level = Si (
: PRR_Score> = 75 , "Ajuste preferido" ,
: PRR_Score < 75 , "Riesgo potencial" ,
)
);
);
dt << Mover columna seleccionada ( durar );
dt << Finalizar actualización de datos ;
Los valores de salida son cadenas, por lo tanto, la nueva columna debe declararse como un tipo de modelado de caracteres para la columna.
Además, la función For Each Row () es una función de código abierto y requiere una estructura más completa para las instrucciones de asignación.He proporcionado dos métodos para crear la columna que desea.
//PRR_Level
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "PRR_Level", character );
For Each Row(
If( :PRR_Score >= 75,
:PRR_Level = "Preferred Fit",
:PRR_Level = "Potential Risk"
)
);
// or
dt << New Column( "PRR_Level 2",
character,
Set each value(
If( :PRR_Score >= 75,
"Preferred Fit",
"Potential Risk"
)
)
);