Crear un menú desplegable para la entrada interactiva del usuario<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Tengo una pregunta sobre las secuencias de comandos JMP. Estoy usando JMP 11. Quiero crear un script interactivo en JMP. El guión tendrá los siguientes elementos:
1. El script mostrará un mensaje pidiendo a los usuarios que seleccionen un documento. Los usuarios seleccionarán un nombre de documento.
2. En función de esa selección, el script restante ejecutará consultas basadas en el documento seleccionado por el usuario y creará gráficos y tablas relevantes.
Sé cómo lograr el #2 en JMP. Para el n. ° 1, sé cómo mostrar un cuadro de texto y hacer que los usuarios ingresen el nombre completo del documento, pero eso daría la oportunidad de un error manual y la consulta restante no funcionará si se escribe un nombre incorrecto.
Entonces, estoy pensando que una consulta de la base de datos a la tabla de documentos mostrará todos los documentos activos como una lista desplegable para los usuarios y los usuarios solo seleccionarán uno de los documentos mostrados. ¿Es posible hacerlo en secuencias de comandos JMP?
Busqué en el manual de secuencias de comandos para hacer secuencias de comandos interactivas, pero las únicas opciones que vi implicaban que los usuarios ingresaran el texto completo. Así que quería consultar con usted.
¡Muchas gracias por adelantado!
Re: Crear menú desplegable para entrada de usuario interactivaSolo expandiéndome un poco juan.ponte publicación de .Este es un ejemplo que recibí de WK y han modificado a menudo.
/* Abre una tabla de datos de muestra */
dt = Abrir( "$SAMPLE_DATA\Big Class.jmp" );
/* Extrae una lista de edades únicas */
Resumir( a = Por( :edad ) );
Insertar en( a, "", 1 );
/* Crear un diálogo modal */
Nueva ventana ("Ejemplo",
<
Cuadro de lista H(
/* Al seleccionar una edad, complete el segundo ComboBox con los nombres correspondientes */
Panel Box( "Seleccione una edad:",
cb1 = cuadro combinado (
a,
<
Función( {esto},
selección = esto << Obtener seleccionado();
r = dt << Obtener Filas Donde( :edad == Num(selección) );
edadNombres = :nombre;
Insertar en( ageNames, "", 1 );
cb2 << Establecer elementos (nombres de edad);
)
)
)
),
/* Imprime los valores seleccionados de ambos ComboBoxes en el registro */
Cuadro de panel ("Seleccione un nombre:",
cb2 = cuadro combinado (
{""},
<
Función( {esto},
that=this<< Get Selected();
Imprimir (selección, eso)
)
)
)
)
)
);
sel=num(selección)
Re: Crear menú desplegable para entrada de usuario interactivaPara hacer una lista desplegable en JSL, todo lo que necesita hacer es crear una lista y un cuadro combinado. Aquí hay una muestra de JSL:
mi lista = {
"" ,
"Uno" ,
"Dos" ,
"Tres" ,
"Cuatro" ,
"Cinco"
} ;
doListChoice = expr (
elección = miListbox << obtenerseleccionado ;
espectáculo ( elección ) ;
) ;
miListbox = Caja combo ( mi lista , doListChoice ) ;
ganar = nueva ventana ( "Mostrar lista" , miListbox ) ;
Ejecute esto y verá una lista desplegable en una ventana. Cuando haga su selección, mostrará lo que seleccionó en el registro.
La pregunta ahora es ¿cómo construyes tu lista? Si sus documentos son archivos almacenados en un directorio, puedo mostrarle algunos JSL para crear una lista desde el directorio. ¿Pero parece que sus documentos están en una base de datos? Si ese es el caso, creo que puede consultar la base de datos y obtener una lista. Luego use esa lista para crear el cuadro combinado, como se muestra. Sin embargo, no he escrito nada usando una base de datos, por lo que mi conocimiento en esa área es débil.
¿Responde esto a tu pregunta? ¿O necesitaba ayuda para consultar la base de datos?