Tengo una pregunta de dos partes. Estoy intentando cambiar el valor de las filas anteriores de una columna en función de los datos de otra columna y tengo un par de problemas. En el siguiente ejemplo, cuando el estado cambia de Estado1 a cualquier otra cosa (observe las celdas verdes), quiero cambiar el valor de la celda 6 filas hacia arriba (celda roja).

La fórmula de columna que estoy usando se encuentra a continuación.

Como puede ver en la tabla, el script inserta un 99 en Fila()-6 pero también hay un 99 en Fila(). No puedo entender de dónde viene ese último.
El problema más grande que estoy tratando de resolver aquí es que quiero completar todas las celdas en y por encima del cambio de estado con 99 (So Row(), Row()-1, Row()-2, ..., Row ()-6 todos son 99). Intenté usar un bucle FOR para hacer esto (ver el segundo script a continuación) pero no hace nada.

Como estoy seguro de que puedes ver, soy bastante ignorante sobre JSL, por lo que cualquier ayuda al respecto sería muy apreciada. Muchas gracias.
Gracias, yo también quiero saberlo.
Como no tengo tu tabla de datos, esto es solo una suposición.
Names Default To Here(1);
dt = New Table("Untitled 2",
Add Rows(23),
Compress File When Saved(1),
New Column("S",
Character,
"Nominal",
Set Values(
{"A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
"A", "B", "B", "B", "C", "C"}
)
)
);
dt << New Column("R", Numeric, Continuous, Formula(
If(:S == "A" & Lag(:S, -6) != "A",
99
, :S == "A",
Lag(:R)
);
));
Puede utilizar Lag para buscar valores detrás y también hacia adelante.
¡Gracias por la ayuda! No sabía que podías tener retrasos negativos. Eso es muy útil.