¿Suma acumulada por fórmula de agrupación y valores rodantes?Tengo un conjunto de datos con grupos, días y visitas en esos días. Me gustaría obtener una suma móvil cada 3 días, por lo que en el día 3 el valor sería la suma de los días 1, 2, 3, pero en el día 4 el valor es la suma de los días 2, 3, 4. Y haz esto por grupo. Sé que puedo usar la suma acumulada por grupo, pero eso devuelve la suma cada día, por lo que el día 4 sería la suma de los 4 días, pero me gustaría que el primer día termine en ese punto. Cualquier ayuda sería genial.
| Grupo | Día | Visitas |
| 1 | 1 | 0 |
| 1 | 2 | 0 |
| 1 | 3 | 9 |
| 1 | 4 | 10 |
| 1 | 5 | 14 |
| 1 | 6 | 22 |
| 1 | 7 | 11 |
| 1 | 8 | 12 |
| 2 | 1 | 2 |
| 2 | 2 | 4 |
| 2 | 3 | 1 |
| 2 | 4 | 3 |
| 2 | 5 | 2 |
| 2 | 6 | 2 |
| 2 | 7 | 3 |
| 2 | 8 | 1 |
Combinación y limpieza de datosIngeniería de Calidad y ProcesosRe: Fórmula de suma acumulada por agrupación y valores rodantes??Una opción sería usar Col Moving Average y multiplicarlo por la cantidad de días
Col Moving Average(:Visits, 1, 2, 0, 1, :Group) * 3

Re: Fórmula de suma acumulada por agrupación y valores rodantes??Aquí hay una forma de manejarlo.

avg = Col Moving Average( :Visits, weighting = 1, before = 2, :Group );
count = Col Cumulative Sum( 1, :Group );
If( count >= 3, avg * 3, . );
@jthi tiene la opción más simple... Supuse que Col Moving Average daba respuestas cuando n era menor que 3.