JSL: ¿Alterar los valores en un rango de filas basado en cadenas coincidentes en una segunda columna?Nuestro software de recopilación de datos comienza un poco antes que nuestros experimentos, por lo que nos gustaría eliminar ese tiempo de retraso en los datos JMP de la siguiente manera:
1. El usuario ingresa la fecha y hora de inicio de cada experimento (pueden ser múltiplos que comienzan en diferentes momentos en la misma tabla de datos). Esta parte tengo un guión con un cuadro de lista.
2. Analizar fecha y hora.
3. Encuentre el rango de filas correlacionadas con cada experimento específico basándose en la coincidencia con el identificador de cadena en la Columna A
4. Elimine todas las filas antes de comenzar la fecha y la hora.
5. Cambie el tiempo de experimento transcurrido (en tiempo decimal) para comenzar en la fecha y hora de entrada.
He tenido éxito en todo hasta el # 5, donde recibo mensajes de error. Idealmente, solo restaría el número en la primera fila ahora del rango para cada experimento de cada celda en la columna de tiempo transcurrido. ¿Un bucle tendría más sentido aquí? ¿Debo crear una nueva columna para cada experimento que haya transcurrido el tiempo y luego combinar? Gracias por cualquier ayuda y scripts.
Re: JSL: ¿Alterar los valores en un rango de filas basado en cadenas coincidentes en una segunda columna?Gracias, esto fue de gran ayuda, me las arreglé para hacer que esto funcionara en mi script, pero he llegado a otro obstáculo. Los puntos de datos no se alinean perfectamente con mi hora de inicio, así que termino con mi primer punto de tiempo desactivado hasta en un minuto. Me gustaría tirar de ese primer punto de tiempo a 0 en lugar del ~ 0.01 en su momento. Sin embargo, no obtengo ningún valor en mi columna de tiempo ajustado. El siguiente es mi código donde se adjunta el inicio de tiempo.
t1 = dt << Get Rows Where (:BatchID == "ABCD");
t2 = dt << Get Rows Where (:BatchID == "EFGH");
dt << New Column("TimeStart", Number);
:TimeStart[t1] = timestart1;
:TimeStart[t2] = timestart2;
dt << New Column("NewEFT", Number, Formula((:Datetime-:TimeStart)/3600));
dt << Select Where(:NewEFT< 0);
dt << delete rows;
dt << Delete Columns("EFT_hrs");
dt << New Column("Adjusted EFT", Number);
:Adjusted EFT[t1] = :NewEFT - min(:NewEFT[t1]);
:Adjusted EFT[t2] = :NewEFT - min(:NewEFT[t2]);Re: JSL: ¿Alterar los valores en un rango de filas basado en cadenas coincidentes en una segunda columna?Usted puede encontrar algo de interés en este hilo , aunque los detalles dependerán del formato específico de sus datos.