日付を切り上げるまたは切り下げるにはどうすればよいですか?こんにちは、
MMDDYYYY hh:mmの形式のオープンタイムがたくさんあり、午前1時から午前3時59分までの間に発生するこれらの日付のいずれかを修正して、午前4時に「切り上げ」たい場合。
つまり、オープンタイムが2020年10月9日午前3時12分である場合、2020年9月10日午前4時に切り上げる必要があります。
逆に、同じ形式のクローズタイムがあり、午前1時から午前3時59分までの間に発生するこれらの日付を、午前1時に「切り捨て」に修正したいと思います。
つまり、クローズタイムが10/09/2020 3:12 AMの場合、10/09/2020 1:00 AMに切り捨てる必要があります。
私はすべての数式にJMPの数式エディターを使用しているので、ソリューションを数式エディターに貼り付けることができれば素晴らしいと思います。
サンプルテーブルを添付しました。
これについて助けてくれてありがとう。
フィオナ
データ表Re:日付を切り上げるまたは切り下げるにはどうすればよいですか?このスクリプトは、アプローチを示しています。
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 );
目的のFormat列属性を持つ数値が必要な場合、実際の式はこの式に圧縮される可能性があります。
Modulo( date time, In Hours( 1 ) ) + In Hours( 1 )
最も近い時間に切り捨てると、式の最後の1時間の追加が削除されることに注意してください。
Re:日付を切り上げるまたは切り下げるにはどうすればよいですか?これを行うためのよりクリーンでより効率的な方法がある可能性が高いですが、これらは機能するはずです:
四捨五入された営業時間:
If(In Hours(1) <= Time Of Day(:Opentime) < In Hours(4),
(:Opentime - Time Of Day(:Opentime)) + In Hours(4),
:Opentime
)
丸められたクローズタイムについての同じ考え:
If(In Hours(1) <= Time Of Day(:Closetime) < In Hours(4),
(:Closetime - Time Of Day(:Closetime)) + In Hours(1),
:Closetime
)
日付列の列名を右クリックすると、JMPによって「事前に作成された」式に基づいて構築されたソリューション日付そして時刻:

Re:日付を切り上げるまたは切り下げるにはどうすればよいですか?どうもありがとうございます。
これで動作します!!