Estoy intentando escribir una fórmula de columna que calcule el producto de todas las filas (no vacías) hasta la fila actual.
Adjunto una tabla de datos de ejemplo (y captura de pantalla).
Estoy intentando que la columna "Producto" sea el producto de todas las filas no vacías de la columna "Valor". Muestro el resultado calculado manualmente y las matemáticas en "Resultado deseado" y "Explicación del resultado deseado" a la derecha.

Un par de problemas del conjunto de datos que intenté resaltar en la tabla de datos de ejemplo.
1. El número de filas por "Grupo" variará entre grupos.
2. El “Grupo” estará siempre unido y en orden. Todo el grupo 1 estará junto. El grupo 1 siempre irá antes que el grupo 2.
3. La columna Valor solo tendrá una fila no vacía por grupo. Siempre será la primera fila de ese grupo.
Creo que esto podría requerir un tipo de fórmula "bucle" o "para", pero tengo experiencia limitada en su elaboración.
Incluso si no tiene una solución, agradezco cualquier idea o enlace a guías u otras discusiones que crea que podrían llevarme a una solución.
Intentos anteriores:
Pensé que la respuesta de txnelson a esta pregunta ( https://community.jmp.com/t5/Discussions/How-to-multiply-all-elements-in-a-list/td-p/667633 ) podría funcionar, pero no lo he hecho. No conseguí que diera el resultado que estoy buscando.
¡Gracias por su tiempo y ayuda!
Versión JMP: 17.2.0, Windows 10
Una opción que utiliza el conocimiento de que el valor siempre se encuentra en la primera fila para cada grupo.
If(Row() == 1,
val = 1;
);
If(Row() == Col Min(Row(), :Group),
val = val * :Value;
,
.;
);

Editar:
Y aquí hay otra comprobación si: Falta valor o no
If(Row() == 1,
val = 1;
);
If(!IsMissing(:Value),
val = val * :Value;
,
.
);
También debería poder reemplazar primero If con As Constant
As Constant(val = 1);
If(!IsMissing(:Value),
val = val * :Value;
,
.
);
¡Gracias Jarmo, funcionó perfectamente!