Ho gruppi di colonne che necessitano di ricodifica frequente. Funziona semplicemente copiando il registro avanzato, ma come posso combinarli insieme in modo che il codice sia meno goffo?
// 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" );
È possibile utilizzare la ricodifica del nome della colonna
Cols=>Nomi colonne=>Ricodifica nomi colonne....
Se lo fai una volta, vedrai il JSL nel registro su quale era il JSL che creerà le ricodifiche
// 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 ) );
);
È anche abbastanza semplice ottenere un elenco di nomi di colonne e, da questo, apportare modifiche ai nomi su tutte le colonne.
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 )
);