Wie runde ich Daten auf oder ab?Hallo,
Wenn ich eine Reihe von Opentimes im Format MMDDYYYY hh: mm habe und ich eines dieser Daten festlegen möchte, die zwischen 1 Uhr morgens und 3:59 Uhr morgens liegen, um auf 4 Uhr morgens aufzurunden.
Mit anderen Worten, wenn meine Öffnungszeit 10/09/2020 03:12 Uhr ist, brauche ich das, um auf 10/09/2020 4:00 Uhr aufzurunden.
Umgekehrt habe ich Closetimes im gleichen Format und möchte eines dieser Daten festlegen, die zwischen 1 Uhr morgens und 3:59 Uhr morgens liegen, um auf 1 Uhr morgens "abzurunden".
Mit anderen Worten, wenn meine Schließzeiten 10/09/2020 03:12 Uhr sind, brauche ich das, um auf 10/09/2020 01:00 Uhr abzurunden.
Ich verwende den Formeleditor in JMP für alle meine Formeln. Wenn ich also die Lösung in den Formeleditor einfügen kann, wäre das großartig!
Ich habe eine Beispieltabelle angehängt.
Vielen Dank für jede Hilfe dabei.
Fiona
DatentabelleBetreff: Wie runde ich Daten auf oder ab?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 tatsächliche Formel wird möglicherweise in diesen Ausdruck komprimiert, vorausgesetzt, Sie möchten einen numerischen Wert mit dem gewünschten Spaltenattribut Format:
Modulo( date time, In Hours( 1 ) ) + In Hours( 1 )
Beachten Sie, dass beim Runden auf die nächste Stunde einfach die Hinzufügung einer Stunde am Ende des Ausdrucks entfernt wird.
Betreff: Wie runde ich Daten auf oder ab?Höchstwahrscheinlich gibt es einen saubereren / effizienteren Weg, dies zu tun, aber diese sollten funktionieren:
Abgerundete opentime:
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
)
Die Lösung basiert auf den von JMP "vorgefertigten" Formeln, wenn Sie mit der rechten Maustaste auf den Spaltennamen in der Datumsspalte für klicken Datum und Uhrzeit ::

Betreff: Wie runde ich Daten auf oder ab?Ich danke dir sehr.
Das funktioniert!!