날짜를 반올림 또는 내림하려면 어떻게 해야 합니까?여보세요,
MMDDYYYY hh:mm 형식의 많은 Opentimes가 있고 오전 1시에서 오전 3시 59분 사이에 발생하는 이러한 날짜를 오전 4시로 "반올림"하도록 수정하고 싶습니다.
즉, 내 영업 시간이 2020년 10월 9일 오전 3시 12분인 경우 2020년 10월 9일 오전 4시로 반올림해야 합니다.
반대로 같은 형식의 Closetimes가 있고 오전 1시에서 오전 3시 59분 사이에 발생하는 이러한 날짜를 오전 1시로 "내림"하도록 수정하고 싶습니다.
즉, 마감 시간이 2020년 10월 9일 오전 3시 12분인 경우 2020년 10월 9일 오전 1시로 내림해야 합니다.
저는 모든 공식에 대해 JMP의 공식 편집기를 사용하므로 솔루션을 공식 편집기에 붙여넣을 수 있다면 정말 좋을 것입니다!
샘플표를 첨부했습니다.
도움을 주셔서 감사합니다.
피오나
데이터 테이블Re: 날짜를 반올림하거나 내림하려면 어떻게 해야 하나요?정말 고맙습니다.
작동합니다!!
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: 날짜를 반올림하거나 내림하려면 어떻게 해야 하나요?이 스크립트는 접근 방식을 보여줍니다.
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 );
원하는 형식 열 특성을 가진 숫자 값이 필요하다고 가정하면 실제 수식을 이 식으로 압축할 수 있습니다.
:date time - Modulo( :date time, In Hours( 1 ) ) + In Hours( 1 )
가장 가까운 시간으로 내림하면 식 끝에 추가된 1시간이 제거됩니다.