Hola,
Estoy tratando de seleccionar todas las filas con el valor de 1 en la columna Violación, extraer el valor de la columna Dispositivo y luego excluir todas las filas asociadas con esos dispositivos.¿Alguien puede ayudarme a crear un guión?¡Gracias!
A continuación se muestra un script que realizará esta acción.
Names Default To Here(1);
dt = Current Data Table();
dt << Clear Row States;
violation_rows = dt << Get Rows Where(:Violation == 1);
violation_devices = Associative Array(dt[violation_rows, "Device"]) << get keys;
dt << Select Where(Contains(violation_devices, :Device)) << Exclude(1) << Clear Select;
- Obtener números de fila donde: Violación == 1
- Use el subíndice de la tabla de datos y la matriz asociativa para obtener los dispositivos
- Seleccione filas con esos dispositivos y exclúyalos
También puede hacer esto fácilmente de forma interactiva (y esto se registrará mediante un registro mejorado):
- Cree una tabla de resumen con Dispositivo como grupo e Infracción como subgrupo. También asegúrese de que las tablas estén vinculadas
- Seleccione 0 valores de N(1) (indica dónde Validación == 1) y luego haga clic con el botón derecho en las filas para invertir la selección
- Ahora tienes los dispositivos seleccionados en tu tabla principal
- Ahora puede excluir estas filas
JMP te creará un script como este
// Open Data Table: Sample(1).jmp
// → Data Table("Sample(1)")
Open("$DOWNLOADS/Sample(1).jmp");
// Data table summary
// → Data Table("Sample(1) By (Device)")
Data Table("Sample(1)") << Summary(Group(:Device), N, Subgroup(:Violation), Freq("None"), Weight("None"));
// Select matching cells
Data Table("Sample(1) By (Device)") << Select Where(:"N(1)"n == 0);
// Invert current selection
Data Table("Sample(1) By (Device)") << Invert Row Selection;
// Toggle selected rows' exclude state
Data Table("Sample(1) By (Device)") << Select Where(:"N(1)"n == 0) << Invert Row Selection << Exclude;
// Close Data Table: Sample(1) By (Device)
Close(Data Table("Sample(1) By (Device)"), NoSave);
y con algunas pequeñas modificaciones, será un script bastante robusto que se usará en el futuro (use variables en lugar de nombres de tabla, comience con Nombres predeterminados aquí (1)... para mencionar algunos cambios).
Gracias por la pronta respuesta. ¡Me acabas de hacer el dia!