Bucle para en ventana nueva¡Hola! Soy un usuario principiante de JMP y tengo problemas para hacer funcionar mi bucle for.Estoy tratando de preguntarle al usuario qué tipo de factor es cada uno de sus factores. La cantidad de veces que se hace la pregunta depende de la cantidad de columnas en el archivo jmp. Estaba intentando utilizar una caja de radio, pero tengo problemas para agregarla. A continuación se muestra una pequeña instantánea de lo que he hecho. ¡Gracias!
Names Default to Here(1);
dt = Open("Example1.jmp");
number = ncols(dt);
FactorType = {"Continuous", "Categorical"};
New Window("Data Entry", << Modal, << return results,
Text Box("Type of Factor");,
type= V list Box(),
);
For(i= 1, i <= number, i++,
type << Append(Radio Box(FactorType, Max Selected(1)));
);
Re: Bucle For en ventana nuevaEsa es una pregunta justa, @David_Burnham ! ¿Creo que tal vez depende? Utilizo bastante IfBox(), aunque está especialmente diseñado para la visualización condicional de cuadros de visualización. No puedo hablar de la "legitimidad" de jsl en estas situaciones, pero en cualquier caso, OnOpen es una gran sugerencia.Re: Bucle For en ventana nueva¿Es realmente legítimo poner un bucle for en una llamada de función de nueva ventana?Mi opinión es que no debería colocar JSL en lugares donde se esperan cuadros de visualización, incluso si el código se ejecuta.Para una ventana modal, el JSL se puede colocar en el controlador de eventos OnOpen.
Re: Bucle For en ventana nuevaHola de nuevo @dg1 ,
Solo para continuar, miré un poco más de cerca su código y hubo algunos lugares en los que creo que tendrá un problema. El mayor es descargar los resultados. Cada uno de sus objetos RadioBox() debe tener un identificador para que pueda hacer referencia a ellos más adelante para obtener los datos. A continuación se muestra una forma de hacerlo, que asigna la referencia a una lista y luego recorre esa lista de referencias, envía el mensaje para obtener el elemento seleccionado y almacena el resultado en otra lista. Todo esto sucede cuando se hace clic en el botón Aceptar.
Names Default To Here( 1 );
dt = Current Data Table();
number = N Cols( dt );
rbList = {};
rbResult = {};
FactorType = {"Continuous", "Categorical"};
win = New Window( "Data Entry",
<<MODAL></MODAL>
Si aún no lo ha hecho, le sugiero que lea la Guía de secuencias de comandos JMP, Ayuda > Libros > Guía de secuencias de comandos. Será de gran valor a medida que aprendas el lenguaje y las operaciones necesarias para que un guión funcione como deseas. Además, disfruté mucho el libro. JSL Companion: Aplicaciones del lenguaje de secuencias de comandos JMP.Comenzaría con la Guía de secuencias de comandos porque se incluye de forma gratuita en JMP, pero JSL Companion proporciona una introducción estructurada al uso de JSL a través de una serie de aplicaciones prácticas (y todo el código está incluido).
¡Espero que esto te ayude en tu camino! ¡Disfrutar!
@Julian
Re: Bucle For en ventana nuevaHola @dg1 ,
Parece que aparece en la parte superior de la ventana, pero solo una vez, ya que lo has programado. Si desea un cuadro de texto para cada selección de columna, puede agregar otro en cada iteración de su bucle for():
Names Default To Here( 1 );
dt = Open("Example1.jmp");
number = N Cols( dt );
FactorType = {"Continuous", "Categorical"};
New Window( "Data Entry",
<<MODAL></MODAL>

Re: Bucle For en ventana nueva¡Gracias! ¿Sabe también cómo asegurarse de que el cuadro de texto que dice Tipo de factor también aparezca junto con los cuadros de Radio?Re: Bucle For en ventana nuevaHola @dg1 ,
¡Estás haciendo todo correctamente! Pero su uso de <
Names Default To Here( 1 );
dt = Open("Example1.jmp");
number = N Cols( dt );
FactorType = {"Continuous", "Categorical"};
New Window( "Data Entry",
<<MODAL></MODAL>
@Julian