Sin usar JSL, ¿hay alguna forma de calcular una columna que le diga cuántas filas quedan hasta que ocurra un evento?
La siguiente fórmula funciona, pero necesita que el usuario haga clic n veces en "Aplicar"

Podrías usar una fórmula más complicada. Algo como esto podría funcionar (es posible que no maneje todos los casos especiales correctamente):
If(Row() == 1,
m_events = Loc(:Event << get as matrix, 1);
);
smallerRows = Loc(Row() <= m_events);
If(N Items(smallerRows) == 0,
0,
rowNextEvent = m_events[smallerRows[1]];
If(rowNextEvent,
rowNextEvent - Row();
);
);
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-420085" slang="en-US">Re: número de filas hasta el evento</LINGO-SUB><LINGO-BODY id="lingo-body-420085" slang="en-US"><P>Tal vez podamos usar el hecho de que la solución, si el orden de las filas se invierte, ¿se autocompleta en JMP?</P><P> </P><P><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="event reversed.png" style="width: 999px;"><IMG src="https://us.v-cdn.net/6038925/uploads/images/35991iD2492C320390E2C4/event%20reversed.png" role="button" title="event reversed.png" alt="evento invertido.png" /></SPAN></P><P> </P><P>Por ejemplo, esto invertirá el orden de los eventos.</P><P>Evento invertido:</P><PRE><CODE class=" language-jsl">:Event[(N Rows() - Row()) + 1]
Ahora los valores se completan automáticamente a medida que el cálculo funciona de arriba a abajo.
n filas después del evento inverso:
If( :Event inverted == 1, 0,
Lag( :n rows after inverted event, 1 ) + 1
)
Finalmente, invertimos esa columna.
:n rows after reversed event[(N Rows() - Row()) + 1]
¿Alguna idea sobre cómo hacer esto en una fórmula que sea fácil de interpretar?
Llegados a este punto tendré que preguntar: ¿qué estamos buscando aquí? ¿Fórmula única que también se explica por sí misma?
La fórmula que proporcioné es una fórmula única (requerirá un pequeño cambio para manejar los casos si no hay eventos después de algún punto específico) pero difícilmente se explica por sí misma, pero se puede acercar más a una mediante el uso de variables de apoyo con buenos nombres.