Cómo agregar un prefijo a las columnas que indican su posición en la tabla (JSL, secuencias de comandos)Hola
Me gustaría agregar un prefijo a los nombres de columna que indiquen sus posiciones en la tabla de datos.
Por ejemplo, las columnas de "BIG CLASS .jmp" se renombran de
NOMBRE EDAD PESO ALTURA PESO a 001_NOMBRE 002_AGE 003_SEX 004_HEIGHT 005_WEIGHT.
El prefijo indica la posición de la columna en la tabla, y debe tener una longitud estándar de 3, si es necesario rellenado con ceros a la izquierda. Como en el ejemplo BIG CLASS.
El desafío es que mis tablas JMP tienen cientos de columnas y el ajuste individual está fuera de discusión.
Muchas gracias por adelantado
Novato
Re: Cómo agregar un prefijo a las columnas que indican su posición en la tabla (JSL, secuencias de comandos)Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
n = N Col( dt );
For( c = 1, c <= n, c++,
name = Column( dt, c ) << Get Name;
prefix = If(
c < 10, "00",
c < 100, "0",
""
) || Char( c ) || "_";
name = prefix || name;
Column( dt, c ) << Set Name( name );
);
Re: Cómo agregar un prefijo a las columnas que indican su posición en la tabla (JSL, secuencias de comandos)Eso es muy elegante. Muchas gracias! ¡Salvaste mi día!
Re: Cómo agregar un prefijo a las columnas que indican su posición en la tabla (JSL, secuencias de comandos)Utilizo un método de conversión diferente, que no requiere declaraciones If ():
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
For( c = 1, c <= N Cols( dt ), c++,
Column( dt, c ) << Set Name(
Substr( "00", Length( Char( c ) ) ) || Char( c ) || "_"
|| Char( Column( dt, c ) << Get Name )
)
);