Hi,
Vielleicht könnt ihr mir helfen herauszufinden, was ich hier falsch mache.
Ich habe folgende Spielzeugdatentabelle:

Ich hatte einige Probleme mit der Verfeinerung einer Liste von Zeichenspaltennamen, die aus dem folgenden Skript stammen.
//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>
Was ich im resultierenden modalen Popup-Fenster erhalte, ist Folgendes.

Ich möchte, dass das folgende Popup-Fenster nur Folgendes enthält:

Ich denke, mein Problem hat möglicherweise mit einer Lücke in meinem Wissen über assoziative Arrays zu tun, die ich nicht vollständig verstehen kann, obwohl das JMP-Skripthandbuch über assoziative Array-Schlüssel und die Funktionen zum Entfernen von, Entfernen, Locieren und Enthalten sagt Sinn ergeben.
Ich möchte sicherstellen, dass die Spalten, die in der resultierenden Liste verbleiben, die ich im Modellfenster verwendet habe, vom Benutzer im ursprünglichen Dataset umbenannt werden können, damit die Spaltennamen, die ich entfernen möchte, gleich bleiben. Auch die Anordnung der Spalten in der Datentabelle ist gleich, aber das assoziative Array ordnet die Werte in aufsteigender Reihenfolge neu an.
Ich habe die folgenden Methoden laut diesen Foren bereits verwendet, und es muss etwas geben, das ich hier nicht sehe, weil ich neu in der JSL-Sprache bin.
- Elemente aus einer Liste entfernen
https://community.jmp.com/t5/Discussions/remove-elements-in-a-list/td-p/50865
- Abrufen des Spaltennamens aus der Spaltennummer und Eingeben der von mir ausgewählten Spalten in eine zu verwendende Liste.
https://community.jmp.com/t5/Discussions/How-to-get-column-number-from-column-name-JMP/mp/5988
Ich habe die Spielzeugdatensatzdatei angehängt, die das Skript enthält, auf das ich oben verwiesen habe.
So würde ich dieses Problem lösen
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>Vielen Dank! Es hat in meinem Projekt großartig funktioniert und ich habe auch gelernt, was die Try()-Funktion ist.