Wie filtern wir Daten zeitbasiert und ermitteln den Durchschnitt mithilfe von JSL?Ich habe Daten für einen bestimmten Zeitraum erfasst. Nachfolgend finden Sie einen Schnappschuss der Tabelle (im Anhang):
| Zeitstempel | A | B | C |
| 0,001 | 10.005 | 450.4451 | 428.9093 |
| 0,002 | 10.01 | 450.8904 | 429.0295 |
| 0,003 | 10.015 | 451.336 | 429.0177 |
| 0,004 | 10.02 | 451.7818 | 428,9279 |
| 0,005 | 10,025 | 452.2278 | 428.8491 |
Die Darstellung der Spalte C sieht wie folgt aus:

Ich muss die Zeilen in Abschnitt 1, 2 und 3 filtern und ihren Durchschnitt ermitteln.
Jeder Abschnitt hat eine Dauer von 30 Sekunden, die anhand der Zeitstempelspalte berechnet wird, und zwischen den einzelnen Abschnitten liegt ein Intervall von 20 Sekunden.
Die endgültige Ergebnistabelle sollte wie folgt aussehen:
| Abschnitt | Mittelwert (A) | Mittelwert (B) | Mittelwert (C) |
| 1 | 10.005 | 450.4451 | 428.9093 |
| 2 | 10.01 | 450.8904 | 429.0295 |
| 3 | 10.015 | 451.336 | 429.0177 |
Können Sie uns bitte erklären, wie wir die Zeilen in den Abschnitten 1, 2 und 3 filtern und ihren Durchschnitt mithilfe eines Skripts ermitteln können.
Qualitäts- und ProzesstechnikBetreff: Wie filtern wir Daten basierend auf der Zeit und nehmen den Durchschnitt mit JSL?Vielen Dank, dass Sie mich zu den richtigen Ressourcen geführt haben. Ich werde die Dokumentation auf jeden Fall lesen.Betreff: Wie filtern wir Daten basierend auf der Zeit und nehmen den Durchschnitt mit JSL?In dem von mir bereitgestellten Beispiel wurde die Abschnittsspalte als numerische Spalte erstellt.Die Werte für numerische Spalten müssen gültige Zahlen sein.Es ist jedoch eine einfache Sache, die Spalte zu einer Zeichenspalte zu machen, und dann können die Werte von Section alles sein, was Sie wollen.
names default to here(1);
dt=current data table();
dt << new column("Section",
ordinal,character,
formula(
If( 0 <= :TimeStamp <= 30,
"Interval_1",
50 <= :TimeStamp <= 80,
"Interval_2",
100 <= :TimeStamp <= 130,
"Interval_3"
)
)
);
Ich empfehle dringend, dass Sie sich die Zeit nehmen, die Dokumente „Entdecken von JMP“ und „JMP verwenden“ aus der JMP-Dokumentationsbibliothek zu lesen, die im Pulldown-Menü „Hilfe“ verfügbar sind
Betreff: Wie filtern wir Daten basierend auf der Zeit und nehmen den Durchschnitt mit JSL?Ist es möglich, jedem Abschnitt statt 1, 2 und 3 aussagekräftige Namen zu geben? Zum Beispiel können wir es als Intervall_1, Intervall_2 usw. benennen.
Ich habe das versucht, aber der Code wird nicht ausgeführt, wenn ich es versuche
Betreff: Wie filtern wir Daten basierend auf der Zeit und nehmen den Durchschnitt mit JSL?Hier ist, wie ich es tun würde.Es stimmt nicht mit Ihren Ergebnissen überein, folgt jedoch den von Ihnen angegebenen Anweisungen und berechnet den Abschnitt basierend auf den TimeStamp-Werten von 0–30 = Abschnitt 1, 50–80 = Abschnitt 2, 100–130 = Abschnitt 3

names default to here(1);
dt=current data table();
dt << new column("Section",
ordinal,
formula(
If( 0 <= :TimeStamp <= 30,
1,
50 <= :TimeStamp <= 80,
2,
100 <= :TimeStamp <= 130,
3
)
)
);
dt << Summary(
Group( :Section ),
Mean( :A ),
Mean( :B ),
Mean( :C ),
Freq( "None" ),
Weight( "None" ),
Link to original data table( 0 )
);