Ciao,
Forse puoi aiutarmi a capire cosa sto facendo di sbagliato 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 sto ottenendo è quanto segue nella finestra pop-up modale risultante.

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

Penso che il mio problema possa avere a che fare con una lacuna nella mia conoscenza degli array associativi che ho qualche difficoltà a capire completamente, anche se ciò che dice la guida allo scripting di JMP sulle chiavi di array associative e sulle funzioni remove from, remove, loc e contiene ha senso.
Voglio assicurarmi che le colonne lasciate nell'elenco risultante che ho usato nella finestra del modello possano essere rinominate dall'utente nel set di dati originale, in modo che i nomi delle colonne che voglio rimuovere rimarranno gli stessi. Inoltre, la disposizione delle colonne nella tabella dati è la stessa, ma la matrice associativa riorganizza 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.
- rimozione di elementi da una lista rimuovere elementi in un elenco
- ottenere il nome della colonna dal numero di colonna e inserire le colonne che ho selezionato in un elenco da utilizzare.Come ottenere il numero di colonna dal nome della colonna? (JMP)
Ho allegato il file del set di dati del giocattolo che include lo script a cui ho fatto riferimento sopra.
Grazie mille! Ha funzionato benissimo nel mio progetto e ho imparato cos'è anche la funzione Try().
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>