J'ai des groupes de colonnes qui nécessitaient un recodage fréquent. Cela fonctionne simplement en copiant le journal amélioré, mais comment puis-je les combiner pour que le code soit moins encombrant ?
// 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" );
Vous pouvez utiliser le recode du nom de colonne
Cols=>Noms de colonnes=>Recoder les noms de colonnes....
Si vous le faites une fois, vous verrez le JSL dans le journal indiquant quel était le JSL qui créera des recodages.
// 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 ) );
);
Il est également assez facile d'obtenir une liste de noms de colonnes et, à partir de là, de modifier les noms de toutes les colonnes.
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 )
);