Wie kann ich Daten auf- oder abrunden?Hallo,
Wenn ich eine Reihe von Öffnungszeiten im Format MMTTJJJJ hh:mm habe und eines dieser Daten, die zwischen 1 Uhr morgens und 3:59 Uhr liegen, auf 4 Uhr morgens „aufrunden“ möchte.
Mit anderen Worten: Wenn meine Öffnungszeit der 09.10.2020 03:12 Uhr ist, muss ich diese auf den 09.10.2020 04:00 Uhr aufrunden.
Umgekehrt habe ich Schließzeiten im gleichen Format und möchte jedes dieser Daten, die zwischen 1 Uhr morgens und 3:59 Uhr morgens liegen, so korrigieren, dass es auf 1 Uhr morgens „abgerundet“ wird.
Mit anderen Worten: Wenn meine Schließzeiten der 09.10.2020 03:12 Uhr sind, muss ich auf den 09.10.2020 01:00 Uhr abrunden.
Ich verwende den Formeleditor in JMP für alle meine Formeln. Wenn ich also die Lösung in den Formeleditor einfügen könnte, wäre das großartig!
Eine Beispieltabelle habe ich beigefügt.
Vielen Dank für jede Hilfe dabei.
Fiona
MassenanpassungBetreff: Wie kann ich Daten auf- oder abrunden?Vielen Dank.
Das funktioniert!!
Betreff: Wie kann ich Daten auf- oder abrunden?Höchstwahrscheinlich gibt es einen saubereren/effizienteren Weg, dies zu tun, aber diese sollten funktionieren:
Gerundete Öffnungszeit:
If(In Hours(1) <= Time Of Day(:Opentime) < In Hours(4),
(:Opentime - Time Of Day(:Opentime)) + In Hours(4),
:Opentime
)
Gleiche Idee für abgerundete Schließzeiten:
If(In Hours(1) <= Time Of Day(:Closetime) < In Hours(4),
(:Closetime - Time Of Day(:Closetime)) + In Hours(1),
:Closetime
)
Lösung, die auf den von JMP „vorgefertigten“ Formeln basiert, wenn Sie mit der rechten Maustaste auf den Spaltennamen in der Datumsspalte klicken Datum Und Uhrzeit :

Betreff: Wie kann ich Daten auf- oder abrunden?Dieses Skript veranschaulicht den Ansatz:
Names Default to Here( 1 );
date time = 09Oct2020:03:12;
rounded date time = date time - Modulo( date time, In Hours( 1 ) ) + In Hours( 1 );
formatted rounded date time = Format( rounded date time, "m/d/y h:m" );
Show( date time, formatted rounded date time );
Die eigentliche Formel könnte in diesen Ausdruck komprimiert werden, vorausgesetzt, Sie möchten einen numerischen Wert mit dem gewünschten Formatspaltenattribut:
:date time - Modulo( :date time, In Hours( 1 ) ) + In Hours( 1 )
Beachten Sie, dass durch das Abrunden auf die nächste Stunde lediglich die Hinzufügung einer Stunde am Ende des Ausdrucks entfernt würde.