Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramaEstoy creando una lista desplegable usando el cuadro combinado. la idea es elegir un elemento / opción en particular de esa lista para crear un diagrama de barras correspondiente.
en el código adjunto, Tool_time_wf es la función que se supone que crea la gráfica usando el argumento / prompt / nombre del equipo [opción variable] del cuadro combinado. Cada elemento / opción en el cuadro combinado myListbox ya es un nombre de columna en la tabla de datos (adjunta) a partir del cual se debe generar el diagrama de barras como semana [columna 1 en la tabla de datos] vs. nombre del equipo / nombre de columna [columna 2 y en adelante en la tabla de datos].
lo ideal es que el usuario elija un nombre de equipo / nombre de columna del menú desplegable, y el mismo nombre de equipo existe como nombre de columna en la tabla de datos (consulte la tabla de 90 datos sin título adjunta) que se trazará como semana vs. nombre de columna / nombre de equipo . aunque la tabla de datos adjunta aquí solo muestra el nombre de 2 columnas o el nombre de 2 equipos. pero la tabla real tendrá 100 nombre de columna / 100 nombre de equipo. Entonces necesito una función (Aquí es donde estoy atrapado ahora) eso creará el diagrama utilizando la selección del menú desplegable de 100 nombre de equipo / nombre de columna.
Cualquier ayuda sería apreciada. atentamente.
Tabla de datosScriptingRe: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramaNecesito un poco más de ayuda para comprender lo que estás tratando de hacer. ¿Podría producir el gráfico que espera mostrar, si el usuario lo hubiera seleccionado, digamos "W06" de la lista desplegable?Re: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramaHola txnelson, disculpas por no aclarar la consulta.
El usuario debe seleccionar los nombres de los equipos (equipar 1 o equipar 2 ..... o equipar 100), no el número de semana de la lista desplegable.
Para ver la lista / tabla que generará la lista desplegable, consulte el 'Nombre del equipo-wf' jmp table.
Una vez que se selecciona el nombre del equipo de la lista desplegable (generado a través del 'Nombre del equipo-wf'); la función debe usar ese nombre de equipo; entrar en el tabla de datos principal 'Sin título 90' (donde se tabulan los datos semanales de los equipos); y luego trazar la semana deseada vs equipar # trama como se muestra en el adjunto 'parcela de equipamiento vs semana deseada' archivo de imagen.
por favor avíseme si tiene más preguntas / inquietudes. Gracias por mirar en esto. Volví a cargar el código .jsl con comentarios adicionales 'snippet v2'.
Re: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramaHay algunos problemas con su script ... todos menores
- Su nueva ventana, que es la parte de control de su código, debe estar después de todo el código que se va a llamar. Es decir, no puede llamar a doListChoice antes de que JMP haya leído doListChoice. JSL es un intérprete, comienza a leer el código en la línea uno y luego sigue a dónde lo lleva el código.
- La forma en que tenía su código estructurado, con la Nueva Ventana hacia arriba, significaba que siempre estaba usando el código de la ejecución anterior. JMP retiene el código de ejecución en ejecución, a menos que se le indique lo contrario. He colocado un Clear Globals () en su código para asegurarme de que todo esté despejado para cada ejecución.
- Estabas haciendo referencia a los xvar y yvar de forma incorrecta. He cambiado ese código ligeramente para que funcione.
- El código se estaba confundiendo sobre qué tabla de datos procesar. He agregado dtNames y dt para permitir que el código apunte a los datos para aclararlos

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>Re: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramamuchas gracias txnelson. ¿podría explicar cómo funciona la función Tool_time_wf? No estoy 100% claro sobre el principio de funcionamiento expr y eval. Saludos.
Re: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramaEn el código anterior, Expr () es básicamente un titular de código y no se procesa hasta que el puntero a Expr () se procesa en el código. Eval () es una función que le dice a JMP, procese el código dentro de Eval () y regrese a JSL, los resultados del proceso de código.Re: Cómo tomar argumentos de función de una lista desplegable para usar el mismo argumento en un diagramagracias de nuevo. lo aprecio.