Ich experimentiere mit der Erstellung einer Dialogmodellbox, die für meine Kunden benutzerfreundlicher ist. Anstatt Optionsfelder oder Kontrollkästchen zu verwenden, verwende ich Col-Listenfelder, um die Benutzeroberfläche eher wie das Dialogfeld aus dem Fit-Modell zu gestalten. Dieses Skript soll die Diagramme und die Ausgabe anpassen, um dem Benutzer Zeit zu sparen, wenn er Ausgaben aus einem Datentabellen-JSL-Skript für die PQAs eines bestimmten Produkts erstellt.
Angehängt ist eine JMP-Datei mit einem Spielzeugdatensatz mit grundlegenden Spaltennamen und angehängten JSL-Skripts, auf die ich in diesem Artikel verweise.
Ich habe eine Variable, in die der Benutzer eine Spalte namens set_resultcol eingibt. Dieser Wert von set_resultcol kann mit jeder Datensatz-Spaltenüberschrift verwendet werden (d. h. ein Datensatz kann „Ergebnis“ oder „Ergebnis“ oder „Ergebnis (N)“ oder „Wert“ als Überschrift der kontinuierlichen numerischen Variablen haben, die modelliert wird die y-Achse als abhängige Variable.
Ich stoße jedoch auf einige Probleme mit dem Ausdruck des set_resultcol-Werts, der nicht in der Umbenennung des y-Achsen-Skripts in der col-Listenfeldoption ausgedrückt wird, die ich verwendet habe, um die Benutzeroberfläche benutzerfreundlicher zu gestalten, obwohl ich es getan habe habe versucht, die Werte aus der Ergebnisliste des Spaltenlistenfelds abzurufen, z. B. mit {„Ergebnis“}[1]. Das Konzept der Col-Listboxen im modalen Fenster ist noch neu für mich, daher hoffe ich, dass ich einige erfahrenere Augen auf meinen JSL-Code lenken kann, um festzustellen, was getan werden kann.
Als ich Radioboxen verwendete, war der resultierende Wert für set_resultcol eine Zeichenfolge, auf die in der folgenden JSL verwiesen werden konnte, um die y-Achse in PQA (Qualitätsattribut) umzubenennen:

Names Default To Here( 1 );
dt = Current Data Table();
//part 1. ask user for column names in a new window nw1
//possible Group column name (should be character)
character_col_names = dt << Get Column names(character, String);
//possible result column name (should be numeric)
numeric_col_names = dt << Get Column names(Numeric, String);
nw1 = New Window("Set group by variable an",
<<MODAL></MODAL>Und das resultierende Diagramm würde die y-Achsen-Beschriftung „Ergebnis“ (zum Beispiel) in „A“ umbenannt haben (die PQA wird der Einfachheit halber „A“ genannt).

Ich habe das folgende modale Dialogfeld, das ich mit dem Listenfeld col erstellt habe, um das modale Dialogfeld mit einer Drag-and-Drop-Funktion benutzerfreundlicher und ästhetischer zu gestalten, anstatt alle Spalten auf einmal anzuzeigen. Unterhalb dieses Fensters habe ich den entsprechenden JSL-Code, mit dem ich Probleme in Bezug auf diese Spaltenlistenfelder habe.

Names Default To Here( 1 );
dt = Current Data Table();
nw1 = New Window("Set variables for stability model",
<<MODAL></MODAL>Das resultierende Diagramm sieht jedoch wie folgt aus, mit dem Namen der y-Achse in dieser Datentabelle „Ergebnis“ auf der y-Achse, wenn „A“ für die PQA „A“ stehen sollte:

Ich weiß, dass das Listenfeld col Listen von Variablen erzeugt, weil ich Optionen im JSL-Skript habe, die mir sagen:
//is this set_resultcol a list? if so, show the contents.
Show(is list(set_resultcol)); // which gives 1 or “true” as shown in the log
Show(set_resultcol[1]); //which gives “Result” as shown in the log

Was ist falsch an diesem JSL-Skript, das es nicht zulässt, dass im Dataset darauf verwiesen wird? Was kann ich tun, um das zu beheben?
Die einzige Dokumentation, die ich zu diesem Problem finden kann, befindet sich im „JMP 15 Scripting Guide“ pdf Seiten 524, 527-529 für die col Listenfelder und den Abschnitt über Listen in diesem Handbuch. Ich habe diese Beispiele ausprobiert, aber sie sagen mir nichts, was ich nicht schon weiß.