Cálculo condicional por filasTengo una tabla de datos con tres columnas de datos de proceso y una columna con datos de calidad. Me gustaría calcular un valor (en columnas nuevas, cada una para uno de los parámetros del proceso) si el valor del proceso entre dos filas está cambiando.
Entonces, antes que nada, necesito que JMP mire cada fila y luego determine si cada una de las variables del proceso ha cambiado (¿si es función?).
Si se han producido cambios, calcule (calidad(1)-calidad(2))/(valor de proceso(1)-valor de proceso(2))
Ingeniería de Calidad y ProcesosRe: Cálculo condicional por filasPuedes calcular la diferencia entre filas usando diferencia() o Retraso() .
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(3),
Compress File When Saved(1),
New Column("P", Numeric, "Continuous", Format("Best", 12), Set Values([1, 1, 2])),
New Column("Q", Numeric, "Continuous", Format("Best", 12), Set Values([3, 3, 6]))
);
dt << New Column("", Numeric, Continuous, Formula(
difval1 = Dif(:P);
difval2 = Dif(:Q);
If(difval1 & difval2,
difval2 / difval1;
,
.
);
));
Puede explorar los valores de subexpresiones desde el editor de fórmulas si es necesario

Re: Cálculo condicional por filasHola.
Gracias por su rápida solución. En el script creas un dt. Ya creé un conjunto de datos. ¿Puedo consultar este también?
Re: Cálculo condicional por filasPuede. La forma en que debe hacerlo depende de dónde obtenga la tabla de datos. Si lo abres desde algún lugar usando Abierto() es el camino a seguir (consulte el Índice de secuencias de comandos (en el menú Ayuda de JMP) y la Guía de secuencias de comandos para obtener más información sobre las secuencias de comandos).

Re: Cálculo condicional por filasTambién puede crear directamente la fórmula en su tabla de datos, sin necesidad de utilizar el editor de scripts.
difval1 = Dif(:P);
difval2 = Dif(:Q);
If(difval1 & difval2,
difval2 / difval1;
,
.
);