Establecer el valor de la celda si se selecciona la filaHola,
Soy un novato que intenta escribir un script para completar el valor de una celda si se selecciona su fila.El caso de uso que tengo en mente es el siguiente: durante el análisis exploratorio de datos, selecciono algunos puntos en un gráfico que sospecho que son valores atípicos.Tengo otra secuencia de comandos que me ayuda a ver los datos sin procesar (que no forman parte de la tabla JMP), y en función de mirar esos datos sin procesar, decido que la fila correspondiente a este punto de datos debe excluirse de mi análisis (es decir, los datos sin procesar utilizados generar esa fila en particular es basura).Simplemente puedo hacer clic derecho y seleccionar "Excluir".Ahora, todo mi análisis de JMP analiza solo los buenos puntos de datos, lo cual está bien y es excelente.Ahora, después de terminar todo este análisis, quiero regresar y hacer un análisis de las filas que excluí.Por ejemplo, si cada fila representa datos recopilados por diferentes operadores, tal vez un operador esté produciendo muchos datos basura.Por supuesto, puedo hacer una solución de apuntar y hacer clic para seleccionar todas las filas excluidas y crear una nueva tabla de datos de subconjunto, pero lo que preferiría hacer es agregar una nueva columna (llamémosla FlagColumn) y establecer todas las filas seleccionadas en FlagColumn en " malo" y todas las demás filas a "bueno".Lo que tengo en mente es algo como esto:
dt = current data table();
rows = dt << get selected rows ;
For( i=1,
i<=5,
i++,
if(Row State(i) == Selected State(1),
dt:FlagColumn[i] = 0
);
);Pero esto no parece hacer nada, creo que no entiendo cómo configurar correctamente la condición en la declaración if.Además, aún no he averiguado cómo obtener el número de filas en la tabla (así que, para fines de prueba, en este momento simplemente configuré el índice i en el ciclo for para que se ejecute de 1 a 5).¿Alguna sugerencia?¡Gracias de antemano!
Tabla de datossecuencias de comandosRe: Establecer el valor de la celda si se selecciona la filaSi no desea codificar y mantenerlo interactivo, puede usar Filas -> Selección de fila -> Selección de nombre en columna. Esto creará una columna donde tendrá un valor para las filas seleccionadas y un valor (o faltante) de las demás. Algo similar a lo que se logró con la opción de estado de fila con guión mencionada anteriormente
Re: Establecer el valor de la celda si se selecciona la fila@jdwatson ,
Hmmm, para mí, la validación de datos puede ser una tarea que puede requerir más de una sesión de edición.Además, tal vez soy torpe, pero para mí es muy fácil anular la selección accidentalmente.Aquí hay una sugerencia alternativa que comprende @Thierry_S sugerencia:
- si los datos resumidos/calculados se consideran de mala calidad, haga clic con el botón derecho y excluya
- una vez que haya terminado de validar y ejecutar los análisis estándar
- cree una nueva columna, la llamaré Estado Excluido.Hacer el tipo de datos estado de fila, tiene un icono de estrella roja.Ahora puede hacer clic en el nombre de esa columna y seleccionar Copiar desde estados de fila Vea la captura de pantalla a continuación.

- Luego cree una columna llamada Bandera o Excluida, hágala Numérica, Nominal. hacer una fórmula Excluido() y seleccione el botón aplicar, luego borre la Fórmula, presione DE ACUERDO . Ahora tendrá un 1 en las filas excluidas y un 0 en el resto.
- Ahora puede borrar los estados de las filas y usar esta columna Marca como estaba previsto.Pero tiene el beneficio adicional de hacer clic rápidamente en la columna Estado excluido y seleccionar Copiar a estados de fila , si necesita realizar más análisis sobre los datos de buena calidad.
Las columnas de estado de fila son especialmente agradables cuando hay datos sospechosos o solicitudes de análisis de "qué pasaría si bla, bla, se eliminara".Puede mantener un estado de fila para las exclusiones estándar y las exclusiones estándar + adicionales.Esta es una forma de manejo de estado de fila, que no es interactiva ni dinámica, pero puede ser muy útil.
Re: Establecer el valor de la celda si se selecciona la filaAh, sí, parece que esto también logra lo mismo que yo quería hacer, sin ninguna secuencia de comandos.Sin embargo, parece que el filtro de datos local no muestra las columnas de estado de fila.¿Hay alguna manera de configurar una ventana de gráfico de modo que incluya filas excluidas y luego filtrar usando el estado de la fila?O ahora que digo esto, tal vez mi verdadera pregunta es cuál es la forma más sencilla de obtener un gráfico/análisis de solo las filas excluidas sin crear tablas de datos de subconjuntos separados?
Re: Establecer el valor de la celda si se selecciona la filaCreo que respondí mi propia pregunta.Agregándolo a continuación en caso de que otros se encuentren con este problema:
dt = current data table();
rs = dt << Get Row States;
For( i=1,
i<=Length(rs),
i++,
if(rs[i] == 1,
FlagColumn[i] = 1
);
);Re: Establecer el valor de la celda si se selecciona la filaUna cosa más,
¿Ha considerado cambiar el Tipo de datos de FlagColumn a "Estado de fila" y usarlo para capturar el estado de selección actual (haga clic con el botón derecho en el encabezado de columna> Celdas de estados de fila> Seleccionar/Deseleccionar?
Mejor,
TSRe: Establecer el valor de la celda si se selecciona la filaHola,
Primero, no está claro por qué definiría "filas = dt << obtener filas seleccionadas" y no lo usaría en la secuencia de comandos posterior.
En segundo lugar, ¿ha considerado la fórmula mucho más simple: "Seleccionado ()" que devuelve 1 si se selecciona y 0 si no (es decir, establezca la fórmula FlagColumn como: "Seleccionado ()"). Es de destacar que, como todas las fórmulas, se evalúa automáticamente de forma predeterminada, por lo que es posible que deba cambiar al estado Suprimir evaluación en el cuadro de diálogo de la fórmula para conservar un cierto estado de selección. Además, si solo necesita capturar el estado de selección una vez, puede agregar la fórmula, aplicar el cambio y eliminar la fórmula, lo que mantendrá un registro estable de lo que se seleccionó al ejecutar la fórmula.Re: Establecer el valor de la celda si se selecciona la filaMire el controlador make rowstste