Tengo grupos de columnas que necesitaban recodificación frecuente. Funciona simplemente copiando el registro mejorado, pero ¿cómo los combino para que el código sea menos complicado?
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
// Change column name: name → Student's name
Data Table( "Big Class" ):name << Set Name( "Student's name" );
// Change column name: age → Student's age
Data Table( "Big Class" ):age << Set Name( "Student's age" );
Puede utilizar la recodificación del nombre de la columna
Cols=>Nombres de columnas=>Recodificar nombres de columnas....
Si lo hace una vez, verá el JSL en el registro sobre cuál era el JSL que creará recodificaciones.
// Recode column names
Local( {dt = Data Table( "Big Class" ), names},
names = Recode(
dt << Get Column Names( String ),
{Map Value(
_rcOrig,
{"age", "s age", "height", "s height", "name", "s name", "sex", "s sex",
"weight", "s weight"},
Unmatched( _rcNow )
)}
);
For Each( {name, i}, names, Column( dt, i ) << Set Name( name ) );
);
También es bastante fácil obtener una lista de nombres de columnas y, a partir de ahí, realizar cambios de nombres en todas las columnas.
Names Default To Here( 1 );
dt = Current Data Table();
nameList = dt << get column names( string );
For Each( {col}, nameList,
Column( col ) << set name( "Student's " || col )
);