Aggiungi prefisso ai nomi delle colonne (scripting)CIAO
Ho un set di dati JMP e voglio aggiungere lo stesso prefisso a tutti i nomi di colonna in quel set di dati, il mio codice qui sotto non fa esattamente quello che voglio.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = dt << For( i = 25, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = cName || "Prefix_";
Column( dt, i ) << Set Name( newname );
);
Ora, un secondo scenario:
Immagina che la colonna "sex" in "Big Class" contenga solo Fs (o Ms).
Come posso accedere a quel contenuto e usarlo come prefisso con l'aiuto di una variabile di utilità/macro nel codice sopra?
Salute, novellino
Re: Aggiungere prefisso ai nomi delle colonne (scripting)Mi dispiace, Marco. Non ho notato che il buffer non conteneva=incolla la variante di codice JSL più recente.
Comunque l'ho modificato un pochino...
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
prefix = dt:sex[1];
For( i = 1, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = prefix ||"_"||cName;
Column( dt, i ) << Set Name( newname ); );
Re: Aggiungere prefisso ai nomi delle colonne (scripting)Innanzitutto, For() è una funzione, non un messaggio per una tabella dati, che non restituisce un riferimento a una nuova tabella dati. In secondo luogo, perché iniziare l'indice del ciclo a 25? Terzo, perché concatenare un prefisso Dopo il nome? Tale risultato è un suffisso.
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
prefix = dt:sex[1];
For( i = 1, i <= N Cols( dt ), i++,
cName = Column( dt, i ) << Get Name;
newname = prefix || cName;
Column( dt, i ) << Set Name( newname );
);