Versuch, den Mittelwert basierend auf den Werten der vorherigen Zeilen zu berechnen (muss historische Werte abrufen)Hallo - ich versuche herauszufinden, wie man jsl dazu bringt, die Werte vorheriger Zeilen (Werte aus den vorherigen 4 Zeilen) abzurufen, um sie in einer Formel zu verwenden, um den Mittelwert dieser Zeilen zu berechnen. Angenommen, meine Spalte A hat die folgenden Werte 3,3,2,8,0,2,2. Ich möchte, dass die Formel in Spalte B den Mittelwert von Spalte A berechnet, indem Werte aus den vorherigen 4 Zeilen verwendet werden.Die Mittelwertfunktion ist einfach, aber ich habe nicht herausgefunden, wie man sie dazu bringt, nur eine Teilmenge vergangener Daten zu lesen und zu verwenden.
Ex:
colA colB
3
3
2
8
0 4
2 4
2 3
Vielen Dank im Voraus für jede Hilfe hierzu!
SkriptingBetreff: Versuch, den Mittelwert basierend auf den Werten der vorherigen Zeilen zu berechnen (muss historische Werte abrufen)Hi,
Haben Sie sich die Lag()-Funktion angesehen? Sie können den Versatz der Zeilen wie unten gezeigt angeben.
If( Row() < 4,
.,
Mean( Lag( :Column 1, 3 ), Lag( :Column 1, 2 ), Lag( :Column 1, 1 ), :Column 1 )
)
Es mag elegantere Möglichkeiten geben, dies zu tun, aber das wird funktionieren.
Am besten,
TS
Betreff: Versuch, den Mittelwert basierend auf den Werten der vorherigen Zeilen zu berechnen (historische Werte müssen abgerufen werden)Schön und einfach. Es scheint nicht zu funktionieren, wenn ich die neue Spaltenfunktion verwende. Das heißt, in meiner neuen Spalte (der Spalte mit der Mittelwertformel) wird nichts ausgefüllt. Hier ist mein Skript:
Neue Spalte("hrly turb current",
numerisch,
kontinuierlich,
Mittelwert( Lag( :pearson_turb_fnu, 4 ), Lag( :pearson_turb_fnu, 3 ),
Schwach(:pearson_turb_fnu, 2 ), Schwach(:pearson_turb_fnu, 1) )
);
Wende ich es richtig an?
Betreff: Versuch, den Mittelwert basierend auf den Werten vorheriger Zeilen zu berechnen (Verlaufswerte müssen abgerufen werden)Ich schlage vor, dass Sie sich die Funktion Col Moving Average() ansehen
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
new column("mov avg",formula(
Col Moving Average( :height, 1, 4, 0)));Betreff: Versuch, den Mittelwert basierend auf den Werten der vorherigen Zeilen zu berechnen (historische Werte müssen abgerufen werden)Vielen Dank, Jim. Ich werde es mir ansehen. Ich habe auch die Formel für den Mittelwert (Verzögerung) zum Laufen gebracht. : )
Betreff: Versuch, den Mittelwert basierend auf den Werten der vorherigen Zeilen zu berechnen (historische Werte müssen abgerufen werden)Scheinbar musste ich der Gleichung nur das Wort „Formel“ hinzufügen, damit sie richtig funktioniert. Vielen Dank, TS!