Nome del gruppo di colonne variabile per 'Group Columns()'Ciao a tutti,
Sto cercando di selezionare le colonne in base a un elenco di stringhe e di scaricare le colonne in un gruppo anch'esso basato sull'elenco.
Ecco il codice che sto usando:
dt = Current Data Table();<BR />// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
dt << Clear Column Selection;
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ),
As Column( allcols[j] ) << Set Selected( 1 );
//Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
//dt << Group Columns(char(groupnames[i]), curgroup);
dt << Group Columns( groupnames[i] );
);Viene visualizzato l'errore "JMP non è in grado di determinare le colonne da raggruppare dallo script specificato".
Se cambio l'ultima riga in qualcosa come dt << Group Columns ("fixed string") funzionerà (ma saranno tutte nello stesso gruppo).Non sono sicuro di cosa sto facendo di sbagliato.groupnames[i] dovrebbe essere una stringa (giusto?), che è l'input previsto per Group Columns().
Grazie,
Kristo
Re: nome del gruppo di colonne variabile per "Group Columns()"Grazie ancora.Stavo solo guardando nella documentazione html, non nei libri.
Re: nome del gruppo di colonne variabile per "Group Columns()"Ecco come accedere alla documentazione sui caratteri di escape.Vai a
Aiuto==>Libri==>Guida allo scripting
e poi fai una ricerca di pagina per
\!
Ti porterà direttamente alla tabella dei personaggi di fuga
Re: nome del gruppo di colonne variabile per "Group Columns()"Eval Insert() valuta le variabili all'interno di una stringa. Le variabili nella stringa sono racchiuse tra caratteri "^". Parse() trasforma una stringa in un'espressione. Eval() valuta l'espressione.
Quindi in pratica costruisci l'espressione come una stringa con i valori delle variabili risolti all'interno della stringa, analizzi la stringa in un'espressione e valuti l'espressione.
Re: nome del gruppo di colonne variabile per "Group Columns()"Grazie, così è stato!Qualche riferimento alla documentazione su a cosa servono le diverse sequenze di escape?L '"aiuto" per Parse() non è così utile.
Re: nome del gruppo di colonne variabile per "Group Columns()"A volte, JMP è strano nel valutare le variabili che dovrebbero risolversi nel tipo di argomento previsto.In genere cerco di non farlo, ma di solito puoi aggirare questi problemi con una sequenza Eval-Parse-Eval Insert.Sembra sempre un po 'un trucco, ma è come il nastro adesivo con JSL.
dt = Current Data Table();// phase names by which we want to group
groupnames = {"Centering", "Dwell", "Capture", "Locking"};
// all column names in the table
allcols = dt << Get Column Names();
For( i = 1, i <= N Items( groupnames ), i++,
curgroup = {};
// get all cols with the phase name
For( j = 1, j <= N Items( allcols ), j++,
If( Contains( allcols[j], groupnames[i] ) > 0,
Insert Into(curgroup, allcols[j]);
);
);
// make a new group from these columns
Eval(Parse(Eval Insert("\[dt << Group Columns( "^groupnames[i]^", curgroup )]\")));
);