사용자 지정 날짜 / 시프트가있는 수식 열을 만들려면 어떻게합니까?근무 교대 구조와 관련된 분석을 진행 중입니다. 우리는 교대 당 12 시간을 운영합니다. 즉, 우리는 오전 7 시부 터 오후 7시 (낮 근무, D)와 오후 7 시부 터 오전 7시 (야간 근무, N)에 근무합니다.
현재 다음과 같은 수식 열 스크립트가 있습니다.
"WW" || Char (Week of Year (:date)) || "." || Char (Day of week (:date) - 1) ||
If (Hour (:date) <= 19 & Hour(:date) >= 7, "D", "N")
이 스크립트를 기반으로 예상했던 방식대로 작동하지 않는 것 같습니다. 시간이 오전 12시에 도달 할 때마다 새로운 날로 변경되었습니다.
예를 들면 :
스크립트는 12/01/2020 5:49:47 AM을 WW49.2N으로 변환합니다. WW49.1N이어야합니다. WW49.2D는 날짜와 시간이 2020 년 12 월 1 일 오전 7시 00 분이면 시작됩니다. 이는 야간 근무 시간이 오후 7 시부 터 오전 7 시까 지이기 때문입니다. 누군가 스크립트를 만드는 다른 방법을 제안하거나 조언 할 수 있습니까?
해석학데이터 테이블다른스크립팅Re : 사용자 지정 날짜 / 시프트를 사용하여 수식 열을 어떻게 생성합니까?이를 처리하는 가장 좋은 방법은 7 시간을 빼서 날짜 시간 값을 수정하는 것입니다. 그러면 교대가 요일 값과 일치하게됩니다
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) <= 12,
"D",
"N"
);
Re : 사용자 지정 날짜 / 시프트를 사용하여 수식 열을 어떻게 생성합니까?당신이 말할 때 확인하고 싶었습니다. 시간 내 (7) 기판 7 시간을 의미합니까?
Re : 사용자 지정 날짜 / 시프트를 사용하여 수식 열을 어떻게 생성합니까?현재 행의 Date 열에 지정된 값에서 25200 초를 뺍니다.
25200 = 분당 60 초 X 시간당 60 분 X 7 시간
또한 공식에 약간의 오류가 있습니다.If () 비교에는 "<="가 아닌 두 번째 요소에 대한 "<"비교가 있어야합니다.
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) < 12,
"D",
"N"
);