Ciao,
Forse puoi aiutarmi a capire cosa sto sbagliando qui.
Ho la seguente tabella di dati del giocattolo:

Ho avuto qualche problema con il perfezionamento di un elenco di nomi di colonne di caratteri provenienti dal seguente script.
//get unique column names
cols = Current Data Table() << getColumnNames(Character);
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
unique_col_names = Associative Array(cols) << Remove(Associative Array(DELCOLS)) << get keys;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>
Quello che ottengo è quanto segue nella finestra pop-up modale risultante.

Voglio che la seguente finestra pop-up abbia solo quanto segue:

Penso che il mio problema potrebbe avere a che fare con una lacuna nella mia conoscenza degli array associativi che ho qualche problema a comprendere completamente, anche se ciò che la guida allo scripting di JMP dice sulle chiavi dell'array associativo e su remove from, remove, loc e contiene funzioni ha senso.
Voglio assicurarmi che le colonne rimaste nell'elenco risultante che ho utilizzato nella finestra del modello possano essere rinominate dall'utente nel set di dati originale, quindi i nomi delle colonne che voglio rimuovere rimarranno gli stessi. Inoltre, la disposizione delle colonne nella tabella dati è la stessa, ma l'array associativo riordina i valori in ordine crescente.
Ho già usato i seguenti metodi, secondo questi forum, e ci deve essere qualcosa che non vedo qui perché sono nuovo del linguaggio JSL.
- rimuovere elementi da una lista
https://community.jmp.com/t5/Discussions/remove-elements-in-a-list/td-p/50865
- ottenere il nome della colonna dal numero della colonna e inserire le colonne che ho selezionato in un elenco da utilizzare.
https://community.jmp.com/t5/Discussions/How-to-get-column-number-from-column-name-JMP/mp/5988
Ho allegato il file del set di dati del giocattolo che include lo script a cui ho fatto riferimento sopra.
Ecco come risolverei questo problema
Names Default To Here( 1 );
//get unique column names
cols = Current Data Table() << getColumnNames( Character, string );
//del columns I don't want
DELCOLS = {"Column 5", "Column 6"};
For( i = 1, i <= N Items( DELCOLS ), i++,
Try( Remove From( cols, Contains( cols, DELCOLS[i] ) ) )
);
unique_col_names = cols;
//make a pop-up window
nw = New Window( "Set a Value",
<<MODAL></MODAL>Grazie mille! Ha funzionato alla grande nel mio progetto e ho imparato cos'è anche la funzione Try().