날짜/시간을 비교하는 열 합계<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요, 값이 특정 범위 내에 있는 경우 값을 추가하는 방법을 확인하려고 합니다. col sum을 시도했지만 테이블 값을 비교하는 방법을 모르겠습니다. (스크립팅에 익숙하지 않음) )
아이디어는 고객이 특정 시간에 들어오고 x분 동안 머물고 나가도록 하는 것입니다. 해당 지역에 들어갈 때 특정 시간 범위 내에 함께 있으면 점유(고객 수)가 증가합니다.
안내해 주시면 정말 감사하겠습니다. 감사합니다.
FC

Re: 날짜/시간을 비교하는 Col sum기꺼이 도와드리겠습니다. 원래 게시물에서 언급했듯이 귀하의 문의로 인해 현재 작업 중인 프로젝트에 대해 곧 조사해야 할 사항을 조사하게 되었습니다.
Re: 날짜/시간을 비교하는 Col sum작동하게 만들었습니다. 감사합니다. mdawson69
Re: 날짜/시간을 비교하는 Col sum스크립트 자체보다 스크립팅에 대한 내 지식의 문제라고 생각합니다! 나는 그것을 시도하기 위해 스크립트를 구현하는 방법을 조금 더 읽을 것입니다. 일단 작동하면 알려 드리겠습니다. 귀하의 지원에 다시 한 번 감사드립니다!
Re: 날짜/시간을 비교하는 Col sum최대 서비스 수준(이 경우에는 점유할 수 있는 호텔 객실의 최대 수)의 제약 조건을 고려하면 점유에 대해 더 이상 논의하지 않습니다. 첫 번째 중요 항목은 활용도입니다. 티 다음과 같이 정의됩니다.
점유율 ÷ 총 객실 수
따라서 해당 수식을 사용하여 열을 추가합니다.
나머지 글 머리 기호는 "요구 사항 정의"에 속하며 이는 일부 고객과 함께 여기에서 자주 발생하는 문제입니다. 나는 이와 같은 질문을 할 때 그들이 의미하는 바를 내가 안다고 가정하기 전에 클라이언트가 기대하는 바를 알고 있는지 확인해야 한다는 것을 배웠습니다. 예를 들어, 고객 중 한 명이 시뮬레이션 모델링에서 지연으로 알려진 대기 시간을 정의하는 방식은 대부분의 시뮬레이션 소프트웨어가 보고하는 것은 말할 것도 없고 대부분의 이산 이벤트 시뮬레이션 텍스트에서 동일한 메트릭이 정의되는 방식과 매우 다릅니다. 그들의 정의는 잘못된 것이 아니라 매우 문맥적이지만 지연에 대한 표준 정의는 아닙니다.
“ 주어진 날짜에 사용된 방의 수를 어떻게 계산할 수 있습니까? ” 일일 실행 점유 또는 각 날짜의 최대 점유 요약을 요청하십니까?
“ 또한 AgencyGroup별로 점유율을 어떻게 계산할 수 있습니까? ” 같은 상기와.
Re: 날짜/시간을 비교하는 Col sum스크립트를 실행하면서 발생한 문제는 무엇이었습니까? 내 샘플 데이터 테이블에는 귀하의 것보다 변수(열)가 적기 때문에 직접적으로 발생하는 한 가지 문제는 내 스크립트를 엄격하게 따랐다면 프로세스를 통해 모든 열이 유지된다는 것입니다. 프로세스를 통해 새 데이터 테이블이 생성될 때 모든 열이 포함되도록 코드를 비교적 약간 수정해야 합니다.
Re: 날짜/시간을 비교하는 Col sum입력해 주셔서 감사합니다.
이 경우 호텔 관리의 객실 점유인 점유에 대한 유사한 솔루션이 궁금합니다.
체크인 날짜와 체크아웃 날짜가 있습니다. 그들이 체크인할 때 그것은 그들이 방을 점유했다는 것을 의미하며 방의 수는 516개로 제한됩니다.
- 점유율을 %(점유한 객실 수/516)로 행별로 어떻게 계산할 수 있습니까?
- 주어진 날짜에 사용된 방의 수를 어떻게 계산할 수 있습니까?
- 또한 AgencyGroup별로 점유율을 어떻게 계산할 수 있습니까?
미리 감사드립니다.

Re: 날짜/시간을 비교하는 Col sum이것은 훌륭합니다! 덕분에 "단계적으로" 작업할 수 있었습니다. 어떤 이유로 스크립트가 예상대로 작동하지 않았습니다. 조금 더 공부해야 할 것 같습니다.
Re: 날짜/시간을 비교하는 Col sum귀하의 문의는 모델 개발 프로젝트를 위해 구축해야 하는 테스트와 일치합니다. 귀하의 표현이 약간 혼란스럽긴 하지만 귀하가 효과적으로 해야 할 일은 각 고객의 서비스 위치에서 입장 및 퇴장 이벤트를 기반으로 점유 테이블을 만드는 것이라고 생각합니다. 주어진 시간의 점유는 여러 입장 이벤트에 걸쳐 있을 수 있는 각 고객의 퇴장 시간의 상호 의존성으로 인해 복잡합니다. 이것은 사용률을 결정하려고 시도할 때 발생하는 일반적인 시뮬레이션 모델링 문제로, 시도하고 있는 것보다 높은 수준입니다.
필요한 스크립트를 보여주기 전에 프로세스를 안내해 드리겠습니다.

먼저 귀하의 예와 유사한 데이터 테이블을 만들었습니다. 이 형식에서 데이터는 동일한 행에 기록된 시작 및 종료 이벤트가 있는 에이전트 중심입니다. 이벤트를 쌓아서 이벤트를 분리해야 합니다.

이제 이벤트가 분리되었지만 기본적으로 여전히 에이전트에 의해 그룹화됩니다. 시간순으로 이벤트가 필요하므로 데이터 테이블을 정렬해야 합니다. 정렬하기 전에 항목보다 종료가 먼저 발생하는지 확인해야 합니다. 후자는 귀하의 목적에 중요하지 않을 수 있지만 우리는 항상 제한된 용량의 시스템을 다루므로 동일한 타임스탬프를 가진 입장 및 퇴장 이벤트는 퇴장 후 입장으로 정렬해야 합니다. 새 요원이 들어오기 전의 위치. 완료되면 시간 및 작업별로 데이터 테이블을 정렬합니다.

이제 이벤트가 적절한 순서로 정렬되었으므로 점유율을 추적하기 위해 열을 추가할 수 있습니다.

점유 열에는 이전 점유 및 현재 행의 작업을 기반으로 각 행의 점유를 결정하는 공식이 있습니다. 또한 수식은 첫 번째 행이 첫 번째 항목이라고 가정하고 첫 번째 행에 대해 점유를 1로 설정합니다. 이제 점유율이 보고된 원래 테이블 방향을 다시 가져오도록 테이블을 분할해야 합니다.

점유 열은 이제 각 항목을 기반으로 점유를 표시하지만 서비스 위치의 이전 출구도 설명합니다. 분할 작업은 상담원 ID 열 뒤에 Occupancy 열을 배치하므로 스크립트가 마지막 열로 이동합니다.
스크립트는 다음과 같습니다.
여기에 기본 이름 ( 1 ) ;
dt = 현재 데이터 테이블 () ;
dt << 스택 (
열 ( : 기입 , : 출구 ) ,
소스 레이블 열 ( "행동" ) ,
누적 데이터 열 ( "시간" )
) ;
닫다 (dt, NoSave);
dt2 = 현재 데이터 테이블 () ;
dt2 : 행동 << 속성 설정 ( "가치 주문" , { "출구" , "기입" }) ;
dt2 << 종류 (
에 의해 ( : 시간 , : 행동 ) ,
오름차순 ,
테이블 바꾸기 ( 1 )
) ;
dt2 << 새 열 (
"점유율" ,
공식 (
만약에 ( 열 () == 1 ,
1 ,
만약에 ( : 행동 == "기입" ,
지연 ( : 점유율 , 1 ) + 1 ,
지연 ( : 점유율 , 1 ) - 1
)
)
)
) ;
dt2 << 나뉘다 (
분할 기준 ( : 행동 ) ,
나뉘다 ( : 시간 ) ,
그룹 ( : 에이전트 ID )
) ;
닫다 ( dt2 , NoSave ) ;
dt3 = 현재 데이터 테이블 () ;
dt3 << 선택한 열 이동 ({ "점유율" } , 마지막으로 ) ;