Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammasto creando un elenco a discesa utilizzando la casella combinata. l'idea di scegliere un particolare elemento / opzione da quell'elenco dovrebbe creare un grafico a barre corrispondente.
nel codice allegato, Tool_time_wf è la funzione che dovrebbe creare il grafico usando l'argomento / prompt / nome attrezzatura [scelta variabile] dalla casella combinata. Ogni elemento / opzione nella casella combinata myListbox è già un nome di colonna nella tabella dei dati (in allegato) da cui il grafico a barre deve essere generato come settimana [colonna 1 nella tabella di dati] rispetto al nome dell'attrezzatura / nome della colonna [colonna 2 e nella tabella dei dati].
l'utente sceglie idealmente un nome di apparecchiatura / nome di colonna dal menu a discesa e lo stesso nome di attrezzatura esiste come nome di colonna nella tabella di dati (vedere la tabella di dati 90 senza titolo allegata) che verrà tracciata come settimana rispetto al nome di colonna / nome di attrezzatura . sebbene la tabella dei dati allegata qui mostri solo il nome di 2 colonne o, il nome di 2 apparecchiature. ma la tabella effettiva avrà 100 nome colonna / 100 nome attrezzatura. Quindi ho bisogno di una funzione (questo è dove sono bloccato ora) che creerà il diagramma usando la selezione dal menu a discesa di 100 nome attrezzatura / nome colonna.
Qualsiasi aiuto sarebbe apprezzato. i migliori saluti.
Tabella datiScriptingRi: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammaHo bisogno di un po 'più di aiuto per capire cosa stai cercando di fare. Potresti produrre il grafico che ti aspetti di visualizzare, se l'utente avesse selezionato, diciamo "W06" dall'elenco a discesa?Ri: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammaCiao txnelson, mi scuso per non aver chiarito l'inchiesta.
L'utente deve selezionare i nomi delle apparecchiature (equipaggiare 1 o equipaggiare 2 ..... o equipaggiare 100), non il numero della settimana dall'elenco a discesa.
Per l'elenco / tabella che genererà l'elenco a discesa, consultare il 'Nome dell'apparecchiatura-wf' tabella jmp.
Una volta selezionato il nome dell'attrezzatura dall'elenco a discesa (generato tramite 'Nome apparecchiatura-wf'); la funzione dovrebbe usare quel nome dell'attrezzatura; andare in tabella dati principale 'Untitled 90' (dove sono tabulati i dati settimanali per le apparecchiature); e quindi tracciare la settimana desiderata vs. equipare il diagramma come mostrato in allegato 'trama desiderata equip vs settimana' file immagine.
per favore fatemi sapere se avete ulteriori domande / dubbi. grazie per aver esaminato questo. ho nuovamente caricato il codice .jsl con commenti aggiuntivi 'snippet v2'.
Ri: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammaCi sono alcuni problemi con la tua sceneggiatura ... tutti minori
- La tua nuova finestra, che è la parte di controllo del tuo codice, deve essere dopo tutto il codice che verrà chiamato. Cioè, non è possibile chiamare doListChoice prima che JMP abbia letto doListChoice. JSL è un interprete, inizia a leggere il codice sulla riga uno, quindi segue semplicemente dove lo porta il codice.
- Il modo in cui avevi strutturato il tuo codice, con la Nuova finestra in alto, significava che usava sempre il codice dell'esecuzione precedente. JMP mantiene il codice da esecuzione a esecuzione, se non diversamente specificato. Ho inserito un Clear Globals () nel tuo codice per assicurarmi che tutto sia cancellato per ogni corsa.
- Stavi riferendo in modo errato xvar e yvar. Ho modificato leggermente quel codice per farlo funzionare.
- Il codice si stava confondendo su quale tabella di dati elaborare. Ho aggiunto dtNames e dt per consentire al codice di puntare ai dati per renderlo più chiaro

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>Ri: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammagrazie mille txnelson. per favore, elabori anche come funziona la funzione Tool_time_wf? Non sono al 100% chiaro sul principio di funzionamento expr ed eval. Saluti.
Ri: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammaNel codice sopra, Expr () è fondamentalmente un detentore di codice e non viene elaborato fino a quando il puntatore a Expr () non viene elaborato nel codice. Eval () è una funzione che dice a JMP, elabora il codice con Eval () e ritorna a JSL, i risultati del processo del codice.Ri: Come prendere argomenti di funzione da un elenco a discesa per usare lo stesso argomento in un diagrammagrazie ancora. apprezzalo.