Seleccionar columnas específicas con el nombre JSL contiene códigoEl nombre contiene script:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
delviers todas las columnas, que contiene a. ¿Qué código se debe agregar para marcar una de estas columnas haciendo clic o haciendo doble clic en la columna del cuadro de lista?
Re: Seleccionar columnas específicas con nombre JSL contiene código@ram_asra_gmail_ , este enlace es para publicar que describe la creación de una interfaz de búsqueda y selección de ListBox.Si bien parte de la discusión usa el objeto JMP Class que está disponible en JMP14, la primera publicación describe la interfaz usando funciones: funciona en JMP 13.
Ver https://community.jmp.com/t5/Discussions/Can-a-scripted-quot-widget-quot-be-converted-to-a-Class/mp/182529#M40268
Los archivos adjuntos a la publicación original (TEB_LB_Widget.JSL, TestTEBSelector.jsl, TestLBFilter.jsl) se explican en la publicación con capturas de pantalla.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoAdemás, ¿podemos hacer un filtro similar para los elementos de una lista? gracias ramRe: Seleccionar columnas específicas con nombre JSL contiene códigoMuy buen ejemplo. ¿Podría también tener un jsl similar para el selector de filas para una columna?
Gracias
RAM
Re: Seleccionar columnas específicas con nombre JSL contiene código¡Perfecto!
Ahora el JSL está funcionando como se esperaba. Esto hace las cosas mucho más fáciles. Gracias de nuevo.
Re: Seleccionar columnas específicas con nombre JSL contiene código
JMP 13.2.1 tiene dt << Ir a (ref de columna) ; No tengo 13.1. Entonces, aquí hay un caso de prueba. Si esto funciona, se adjunta el script modificado. agregó JSL para llevar la ventana al frente () e ir a ()
Names Default to Here(1);
dt = open("$Sample_Data/Semiconductor Capability.jmp");
//select a column towards the end of the table
:PM_L1 << set selected(1);
wait(2);
dt << go to(:PM_L1);Re: Seleccionar columnas específicas con nombre JSL contiene códigoTienes razón. Su código está funcionando. Mi error fue el nombre del icono. No usé un espacio en blanco.
Después de cambiar el nombre del ícono a "Búsqueda de columna", funciona perfectamente.
Una última pregunta a este tema sería ¿qué código se debe agregar al script para no solo seleccionar la columna encontrada, sino también para ir a la columna encontrada?
Esto mejoraría aún más todo el proceso en caso de que la columna no esté en la parte visible de la ventana.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoNo sé a qué te refieres con " después de que se haya cerrado el cuadro de diálogo (a través del icono en la barra de herramientas) ".
¿Qué icono? ¿Es un script personalizado?
Cuando tiene un script que se ejecuta, pero no se ejecuta en diferentes condiciones, la mayoría de las veces es un problema de alcance.Por ejemplo, el primer script que le di para JMP13 y 12 funcionó, sin embargo, si la tabla de datos actual cambió mientras el cuadro de diálogo aún estaba abierto, la sintaxis: nombre de columna no funcionará. Era una debilidad en mi programa. Sin embargo, cuando convertí :colname en una cadena "colname" usando la función char() y haciendo referencia a la tabla de origen, es sólido.
Entonces, lo que sea que esté haciendo a través del ícono o el siguiente script está creando un problema de alcance y una versión de JMP no solucionará el problema.Entonces, dado que no ha compartido lo que está haciendo, solo puedo señalar algunas cosas que debe buscar:
- La secuencia de comandos debe usar nombres predeterminados aquí, si tiene otras secuencias de comandos que hacen referencia a dt.
- Asegúrese de que la tabla de destino original sea la tabla actual antes de volver a hacer clic en el botón de secuencia de comandos. (La barra de menú muestra la lista de tablas).
Creo que podría tener un problema de alcance o un problema de bloqueo de tabla. Buena suerte para encontrarlo.
Aquí hay una captura de pantalla, agregué el script como un complemento. Usé esto muchas veces mientras hacía otras cosas, lo usé en diferentes tablas y luego lo volví a usar y funciona de la misma manera tanto en JMP 13 como en JMP 12.No es un problema de versión.

Re: Seleccionar columnas específicas con nombre JSL contiene códigoNuevamente gracias por su apoyo y paciencia.
El script es mejor, pero como ya se mencionó, todavía es posible que no funcione. Por ejemplo, después de que se haya cerrado el cuadro de diálogo (a través del ícono en la barra de herramientas) y vuelva a ejecutar para una segunda búsqueda y seleccione ejecutar en la misma tabla de datos. Quizás las cosas mejoren con JMP 14.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoEl último script que envié (modificado para la Tabla de datos actuales) funciona tanto para JMP 12 como para JMP 13. Aquí hay una captura de pantalla de JMP 12. Como muestra la captura de pantalla, esta es la tabla de datos de muestra de JMP.
Sin embargo, la secuencia de comandos no funcionará si la tabla de datos actual cambia porque << Obtener columnas seleccionadas, devuelve una lista de referencias de columnas, no el nombre de la tabla.Entonces, :Chloroform devolverá un error si la tabla de datos actual no tiene esa columna.Entonces, para hacer que el script sea más sólido, cambié la línea 18 a continuación al JSL a continuación.El guión está adjunto.Debería incluso si la tabla original ya no es la tabla de datos actual. Sin embargo, si el script (aquí) cambia el valor de dt mientras el cuadro de diálogo aún está abierto, entonces ocurrirá una colisión de nombres y causará un problema. O si la tabla original se cierra cuando el cuadro de diálogo aún está abierto, se producirán problemas.
For(i=1, i<=nitems(_xx), i++, column(dt, char(_xx[i])) << set selected(0));

Re: Seleccionar columnas específicas con nombre JSL contiene códigoEl JSL ahora está trabajando con el JSL satrting:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Si el JSL está generalizado (para usarlo en una barra de herramientas de iconos) en JMP 13.1.0 como:
Names Default To Here( 1 );
dt = Current Data Table();
Me encuentro con el viejo problema => Sin selección de columnas. ¿Sabes si esto es específico para JMP 13.10.0?
Si es así, no intentes arreglarlo. Espero tener JMP 14 pronto.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoExcelente. Ahora el JSL está trabajando con JMP 13.1. Realmente aprecio su resistencia y la de Ian para resolver la pregunta.
Muchas gracias
Re: Seleccionar columnas específicas con nombre JSL contiene códigoLo siento por eso. tengo JMP 13.1
Re: Seleccionar columnas específicas con nombre JSL contiene códigoEste script funciona en JMP 12 y JMP 13. La razón por la que el script anterior no funciona en versiones anteriores de JMP es que los mensajes de la tabla de datos borrar selecciones de columna y seleccionar columnas (lista) no están disponibles. En versiones anteriores, las columnas deben seleccionarse y deseleccionarse una a la vez, por lo tanto, los cambios requeridos a continuación. No tengo acceso a ninguna versión anterior a JMP 12.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>
Re: Seleccionar columnas específicas con nombre JSL contiene código¿Qué versión de JMP estás usando?
Cuando ejecuto el script que envié, esto es lo que sucede:
- aparece el cuadro de diálogo con el cuadro de filtro
- escribir a , luego seleccione la edad, la edad está resaltada; seleccione el nombre y luego se selecciona el nombre; mantenga presionada la tecla control y seleccione la edad y ambos estarán seleccionados.
- borrar a y escriba ei luego se seleccionan el peso y la altura, comportamiento similar al anterior.
Lo siento, no te está funcionando.El script que envié funciona en JMP 14.1 en la PC. No funciona en JMP 13.2.1, antes de buscar una alternativa, ¿qué versión de JMP estás usando?
Cada vez que haga una pregunta, siempre debe especificar la versión de JMP que está utilizando.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoGracias por tu aguante. Realmente lo aprecio. Sin embargo, el JSL todavía no funciona según lo previsto (ver imagen).
El objetivo es obtener la misma función que se obtiene al usar Cols / Columns Viewer / Name contains. Se puede hacer clic en los resultados, que se muestran en el cuadro de búsqueda, y como resultado, se selecciona la columna específica en la tabla de datos de origen.
En caso de que esté disponible el código JSL adecuado, todo el proceso de búsqueda/selección de columnas se puede llevar a cabo mucho más rápido.

Re: Seleccionar columnas específicas con nombre JSL contiene códigoPrueba esto
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ))
);
ib = (fcb<<PARENT></PARENT>Re: Seleccionar columnas específicas con nombre JSL contiene código
Me estoy perdiendo de algo. No puedo acceder a la columna seleccionada en la tabla de datos.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoLo averigué:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fcb = Filter Col Selector( width( 250 ) )
);
ib = (fcb<<PARENT></PARENT>Re: Seleccionar columnas específicas con nombre JSL contiene códigoGracias por tu apoyo Ian. Todavía no está funcionando como quiero.
Estoy buscando el código JSL con el que puedo buscar columnas específicas por nombre (part1) y luego seleccionar la columna deseada en el cuadro de lista de part1 haciendo doble clic y marcando la columna en la tabla de datos.
La búsqueda general part1 se realiza con código JSL:
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Column Search",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
El marcado part2 se podría hacer para el ejemplo como el código del índice de secuencias de comandos
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
dt << Go to( :BP 12F );
¿Cómo deben combinarse para encontrar, marcar e ir a las columnas de una tabla de datos?
Re: Seleccionar columnas específicas con nombre JSL contiene códigoian,
Esta es una pregunta algo relacionada. Dado que la respuesta del blogger tenía lb<< El nombre contiene(), asumí que la solicitud es para que el usuario ingrese un campo de filtro y se seleccionarán todas las columnas.
Así que traté de exponer el campo Filtro (Mostrar filtro). Fallé en varios intentos de habilitar este segundo elemento del menú a través de JSL.
¿Hay algún método para habilitar el campo de filtro y configurar el filtro? Puedo obtener el recuento de menús de PopupBox y el texto del menú, pero no la selección.

Re: Seleccionar columnas específicas con nombre JSL contiene códigoNo estoy seguro de haber entendido correctamente, pero ¿es esto lo que buscas?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Make a FilterBoxSelector
New Window( "Filter Col Selector Example", lb = Filter Col Selector( width( 250 ) ));
// Define and set an 'action' script
actionScript =
Expr(
selected = lb << getSelected;
dt << clearColumnSelection;
dt << selectColumns(selected);
);
lb << setScript(actionScript);
// Try it out
lb << Name contains("sex");
Wait(3);
lb << Name contains("eight");Re: Seleccionar columnas específicas con nombre JSL contiene códigoGracias por su respuesta.Desafortunadamente, no obtuve los resultados con la actualización de JSL. Ahora mismo, no sé por qué.
Lo que realmente quiero es obtener un comportamiento similar al de Cols/Columns Viewer.../Name Contiene... en JMP.
En general, esto es posible con el código JSL mencionado del índice de secuencias de comandos:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( );
Sin embargo, después de ejecutar la cadena de búsqueda, me gustaría marcar la columna deseada/seleccionada en la tabla de datos, haciendo doble clic. Esta parte aún falta o no funciona dentro del código JSL del índice de secuencias de comandos.
Re: Seleccionar columnas específicas con nombre JSL contiene códigoPrueba esto
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Filter Col Selector Example",
fontobj = lb = Filter Col Selector( width( 250 ) )
);
lb << Name contains( "a" );
//select name
_xx = lb << get items;
_idx = Contains(_xx, "name");
lb << set selected( _idx, 1); //or 0 to unselectPara ver los mensajes disponibles para un objeto seleccione Menú principal > Índice de secuencias de comandos > Cuadro de visualización > FilterColSelector