So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Diagramm zu verwendenIch erstelle eine Dropdown-Liste mithilfe des Kombinationsfelds. Die Idee besteht darin, durch die Auswahl eines bestimmten Elements/einer bestimmten Option aus dieser Liste ein entsprechendes Balkendiagramm zu erstellen.
Im angehängten Code ist Tool_time_wf die Funktion, die den Plot erstellen soll, indem sie das Argument/die Eingabeaufforderung/den Gerätenamen[Variablenauswahl] aus dem Kombinationsfeld verwendet. Jedes Element/jede Option im Kombinationsfeld „myListbox“ ist bereits ein Spaltenname in der Datentabelle (im Anhang), aus dem das Balkendiagramm als Woche[Spalte 1 in der Datentabelle] vs. Gerätename/Spaltenname [Spalte 2 und ab in der Datentabelle].
Idealerweise wählt der Benutzer einen Gerätenamen/Spaltennamen aus der Dropdown-Liste aus, und derselbe Gerätename ist als Spaltenname in der Datentabelle vorhanden (siehe beigefügte unbenannte 90-Datentabelle), die als Woche vs. Spaltenname/Gerätename dargestellt wird . obwohl die beigefügte Datentabelle hier nur 2 Spaltennamen oder 2 Gerätenamen enthält. aber die eigentliche Tabelle hat 100 Spaltennamen/100 Gerätenamen. Also brauche ich eine Funktion (hier stecke ich jetzt fest) Dadurch wird das Diagramm anhand der Auswahl aus der Dropdown-Liste mit 100 Gerätenamen/Spaltennamen erstellt.
Jede Hilfe wäre dankbar. mit freundlichen Grüßen.
MassenanpassungBetreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenDanke nochmal. bin dankbar.Betreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenIm obigen Code ist Expr() grundsätzlich ein Codehalter und wird erst verarbeitet, wenn der Zeiger auf Expr() im Code verarbeitet wird. Eval() ist eine Funktion, die JMP anweist, den Code innerhalb von Eval() zu verarbeiten und die Ergebnisse des Codeprozesses an JSL zurückzugeben.Betreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenVielen Dank, Txnelson. Könnten Sie bitte auch näher erläutern, wie die Funktion Tool_time_wf funktioniert? Ich bin mir über das Funktionsprinzip von expr und eval nicht hundertprozentig im Klaren. Grüße.
Betreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenEs gibt ein paar Probleme mit Ihrem Skript ... alle geringfügig
- Ihr neues Fenster, das den Steuerteil Ihres Codes darstellt, muss hinter dem gesamten Code stehen, der aufgerufen werden soll.Das heißt, Sie können doListChoice nicht aufrufen, bevor JMP doListChoice eingelesen hat.JSL ist ein Interpreter, er beginnt mit dem Lesen des Codes in Zeile eins und folgt dann einfach, wohin der Code ihn führt.
- Die Art und Weise, wie Sie Ihren Code strukturiert hatten, mit dem neuen Fenster nach oben, bedeutete, dass immer der Code aus der vorherigen Ausführung verwendet wurde.JMP behält den Code von Ausführung zu Ausführung bei, sofern nicht anders angegeben.Ich habe Clear Globals() in Ihren Code eingefügt, um sicherzustellen, dass bei jedem Lauf alles gelöscht wird.
- Sie haben falsch auf xvar und yvar verwiesen.Ich habe diesen Code leicht geändert, damit er funktioniert.
- Der Code war verwirrt darüber, welche Datentabelle verarbeitet werden sollte.Ich habe dtNames und dt hinzugefügt, damit der Code auf die Daten verweisen kann, um sie klarer zu machen

Clear Symbols();
Names Default To Here( 1 );
//current data table that has data on individual equipment based on each week
filepath="C:\temp_files\jmp\tool time vs CW\#jmp-script\for jmp SAS community QA\Untitled 90.jmp";
dtNames = Open(filepath,invisible);
//equipment list (will go upto 100 [equip 1 , equip 2 ,..........equip 100], only shows 2 here for example)
filepath="C:\temp_files\jmp\tool time vs CW\#jmp-script\for jmp SAS community QA\Equipment Name-wf.jmp";
dt = Open(filepath,invisible);
//dtNames = Data Table( "Equipment Name-wf" );
//dt = Data Table( "Untitled 90 (1)" );
doListChoice = Expr(
choice = myListbox << getSelected; // choosing the equipment name from the drop down list
Tool_time_wf( "week", choice ); //does not work
);
//Tool_time_wf(week column, tool name in string quotes works);
Tool_time_wf = Function( {xvar, yvar},
bivExpr = dt << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables( X( Eval( xvar ) ), Y( Eval( yvar ) ) ),
Elements( Bar( X, Y ) )
)
);
myList = Column( Data Table( "Equipment Name-wf" ), 1 ) << Get Values;
myListbox = Combo Box( myList, doListChoice );
//@@//showing drop down -works-st
New Window( "Show List",
Text Box(
" Please select a TOOL/MACHINE from the drop down menu:",
<<FONT color=""></FONT>Betreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenHallo Txnelson, es tut mir leid, dass ich die Anfrage nicht klarer formuliert habe.
Der Benutzer sollte die Ausrüstungsnamen (Ausrüsten 1 oder Ausrüsten 2 ..... oder Ausrüsten 100) und nicht die Wochennummer aus der Dropdown-Liste auswählen.
Die Liste/Tabelle, die die Dropdown-Liste generiert, finden Sie im „Gerätename-wf“ jmp-Tabelle.
Sobald der Gerätename aus der Pulldown-Liste ausgewählt wurde (generiert über „Gerätename-wf“), wird der Name des Geräts angezeigt. Die Funktion sollte diesen Gerätenamen verwenden. geh in die Hauptdatentabelle 'Untitled 90' (wo die wöchentlichen Daten für die Geräte tabellarisch aufgeführt sind); und zeichnen Sie dann die gewünschte Woche vs. Ausrüstungsnummer auf, wie im Anhang gezeigt 'gewünschte Ausrüstung vs. Wochendiagramm' Bilddatei.
Bitte teilen Sie mir mit, wenn Sie weitere Fragen/Bedenken haben. Vielen Dank, dass Sie sich das angeschaut haben. Ich habe den .jsl-Code erneut mit den zusätzlichen Kommentaren „Snippet v2“ hochgeladen.
Betreff: So übernehmen Sie Funktionsargumente aus einer Dropdown-Liste, um dasselbe Argument in einem Plot zu verwendenIch brauche etwas mehr Hilfe, um zu verstehen, was Sie tun möchten. Könnten Sie das Diagramm erstellen, das Sie voraussichtlich anzeigen würden, wenn der Benutzer beispielsweise „W06“ aus der Pulldown-Liste ausgewählt hätte?