홈>
시작 날짜와 종료 날짜에 연결된 많은 키가있는 대규모 직원 데이터 세트가 있습니다. 시작 날짜와 종료 날짜 사이에 겹치지 않고 고유 항목 집합으로 그룹화하고 싶습니다. 예를 들어 다음과 같이 출력을 원합니다.
EmpID Name Status Team Start End
1 Zoe Employed Team01 2018-01-01 2018-01-04
1 Zoe CareerBreak Team01 2018-01-05 2018-01-07
1 Zoe Employed Team01 2018-01-08 2018-01-10
2 Bob Employed Team01 2018-01-01 2018-01-03
2 Bob Employed Team02 2018-01-04 2018-01-10
다음 형식 중 하나로 데이터를 쉽게 얻을 수 있습니다.
EmpID Name Status Start End
1 Zoe Employed 2018-01-01 2018-01-04
1 Zoe CareerBreak 2018-01-05 2018-01-07
1 Zoe Employed 2018-01-08 2018-01-10
1 Zoe Team01 2018-01-01 2018-01-10
2 Bob Employed 2018-01-01 2018-01-10
2 Bob Team01 2018-01-01 2018-01-03
2 Bob Team02 2018-01-04 2018-01-10
또는
EmpID Name Status Team Date
1 Zoe Employed Team01 2018-01-01
1 Zoe Employed Team01 2018-01-02
1 Zoe Employed Team01 2018-01-03
1 Zoe Employed Team01 2018-01-04
1 Zoe CareerBreak Team01 2018-01-05
1 Zoe CareerBreak Team01 2018-01-06
1 Zoe CareerBreak Team01 2018-01-07
1 Zoe Employed Team01 2018-01-08
1 Zoe Employed Team01 2018-01-09
1 Zoe Employed Team01 2018-01-10
2 Bob Employed Team01 2018-01-01
2 Bob Employed Team01 2018-01-02
2 Bob Employed Team01 2018-01-03
2 Bob Employed Team02 2018-01-04
2 Bob Employed Team02 2018-01-05
2 Bob Employed Team02 2018-01-06
2 Bob Employed Team02 2018-01-07
2 Bob Employed Team02 2018-01-08
2 Bob Employed Team02 2018-01-09
2 Bob Employed Team02 2018-01-10
각 날짜 레코드를 반복하고 비교하여 할 수있었습니다. 그러나 이것은 분명히 너무 오래 걸립니다.
그룹화로 인해 발생하는 문제는 변경 전후의 세부 사항이 동일한 것입니다. 따라서 그룹화에서 날짜를 제외하여 최소 및 최대 날짜를 사용하면 다음을 얻을 수 있습니다.
EmpID Name Status Team Start End
1 Zoe Employed Team01 2018-01-01 2018-01-10
1 Zoe CareerBreak Team01 2018-01-05 2018-01-07
3 개의 항목이어야합니다. 나는 이것을하는 다른 방법을 생각할 수 없다. 그룹화는 이것에 대한 옵션이 아니지만 시작점이 될 수 있다고 확신한다. 나는 연구를 스스로하는 것보다 더 행복하지만, 붙어 있고 무엇을 볼지에 대한 힌트가 필요합니다. (물론 이것은 매우 간단한 데이터 블록이지만 문제를 설명하기에 충분할 것입니다)
- 답변 # 1
관련 자료
- angular10 - Angular CSS Layout이 적용되지만 결과가 없음
- r - 날짜 벡터에서 유사한 날짜 선택 및 그룹화
- 중단 날짜없이 자바 스크립트 전체 복사
- python - 그룹화 인덱스가없는 pandas 피벗 테이블
- html - css 위치를 사용하지 않고 png 이미지 겹치기 - 상대
- Application Insights에서 결과를 그룹화하여 Azure Kusto를 정렬하는 방법은 무엇입니까?
- Javascript에서 월별로 날짜 그룹화
- javascript - 시간, 분, 초없이 날짜를 표시하는 데 문제가 있습니다
- javascript - 첫 번째 일치로 끝나지 않고 모든 결과를 표시하는 방법은 무엇입니까?
- c# - LINQ 그룹화 결과 및 특정 순서로 정렬
- html - z- 색인을 사용하지 않고 이미지가 헤더/탐색 막대와 겹치지 않도록하는 방법이 있습니까?
- android layout - 겹치지 않고 음수 여백을 사용하는 방법은 무엇입니까?
- oracle - 날짜가 서로 중복되는 레코드 찾기
- r - 그룹화 할 때 기능에서 여러 결과 할당
- Java에서 중복되지 않고 목록의 요소를 하위 목록으로 그룹화
관련 질문
- SQL Server 데이터베이스 엔진 원격 연결
- Powershell의 SQL 저장 프로시저 실행 실패, 입력 값과 출력 값이 모두 있습니다.
- sql : 모든 조건이 충족되는 경우에만 결과 반환
- SQL Server: xml 데이터 순서로 정렬된 Row_Number() 순서
- 영구적으로 테이블 이름 SQL 별칭 지정
- SQL 서버: 16진수에서 base64로
- SQL은 ISO_year4wkperiod의 마지막 날짜를 얻습니다.
- sql : 테이블 b에 정확히 일치하는 두 개의 요소가 있는 테이블 a의 요소 수 계산
- SQL에서 정확한 시간의 두 날짜의 차이
- MSSQL에서 값이 0인 경우에도 모든 월(1월부터 12월까지)이 표시되도록 하려면 어떻게 해야 합니까?
이것은 그룹과 섬 문제입니다. 날짜에서 일련의 숫자를 빼서 해결할 수 있습니다. 이는 연속 날짜에 대해 일정합니다. 긴 형식의 데이터를 사용합니다 :