Prendre la moyenne de la colonne en fonction d'une condition sur une autre colonneJe recherche une méthode pour prendre la moyenne des données de colonne en fonction d'une condition sur une autre colonne.
Le tableau ci-dessous montre ce que je veux réaliser.
Je veux prendre la valeur d'intensité moyenne dans le temps et tabuler une nouvelle colonne avec la valeur moyenne.
La moyenne sera prise en fonction du « pas » et du groupe comme déclencheur, c'est-à-dire que toutes les valeurs d'intensité du même groupe et du même pas seront
être moyenné et totalisé une fois. J'ai essayé la fonction Col Mean mais elle continue d'insérer la valeur moyenne plusieurs fois.
Btw, est-il possible de créer une nouvelle table avec un résumé (valeur moyenne). Le tableau comprendra le pas qui a été moyenné, le groupe auquel il appartient et la valeur moyenne. (juste les données en rouge)
| Horodatage(s) | Marcher | Intensité | Grouper | (Veuillez moyenne) Pour par exemple |
1 | 1 | 110 | UNE | 119,7 |
| 2 | 1 | 115 | UNE | - |
| 3 | 1 | 123,5 | UNE | - |
| 4 | 1 | 124 | UNE | - |
| 5 | 1 | 126 | UNE | - |
| 3 | 2 | 132 | B | 205.73 |
| 4 | 2 | 140 | B | - |
| 5 | 2 | 345.2 | B | - |
| 1 | 2 | dix | UNE | 18.33 |
| 2 | 2 | 20 | UNE | - |
| 3 | 2 | 25 | UNE | - |
| . | . | . | . | |
| . | . | . | . | |
AnalytiqueTableau de donnéesScriptRe: Prendre la moyenne d'une colonne en fonction de certaines conditions sur une autre colonneUne légère modification de la formule vous donnera ce que vous voulez

If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( :Intensity, :Group, :Step ),
.
)
Re: Prendre la moyenne d'une colonne en fonction de certaines conditions sur une autre colonneMerci la formule a fonctionné. Btw, est-il possible d'imbriquer cette formule "Si" dans un autre "Si" de telle sorte que cette formule ne s'exécute que lorsque "l'intensité" est supérieure à 100. A quoi ressemblera la formule alors ?
Re: Prendre la moyenne d'une colonne en fonction d'une condition sur une autre colonneVotre question peut être interprétée de plusieurs manières.
- Ne pas inclure dans le calcul de la moyenne du groupe, toute valeur d'intensité > 100
If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( If( :Intensity > 100, :Intensity, . ), :Group, :Step ),
.
)
- Si la première valeur pour l'intensité dans le groupe est > 100, ne calculez pas la moyenne du groupe
If( (Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step) & :Intensity > 100,
Col Mean( :Intensity, :Group, :Step ),
.
)
Re : Prendre la moyenne de la colonne en fonction de certaines conditions sur une autre colonneMerci Jim.