Tengo algunos datos experimentales que toman una medida cada minuto durante 10 minutos.
Luego quiero tomar un promedio para un subconjunto de puntos de datos en el medio del conjunto.
Mi solución es tener una columna oculta (: Rango) con una fórmula que contiene los criterios (ingresados a través de una ventana modal) y establece cada fila como 1 o 0 si se va a incluir en el cálculo.
Mi columna de salida luego usa la función Col Mean para tomar el promedio de los puntos de interés.
Esta parte está funcionando muy bien, pero también quiero que la primera fila en blanco (no incluida en el cálculo) tome el valor de la siguiente fila, lo que ayudará con la manipulación de datos en el futuro. He agregado la función Lag como se muestra a continuación.
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 )
)
El problema es que cuando ejecuto esto como un script, la función Lag no funciona. Si ingreso manualmente la fórmula anterior, funciona bien, pero el script a continuación solo completa las filas donde: Rango == 1, a pesar de que puedo ver que la fórmula se aplica correctamente a la columna.
New Column( "Mean Measurement", Formula(
If( :Range == 1,
Col Mean( :Measurement, :ID, :Range ),
Lag( :Measurement, -1 ))))
¿Hay alguna razón para esto, y alguna forma en que pueda obligar a la columna a volver a evaluar la fórmula para que se ejecute correctamente?