Salut,
Peut-être pouvez-vous m'aider à comprendre ce que je fais de mal ici.
J'ai le tableau de données de jouets suivant :

J'ai eu quelques difficultés à affiner une liste de noms de colonnes de caractères à partir du script suivant.
//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>
Ce que j'obtiens est ce qui suit dans la fenêtre contextuelle modale résultante.

Je souhaite que la fenêtre contextuelle suivante contienne uniquement les éléments suivants :

Je pense que mon problème est peut-être lié à une lacune dans ma connaissance des tableaux associatifs que j'ai du mal à comprendre complètement, même si ce que dit le guide de script JMP à propos des clés de tableau associatif et des fonctions supprimer, supprimer, localiser et contenir avoir du sens.
Je veux m'assurer que les colonnes restantes dans la liste résultante que j'ai utilisée dans la fenêtre du modèle peuvent être renommées par l'utilisateur dans l'ensemble de données d'origine, de sorte que les noms de colonnes que je souhaite supprimer resteront les mêmes. De plus, la disposition des colonnes dans la table de données est la même, mais le tableau associatif réorganise les valeurs par ordre croissant.
J'ai déjà utilisé les méthodes suivantes, selon ces forums, et il doit y avoir quelque chose que je ne vois pas ici car je suis nouveau dans le langage JSL.
- supprimer des éléments d'une liste supprimer des éléments dans une liste
- obtenir le nom de la colonne à partir du numéro de colonne et saisir les colonnes que j'ai sélectionnées dans une liste à utiliser.Comment obtenir le numéro de colonne à partir du nom de la colonne ? (JMP)
J'ai joint le fichier de données du jouet qui comprend le script que j'ai référencé ci-dessus.
Merci beaucoup! Cela a très bien fonctionné dans mon projet et j'ai également appris ce qu'est la fonction Try().
Voici comment je résoudrais ce problème
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>