Daten nach Zeitstempel zusammenführenIch muss zwei verschiedene Datensätze zusammenführen. Beim ersten, A, werden alle 2 Minuten Daten gesammelt. Bei der zweiten, B, werden Daten nur dann gesammelt, wenn eine Messung einen Schwellenwert überschritten hat.
Eine Probe
2017-01-21:00:02:00, 1, 2, 3, 4
2017-01-21:00:04:00, 2, 3, 4, 5
2017-01-21:00:06:00, 3, 4, 5, 6
...
B-Probe
2017-01-21:00:02:05, 4500
2017-01-21:00:05:14, 5700
...
Es reicht aus, B-Daten in die nächste A-Zeile einzufügen. Beispielsweise könnten B-Daten am 2017-01-21:00:05:14 in A-Zeile=2017-01-21:00:06:00 platziert werden
Ich habe etwa 170.000 Zeilen in A; und etwa 4.000 Zeilen in B.
Danke
Betreff: Daten nach Zeitstempel zusammenführenVielen Dank, Txnelson! Ich werde es testen.
-gzhou
Betreff: Daten nach Zeitstempel zusammenführenHier ist eine Modifikation des Skripts, von der ich glaube, dass sie Ihnen das gibt, was Sie wollen.Nun, es wurde nicht vollständig getestet, da Sie keine Beispieldatentabellen bereitgestellt haben, aber ich glaube, es sollte funktionieren, wenn die Variable, in die Sie Ihre Experimentnummer einfügen, "Experiment" heißt.
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Betreff: Daten nach Zeitstempel zusammenführenWie könnten Sie dieses JMP-Skript so ändern, dass es zwei Datentabellen verbindet, indem es zwei verschiedene Variablen abgleicht?
Zum Beispiel: Im folgenden Datensatz möchte ich nach Experiment # und dann nach dem lokalen Minimum des Zeitstempels abgleichen, um die Werte der Datentabelle 2 mit der Datentabelle 1 zu verbinden, sodass sich die Werte der Datentabelle 2 in einer Zeile von befinden der nächste Zeitstempel in Datentabelle 1 mit der korrekten Experimentnummer.
Eine Probe
Experiment 1, 2017-01-21:00:02:00, 1, 2, 3, 4
Experiment 1, 2017-01-21:00:04:00, 2, 3, 4, 5
Experiment 2, 2017-01-21:00:06:00, 3, 4, 5, 6
...
B-Probe
Experiment 1, 2017-01-21:00:02:05, 4500
Experiment 2, 2017-01-21:00:05:14, 5700
Jede Hilfe wäre hilfreich!
Danke
Betreff: Daten nach Zeitstempel zusammenführenJim,
Vielen Dank. Ich denke, wir sind jetzt fertig.
Betreff: Daten nach Zeitstempel zusammenführenEs gab einige Elemente, die mit den neuesten Versionen von JMP in dem Skript, auf das verwiesen wurde, nicht funktionierten.Ich habe sie überarbeitet und die Anforderung entfernt, dies als Funktionsaufruf auszuführen.Sie müssen also nur die beiden Datentabellen öffnen und das folgende Skript ausführen.Ich habe es mit Ihren Daten verglichen und es hat gut funktioniert.Ich bin mir nicht sicher, ob die Ergebnisse genau Ihren Wünschen entsprechen, aber Sie erhalten eine Datentabelle, mit der Sie arbeiten können.
Names Default To Here( 1 );
Clear Symbols();
list_tables = {};
For( i = 1, i <= N Table(), i++,
Insert Into( list_tables, Data Table( i ) << get name )
); //sets up names of data tables to pick from
dt1 = Data Table( list_tables[1] );
dt2 = Data Table( list_tables[2] ); //Reasonable Starting point
win_tableselect = New Window( "Select Tables",
<<MODAL></MODAL>Betreff: Daten nach Zeitstempel zusammenführenAnhängen von Teilmengen der Dateien, die ich verwende
Betreff: Daten nach Zeitstempel zusammenführenDanke für die schnelle Antwort.
Ich habe in jede Tabelle eine Spalte "datetime-in-seconds" eingefügt, sodass alle Datenpunkte einen Zeitstempel haben.
Ich führe das Skript aus, es fordert mich auf, eine Spalte in jeder Tabelle auszuwählen, was ich tue, indem ich die Spalte "datetime-in-seconds" in jeder Tabelle auswähle.
Das Endergebnis ist nur eine zusätzliche Spalte in dt2 namens "Loc Min", die einfach aufsteigende Ganzzahlen 1,2,3,..
Funktioniert die Funktion nicht oder übersehe ich etwas zur Verwendung?
Betreff: Daten nach Zeitstempel zusammenführenhttps://community.jmp.com/t5/Discussions/Join-Question-timestamp-range-kinda-sorta/mp/20828
Dies wird es tun oder Sie zumindest auf den richtigen Weg bringen. Und es ist verdammt schnell.