Automatización de correcciones de datos individualesHe identificado errores muy específicos en mi conjunto de datos. Puedo arreglarlos a mano muy fácilmente, pero por varias razones, necesito automatizarlo o crear un script. Específicamente, necesito cambiar el valor en la columna "Tarea" de "Colaborador" a "Revisor", pero solo para celdas muy específicas entre muchas. Estas celdas se pueden identificar por el contenido de una o más columnas, "Nº de informe" o "Nombre".
Tanto los nombres como los valores de la tarea son válidos y aparecen en otros registros que no es necesario cambiar.
El archivo adjunto es un pequeño ejemplo en el que "Colaborador" debe reemplazarse por "Revisor" en las filas 1 y 2.
No pude encontrar la manera de cambiar solo esos registros usando Col=>Recode.
Revisé el Registro y probé el generador de flujo de trabajo, pero ahora aparecen las ediciones manuales en la tabla o el uso del Editor de filas.
Estoy intentando aprender JSL. Aunque esto parece simple, me quedé atascado y agradecería que me indicaran la sección correcta en la documentación o los conceptos a utilizar.
Automatización y secuencias de comandosCombinación y limpieza de datosRe: Automatizar correcciones de datos individualesSubíndices de tablas de datos , << Obtener filas donde, << Seleccionar dónde, para cada fila, Matriz asociativa() son algunas de las cosas que probablemente necesite.
No entendí esto " Tanto los nombres como los valores de las tareas son válidos y aparecen en otros registros que no es necesario cambiar", por lo que no puedo dar una respuesta más exacta.
Re: Automatizar correcciones de datos individualesGracias por solicitar una aclaración.
Lo que quise decir es que no puedo recodificar todos los registros que involucran a "John Doe" o "Jane Doe" porque la mayoría de ellos no deben cambiarse.
El nombre de John Doe está escrito correctamente y no es necesario cambiarlo.
John Doe figura correctamente como colaborador y revisor de otros informes.
No puedo recodificar todos los registros de la tarea "Colaborador" porque la mayoría son correctos.
No puedo recodificar todos los registros de un informe específico porque la mayoría de las filas serán correctas.
Necesito cambiar una celda específica, como informe#123456 para John Doe de colaborador a revisor.
Básicamente es un problema del diagrama de Venn. Puedo seleccionar las filas que necesitan cambios, pero no sé cómo cambiar el valor en una columna específica para las filas seleccionadas.
Eso lo hace más claro?
Re: Automatizar correcciones de datos individualesRealmente no, porque no entiendo en qué deberían basarse esas selecciones, pero aquí hay algunos ejemplos de lo que se puede hacer.
Condiciones de uso
Names Default To Here(1);
dt = Open("$DOWNLOADS/IndividualValueEditsExample.jmp");
rows_to_update = dt << Get Rows Where(:"Report#" == "123456" & :Task == "Contributor" & :Name == "John Doe");
dt[rows_to_update, "Task"] = "Reviewer";
Usando filas seleccionadas
Names Default To Here(1);
dt = Open("$DOWNLOADS/IndividualValueEditsExample.jmp");
dt << Select Rows(1::2);
sel_rows = dt << Get Selected Rows;
dt[sel_rows, "Task"] = "Reviewer";Re: Automatizar correcciones de datos individualesSe puede acceder directamente a cualquier celda de datos específica en una tabla de datos JMP mediante
Columna[fila]
Por lo tanto, para cambiar el valor de Task para las filas 1 y 2, el JSL más directo sería
names default to here(1);
:Task[1] = "Reviewer";
:Task[2] = "Reviewer";
La evaluación de las reglas para determinar qué filas deben cambiarse, según sus declaraciones, es lo que no puedo determinar. Es necesario indicar más aclaraciones/detalles.
Re: Automatizar correcciones de datos individuales¡Muchas gracias! Eso es exactamente lo que necesitaba.