Gebäude-Add-In: Benutzereingaben für jede SpalteHallo! Ich arbeite an einem JMP-Skript/Add-In, das automatisch TOSTs für eine vom Benutzer ausgewählte Anzahl von Spalten ausführt. Das Skript funktioniert so, dass der Benutzer mithilfe des folgenden Codes aufgefordert wird, die Spalten auszuwählen. Anschließend möchte ich jedoch ein Popup-Fenster haben, in dem der Benutzer die praktische Äquivalenz (oder optional einen Multiplikator der SD) für jede ausgewählte Spalte eingeben kann. Weiß jemand, wie das geht, oder hat jemand eine gute Referenz, wo ich es lernen kann?
Danke!
Code für die Spaltenauswahl für die Benutzereingabe:
dt = Current Data Table();
cnames = dt << Get Column Names(string);
n2 = N Items(cnames);
lstNumCol = dt << get column names(numeric);
New Window("Select Parametrs for Equivalence Testing",
<<MODAL></MODAL>
<BR /><LINGO-LABS id="lingo-labs-854719" slang="en-US" mode="UPDATE"><LINGO-LABEL>Automatisierung und Skripting</LINGO-LABEL></LINGO-LABS>Betreff: Add-In erstellen: Benutzereingabe für jede SpalteEs gibt viele Optionen, hier ist eine mit Table Box
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
cnames = dt << Get Column Names(string);
n2 = N Items(cnames);
lstNumCol = dt << get column names(numeric);
nw = New Window("Select Parametrs for Equivalence Testing",
<<MODAL></MODAL>
<P>Eine weitere gute Option wären die Aufstellungsbox und die Verwendung von Nummernbearbeitungsfeldern. Sie könnten Ihr Startfenster auch dynamisch basierend auf Benutzerauswahl aktualisieren, aber ich würde mit etwas Einfacherem beginnen, beispielsweise mit zwei modalen Fenstern.</P>
<BR />
<P>Ich empfehle außerdem, Schaltflächenfelder („OK“) und „Abbrechen“) hinzuzufügen, wenn Sie modale Fenster verwenden. JMP fügt die Schaltflächen „OK“ automatisch hinzu. Wenn Sie sie jedoch selbst hinzufügen, können Sie Aktionen auslösen, wenn der Benutzer darauf klickt. Generell ist es sinnvoll, dem Benutzer eine Abbruchoption zu bieten (denken Sie daran, zu prüfen, welche Schaltfläche der Benutzer gedrückt hat).</P>Betreff: Add-In erstellen: Benutzereingabe für jede Spalteerstaunlich, danke!!
Mein Hauptziel ist es, zunächst ein Fenster zu öffnen, in dem der Benutzer gefragt wird, ob er eine praktische Äquivalenz eingeben oder einen Multiplikator der Standardabweichung verwenden möchte. Wenn er einen Multiplikator der SD wählt, kann er anschließend „3“ oder einen beliebigen Wert eingeben. Ist das möglich?
Vielen Dank für Ihre Hilfe!
Abby
Betreff: Add-In erstellen: Benutzereingabe für jede SpalteSie können ein Optionsfeld hinzufügen, aus dem der Benutzer Werte auswählen kann, und dann Ihre Anzeigefelder basierend auf dieser Auswahl erstellen. Es gibt dann viele verschiedene Möglichkeiten, die vom Benutzer getroffene Auswahl zu nutzen. Dies ist eine der einfacheren: Ändern Sie einfach den Titel des Bearbeitungsfelds für die Zahlenspalte.
Names Default To Here(1);
OPTIONS = {"practical equivalence", "sigma multiplier"};
dt = open("$SAMPLE_DATA/Big Class.jmp");
cnames = dt << Get Column Names(string);
n2 = N Items(cnames);
lstNumCol = dt << get column names(numeric);
nw = New Window("Select Parametrs for Equivalence Testing",
<<MODAL></MODAL>
<P>Der Scripting Index enthält einige gute Informationen zu den Anzeigefeldern, zum Beispiel hier: <A href="https://www.jmp.com/support/help/en/18.1/#page/jmp/construct-display-boxes-for-new-windows.shtml#" target="_blank" rel="noopener noreferrer">Scripting Guide > Display Trees > Construct Custom Windows > Construct Display Boxes for New Windows</A></P>Betreff: Add-In erstellen: Benutzereingabe für jede SpalteVielen Dank, das ist sehr hilfreich!
Betreff: Add-In erstellen: Benutzereingabe für jede SpalteWenn sie „Sigma-Multiplikator“ auswählen, kann dies ein anderes Fenster öffnen, das nur ein Feld für alle Parameter wäre? D. h. der Sigma-Multiplikator wäre für alle Spalten derselbe, sodass sie ihn nur einmal eingeben müssten.
Danke für die Hilfe!!
Betreff: Add-In erstellen: Benutzereingabe für jede SpalteNatürlich können Sie beispielsweise eine If-Anweisung verwenden, um zu prüfen, was der Benutzer ausgewählt hat, und dann das Fenster entsprechend erstellen.