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

Ich hatte einige Probleme beim Verfeinern 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, dass mein Problem möglicherweise mit einer Lücke in meinem Wissen über assoziative Arrays zu tun hat, die ich nur schwer verstehen kann, obwohl das JMP-Skripthandbuch über assoziative Array-Schlüssel und die Funktionen „Entfernen von“, „Entfernen“, „Lokieren“ und „Enthalten“ steht Sinn ergeben.
Ich möchte sicherstellen, dass die Spalten, die in der resultierenden Liste übrig bleiben, die ich im Modellfenster verwendet habe, vom Benutzer im Originaldatensatz umbenannt werden können, sodass die Spaltennamen, die ich entfernen möchte, gleich bleiben. Auch die Anordnung der Spalten in der Datentabelle ist dieselbe, das assoziative Array ordnet die Werte jedoch in aufsteigender Reihenfolge neu an.
Laut diesen Foren habe ich die folgenden Methoden 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 Elemente in einer Liste entfernen
- Den Spaltennamen aus der Spaltennummer ermitteln und die von mir ausgewählten Spalten in eine zu verwendende Liste eingeben.Wie erhalte ich die Spaltennummer aus dem Spaltennamen? (JMP)
Ich habe die Spielzeugdatensatzdatei angehängt, die das Skript enthält, auf das ich oben verwiesen habe.
Vielen Dank! Es hat in meinem Projekt großartig funktioniert und ich habe auch gelernt, was die Try()-Funktion ist.
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>