¿Cómo configuro condicionalmente el tipo de datos para una nueva columna en JSL?Hola, ¿Cómo puedo establecer un tipo de datos condicional y programáticamente para una nueva columna? Tengo una solución alternativa que cubre números / caracteres, y podría extenderse para otros tipos, pero estoy intentando que el método a continuación (marcado como 'no funciona') funcione. El registro muestra que no está reconociendo la variable de tipo. He intentado algunas cosas como parse (), pero hasta ahora no he tenido éxito.
Names Default To Here( 1 );
dt = open( "$SAMPLE_DATA\Big Class.jmp");
colType = column(dtData,"Name") << get data type;
// doesn't work, error on colType
dt << add multiple columns("New Column", 1, After("Name"), colType);
// works
dt << add multiple columns("New Column", 1, After("Name"), Numeric);
if(colType == "Character", column(dt, "New Column") << data type ("Character"));
Gracias,
Micro
Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?¡Gracias!
Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?Gracias por reportar este problema. La publicación original reveló un defecto dentro de JSL. Se ofrecieron algunas soluciones inteligentes, que eran excelentes soluciones. Ahora puedo informar que en JMP 14, el código original (marcado "no funciona" en el script de ejemplo) ahora funciona correctamente y como se esperaba.
Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?¡Gracias!Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?Estás en lo correcto. Esta es típicamente la mejor manera de llenar expresiones
Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?Gracias jim Eso funciona bien El eval (sustituto (expr (...))) siempre me ha confundido con cuándo usarlo porque parece una manera complicada de obtener la variable donde debe ir. ¿Es justo decir que siempre es necesario si estoy tratando de poner una variable en tal expresión?
Gracias,
Micro
Re: ¿Cómo establezco condicionalmente el tipo de datos para una nueva columna en JSL?Esto hará el truco por ti
Eval(
Substitute(
Expr(
dt << add multiple columns( "New Column", 1, After( "Name" ), __coltype__ )
),
Expr( __colType__ ), Parse( coltype )
)
)