Hola,
Quizás puedas ayudarme a descubrir qué estoy haciendo mal aquí.
Tengo la siguiente tabla de datos de juguetes:

He tenido algunos problemas para refinar una lista de nombres de columnas de caracteres que se convierten en el siguiente 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>
Lo que obtengo es lo siguiente en la ventana emergente modal resultante.

Quiero que la siguiente ventana emergente solo tenga lo siguiente:

Creo que mi problema puede tener que ver con una brecha en mi conocimiento de matrices asociativas que estoy teniendo problemas para entender completamente, a pesar de lo que dice la guía de scripts de JMP sobre claves de matriz asociativa y las funciones remove from, remove, loc, and contains tener sentido.
Quiero asegurarme de que el usuario pueda cambiar el nombre de las columnas que quedan en la lista resultante que usé en la ventana del modelo en el conjunto de datos original, por lo que los nombres de las columnas que quiero eliminar seguirán siendo los mismos. Además, la disposición de las columnas en la tabla de datos es la misma, pero la matriz asociativa reordena los valores en orden ascendente.
Ya utilicé los siguientes métodos, de acuerdo con estos foros, y debe haber algo que no veo aquí porque soy nuevo en el lenguaje JSL.
- eliminar elementos de una lista
https://community.jmp.com/t5/Discussions/remove-elements-in-a-list/td-p/50865
- obteniendo el nombre de la columna del número de columna e ingresando las columnas que seleccioné en una lista para usar.
https://community.jmp.com/t5/Discussions/How-to-get-column-number-from-column-name-JMP/mp/5988
He adjuntado el archivo del conjunto de datos del juguete que incluye el script al que me he referido anteriormente.
Esta es la forma en que resolvería este 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>¡Muchas gracias! Funcionó muy bien en mi proyecto y también aprendí qué es la función Try ().