Tomando el promedio de la columna basado en alguna condición en otra columnaEstoy buscando un método para tomar el promedio de los datos de la columna en función de alguna condición en otra columna.
La siguiente tabla muestra lo que quiero lograr.
Quiero tomar el valor de intensidad promedio de tiempo y tabular una nueva columna con el valor promedio.
El promedio se tomará según el 'Paso' y el Grupo como un disparador, es decir, todos los valores de intensidad del mismo Grupo y el mismo Paso serán
promediar y tabular una vez. Probé la función Col mean pero sigue insertando el valor promedio varias veces.
Por cierto, ¿es posible crear una nueva tabla con resumen (valor promedio)? La tabla incluirá el paso que se ha promediado, el grupo al que pertenece y el valor promedio (solo los datos en rojo).
| Sello (s) de tiempo | Paso | Intensidad | Grupo | (Quiere promedio) Por ejemplo |
1 | 1 | 110 | A | 119,7 |
| 2 | 1 | 115 | A | - |
| 3 | 1 | 123,5 | A | - |
| 4 | 1 | 124 | A | - |
| 5 | 1 | 126 | A | - |
| 3 | 2 | 132 | B | 205,73 |
| 4 | 2 | 140 | B | - |
| 5 | 2 | 345,2 | B | - |
| 1 | 2 | 10 | A | 18.33 |
| 2 | 2 | 20 | A | - |
| 3 | 2 | 25 | A | - |
| . | . | . | . | |
| . | . | . | . | |
AnalíticaTabla de datosScriptingRe: tomar el promedio de la columna basado en alguna condición en otra columnaUna ligera modificación a la fórmula te dará lo que deseas.

If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( :Intensity, :Group, :Step ),
.
)
Re: tomar el promedio de la columna basado en alguna condición en otra columnaGracias, la fórmula funcionó. Por cierto, ¿es posible anidar esta fórmula 'Si' en otra 'Si' de modo que esta fórmula se ejecute solo cuando la 'intensidad' sea mayor que 100. ¿Cómo se verá la fórmula entonces?
Re: tomar el promedio de la columna basado en alguna condición en otra columnaSu pregunta tiene un par de formas de interpretarse.
- No incluir en el cálculo de la media del grupo ningún valor de intensidad> 100
If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( If( :Intensity > 100, :Intensity, . ), :Group, :Step ),
.
)
- Si el primer valor de Intensidad en el grupo es> 100, no calcule la media del grupo
If( (Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step) & :Intensity > 100,
Col Mean( :Intensity, :Group, :Step ),
.
)
Re: Tomar el promedio de la columna basado en alguna condición en otra columnagracias jim