Spaltendurchschnitt basierend auf einer Bedingung einer anderen Spalte nehmenIch suche nach einer Methode, um den Durchschnitt von Spaltendaten basierend auf einer Bedingung für eine andere Spalte zu berechnen.
Die folgende Tabelle zeigt, was ich erreichen möchte.
Ich möchte den zeitlich gemittelten Intensitätswert nehmen und eine neue Spalte mit dem gemittelten Wert tabellieren.
Der Durchschnitt wird basierend auf 'Schritt' & Gruppe als Auslöser genommen, dh alle Intensitätswerte aus derselben Gruppe und demselben Schritt werden
einmal gemittelt und tabelliert werden. Ich habe die Col-Mean-Funktion ausprobiert, aber sie fügt den Durchschnittswert mehrmals ein.
Übrigens, ist es möglich, eine neue Tabelle mit Zusammenfassung (Mittelwert) zu erstellen. Die Tabelle enthält den gemittelten Schritt, die Gruppe, zu der er gehört, und den Durchschnittswert. (nur die Daten in Rot)
| Zeitstempel) | Schritt | Intensität | Gruppe | (Möchte Durchschnitt) Für zB |
1 | 1 | 110 | EIN | 119,7 |
| 2 | 1 | 115 | EIN | - |
| 3 | 1 | 123.5 | EIN | - |
| 4 | 1 | 124 | EIN | - |
| 5 | 1 | 126 | EIN | - |
| 3 | 2 | 132 | B | 205.73 |
| 4 | 2 | 140 | B | - |
| 5 | 2 | 345.2 | B | - |
| 1 | 2 | 10 | EIN | 18.33 |
| 2 | 2 | 20 | EIN | - |
| 3 | 2 | 25 | EIN | - |
| . | . | . | . | |
| . | . | . | . | |
AnalytikDatentabelleSkriptingBetreff: Spaltendurchschnitt basierend auf einer Bedingung in einer anderen SpalteEine leichte Änderung der Formel wird Ihnen das geben, was Sie wollen

If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( :Intensity, :Group, :Step ),
.
)
Betreff: Spaltendurchschnitt basierend auf einer Bedingung in einer anderen SpalteDanke die Formel hat funktioniert. Übrigens, ist es möglich, diese 'Wenn'-Formel in eine andere 'Wenn'-Formel zu verschachteln, sodass diese Formel nur ausgeführt wird, wenn 'Intensität' größer als 100 ist. Wie sieht die Formel dann aus?
Betreff: Spaltendurchschnitt basierend auf einer Bedingung in einer anderen SpalteIhre Frage kann auf verschiedene Weise interpretiert werden.
- Berücksichtigen Sie bei der Berechnung des Gruppenmittels keinen Intensitätswert > 100
If( Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step,
Col Mean( If( :Intensity > 100, :Intensity, . ), :Group, :Step ),
.
)
- Wenn der erste Wert für Intensität in der Gruppe > 100 ist, berechnen Sie nicht den Gruppenmittelwert
If( (Row() == 1 | Lag( :Group ) != :Group | Lag( :Step ) != :Step) & :Intensity > 100,
Col Mean( :Intensity, :Group, :Step ),
.
)
Betreff: Spaltendurchschnitt basierend auf einer Bedingung in einer anderen SpalteDanke Jim.