맞춤 날짜/교대조가 포함된 수식 열을 만들려면 어떻게 해야 하나요?저는 근무 교대 구조와 관련된 분석을 진행 중입니다. 우리는 교대당 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")
이 스크립트를 기반으로 bcs를 예상한 대로 작동하지 않는 것 같습니다. 오전 12시가 될 때마다 새로운 날로 변경되었습니다.
예를 들어:
스크립트는 2020년 12월 1일 오전 5시 49분 47초를 WW49.2N으로 변환합니다. WW49.1N이어야 합니다. WW49.2D는 날짜와 시간이 2020년 12월 1일 오전 7시부터 시작됩니다. 이는 야간 근무 시간이 오후 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: 사용자 지정 날짜/교대조를 포함하는 수식 열을 어떻게 만듭니까?>=와 <의 위치를 수식에서 바꿔도 되므로 흥미롭습니다.
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( 0 < Hour( correctedDate ) <= 12,
"D",
"N"
);
비슷한 문제를 풀고 있는데, 야간 근무와 주간 근무 할당 방식이 약간 다릅니다. if 문에서 < 및 <= 기호의 상대적 위치에 따라 다릅니다. if 수식 내에서 타임스탬프를 직접 사용할 수 있으면 좋겠습니다(if time > 12:00:00 ...). 아직 충분히 조사하지 않아서 가능할 수도 있습니다.
하지만 제 핵심 질문은 이겁니다. <와 <= 기호를 어디에 넣을지 어떻게 정하셨나요? 당연히 교대근무당 12시간을 균등하게 나누는 것이 중요하지만, 두 가지 구성(<가 <= 앞에, <=가 < 앞에)으로 모두 가능합니다.
Re: 사용자 지정 날짜/교대조를 포함하는 수식 열을 어떻게 만듭니까?오후 7시는 hour() 19라는 새로운 교대의 시작입니다. 7시간 오프셋을 사용하므로 야간 교대를 시작하는 Hour() 값은 19-7, 즉 12입니다. 비교가 <=이면 시간 값이 정확히 12는 주간 교대로 간주됩니다.
Re: 사용자 지정 날짜/교대조를 포함하는 수식 열을 어떻게 만듭니까?감사합니다. 나중에 제 파일을 손보면서 깨달았습니다. 당연히, 잘 생각지도 못한 질문을 올린 후에요. 기다려 주셔서 감사합니다.