Hola, necesito ayuda para poner una fórmula para encontrar una fila más reciente según las condiciones y recuperar un valor de columna diferente/realizar cálculos entre dos parámetros de fila (DateTime).
La siguiente tabla de datos (también adjunta) tiene: columnas Activo, Fecha y hora, Discreto y Acción.
Los datos se ordenan según el activo primero y luego la fecha y hora (ascendente)
También hay una variable de tabla days_threshold = 4.
Action(Desired) es la forma deseada de Action en la que la fórmula actual

necesita ser modificado.
Cualquier fila que obtenga un Discreto = 1 (que normalmente se determina mediante reglas de fórmula que se omiten aquí y en su lugar se proporcionan valores de muestra), Acción necesita comenzar a buscar sus propias filas anteriores (en Fecha y hora forma descendente). Dos condiciones en esa búsqueda son:
1- Buscando lo mismo Activo para cual Discreto =1 (es decir, XY01 o XY02)
2- Mira hasta el valor más reciente de Acción = 1 es encontrado .
Calcule el número de días entre la última vez que la acción fue 1 frente a la fecha y hora de la fila actual.
Si la diferencia (en días) >= days_threshold = 4 ---> entonces Acción de la fila actual = 1
De lo contrario, si la diferencia (en días) < days_threshold ---> entonces Acción de la fila actual = 0
Solo interesado en encontrar la hora más reciente cuando la Acción fue "1"... Una vez que se encuentra ese valor único (si existe), la búsqueda puede detenerse en ese punto. El límite de búsqueda es hasta la primera aparición de ese activo (es decir, el registro más antiguo). Si la acción nunca se configuró en "1" anteriormente, entonces la acción de la fila actual se puede configurar en "1"
por ejemplo, la fila 2 es la primera vez que XY01 obtiene Acción = 1 (basado en Discreto, que a su vez está vinculado a algunas reglas, solo muestra valores w/ en este ejemplo).
a continuación, en la fila 3, Discreto vuelve a establecerse en 1, pero esta vez la Acción debe ser 0, ya que la diferencia de días entre las filas anterior y actual es 0 (< days_threshold).
De manera similar, para la fila 5, la Acción sigue siendo 0, ya que solo pasaron 3 días desde la última vez que la Acción fue 1.
Finalmente, Action se establece en "1" en la fila 6.
Proporcionó dos activos siguiendo esta idea: establezca los valores deseados en Acción (deseado).
Prefiero que esto sea una fórmula en lugar de un guión.
gracias de antemano equipo JMP.
Altugbayram
