Obtenga el valor de una columna dada en la primera fila seleccionada usando JSLEstoy tratando de simplemente obtener el valor de una columna dada en la primera fila seleccionada, pero de alguna manera esto es sorprendentemente difícil.Esto es lo que tengo hasta ahora:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3);
selRow = ( dt << get selected rows() )[0];
Row() = selRow;
site = :Site; // returns "1", should return "5" (:Site from row 15)
Espero que "sitio" termine con 5, pero termina con 1.¿Que me estoy perdiendo aqui?
También tenga en cuenta que estaba intentando algo similar a esto en una tabla con 33 millones de filas, y JMP no respondió durante varios minutos.Estaba experimentando con diferentes formas de hacer esto, por lo que es posible que le haya pedido sin darme cuenta que primero creara una lista de 33 millones de cosas y luego tomara el elemento 14M-th.Espero que cualquier solución que termine con la pregunta anterior no haga eso.
Automatización y secuencias de comandosRe: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSLDebe hacer referencia solo al primer elemento [1] en la matriz Obtener filas donde
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
dt << Select Where( :Wafer Number == "16" & :Die X == 3 );
site = :site[(dt << get selected rows())[1]];
// or
dt = Open( "$SAMPLE_DATA/Probe.jmp" );
site = :Site[(dt << get rows where( :Wafer Number == "16" & :Die X == 3 ))[1]];
Re: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSLEntonces, ¿los datos en las tablas de datos se almacenan fundamentalmente como un conjunto de columnas, cada una de las cuales es una lista de entradas?
(Y sí, soy un codificador de python, así que me perdí el [0] -> [1] cosa...)
Además, revisé todas las secciones de documentación de JMP que pensé que podrían ayudar y no pude encontrar nada sobre esto, es decir, la notación :site[rowNumber].Si alguien sabe dónde está esto, me encantaría leer esa sección de la documentación.
¡Gracias, Jim!
Re: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSLSubíndice de tabla de datos es una buena publicación en la comunidad y puede encontrar documentación en la Guía de secuencias de comandos Guía de secuencias de comandos > Tablas de datos > Acceder a valores de datos es un buen punto de partida. Proporciona enlaces adicionales a otras páginas con más información.
Re: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSL@txnelson : este enfoque tarda la mayor parte de un segundo completo en devolver el valor en una tabla grande (33 millones de filas).De lo contrario, la mesa se comporta bien, por lo que creo que este enfoque puede estar haciendo algo pesado debajo de la cubierta...¿Hay otros enfoques que podría probar?
--> ACTUALIZAR: Me acabo de dar cuenta de que es la llamada "Obtener filas seleccionadas ()" la que es lenta, no el acceso a los datos.Curioso, parece que eso debería ser rápido.
Re: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSLPor lo general, uso Obtener filas donde () sobre Seleccionar dónde, seguido de Obtener filas seleccionadas.A menos que necesite la visualización de las filas seleccionadas, siempre pensé que era más rápido.
Re: Obtenga el valor de una columna dada en la primera fila seleccionada usando JSL@txnelson Mi verdadero propósito no era "seleccionar dónde", sino que estoy haciendo clic en un punto en un diagrama del generador de gráficos vinculado a la tabla de datos (A), y quiero actualizar el filtro de datos en un diagrama del generador de gráficos vinculado a la tabla de datos (B).El primer clic selecciona las filas, luego el JSL debe tomar el campo de id de la fila seleccionada de la primera tabla y luego pegar ese valor en el filtro de datos en el diagrama Graph Builder B.
Lo hice funcionar hoy (¡sí!) Usando Obtener filas seleccionadas (), pero es curioso que esa función sea relativamente lenta en grandes conjuntos de datos.Me hace pensar que está buscando en una columna invisible todos los "1" o algo así...
¡Gracias por tu ayuda!