쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon Connect Analytics 데이터 레이크에서 데이터 예약 - Amazon Connect

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Connect Analytics 데이터 레이크에서 데이터 예약

참고

Analytics 데이터 레이크에 액세스하고 공유할 데이터를 구성하는 방법에는 두 가지가 있습니다. 옵션 1 -를 사용하여 예약 테이블에 액세스할 수 없는 경우 옵션 2 - CLI 또는 CloudShell 사용으로 AWS Management Console이동합니다.

유의해야 할 중요 사항

  • 테이블은 버전이 지정된 레코드를 저장합니다. 항목의 각 새 버전이 테이블에 추가됩니다. 

  • 항목의 최신 버전일수록 _version 번호가 높아집니다. 항목의 최신 버전을 가져오려면 레코드의 최신 버전을 쿼리해야 합니다. 다음은 모든 최신 교대 근무 활동을 선택하는 쿼리의 예입니다.

SELECT * FROM   (    SELECT      RANK() OVER (PARTITION BY shift_activity_arn ORDER BY shift_activity_version DESC) recency    , *    FROM      shift_activities )  t WHERE (recency = 1)
  • 각 항목의 최신 버전으로 논리적 보기를 생성할 수 있습니다. 그런 다음이 보기에 대해 쿼리를 실행할 수 있습니다. 최신 버전의 데이터만 필요한 쿼리를 자주 실행하는 경우 이러한 뷰를 생성하면 쿼리가 간소화됩니다. 다음은 최신 교대 근무 활동을 생성하는 방법에 대한 예제 쿼리입니다.

CREATE OR REPLACE VIEW "latest_shift_activities" AS SELECT * FROM   (    SELECT      RANK() OVER (PARTITION BY shift_activity_arn ORDER BY shift_activity_version DESC) recency    , *    FROM      shift_activities )  t WHERE (recency = 1)
  • 위와 같은 뷰가 있으면 다음을 사용하여 뷰를 직접 쿼리할 수 있습니다.

latest_shift_activities에서 선택*

데이터 형식 정의

직원 일정 프로필

테이블 이름: staff_scheduling_profile

복합 기본 키: {instance_id, agent_arn, staff_scheduling_profile_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 agent_arn 문자열 에이전트의 ARN
3 staff_scheduling_profile_version bigint 직원 일정 프로필 버전
4 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
5 인력_그룹_arn 문자열 에이전트가 할당된 인력 배치 그룹의 ARN
6 start_timestamp 타임스탬프 직원 규칙에 구성된 에이전트의 StartTimestamp(이 타임스탬프 이후에만 일정이 생성됨)
7 end_timestamp 타임스탬프 직원 규칙에 구성된 에이전트에 대한 EndTimestamp(이 타임스탬프 이후에는 일정이 생성되지 않음)
8 shift_profile_arn 문자열 에이전트가 할당된 교대 근무 프로필의 ARN이 직원 규칙에 구성됨
9 timezone 문자열 에이전트에 대해 구성된 시간대
10 is_deleted boolean 에이전트가 삭제된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
11 last_updated_timestamp 타임스탬프 직원 일정 프로필이 created/updated/deleted 시점의 타임스탬프
12 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

교대 근무 활동

테이블 이름: shift_activities

복합 기본 키: {instance_id, shift_activity_arn, shift_activity_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 shift_activity_arn 문자열 교대 근무 활동의 ARN
3 shift_activity_version bigint 교대 근무 활동 버전
4 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
5 shift_activity_name 문자열 교대 근무 활동 이름
6 type 문자열 교대 근무 활동의 유형입니다. 가능한 값은 생산, 비생산 및 휴가입니다.
7 sub_type 문자열 교대 근무 활동의 SubType이 항목은 NON_PRODUCTIVE 유형 활동에만 유효합니다. 가능한 값은 BREAK_OR_MEAL과 NONE입니다.
8 is_adherence_tracked boolean 교대 근무 활동이 준수 추적을 위해 구성된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
9 is_paid boolean 교대 근무 활동이 유료로 구성된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
10 is_deleted boolean 교대 근무 활동이 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
11 last_updated_timestamp 타임스탬프 교대 근무 활동이 created/updated/deleted 시점의 타임스탬프
12 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

교대 근무 프로필

테이블 이름: shift_profiles

복합 기본 키: {instance_id, shift_profile_arn, shift_profile_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 shift_profile_arn 문자열 교대 근무 프로필의 ARN
3 shift_profile_version bigint 교대 근무 프로필 버전
4 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
5 shift_profile_이름 문자열 교대 근무 프로필의 이름
6 is_deleted boolean Shift Profile이 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
7 last_updated_timestamp 타임스탬프 교대 근무 프로필이 created/updated/deleted 시점의 타임스탬프
8 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

인력 배치 그룹

테이블 이름: staffing_groups

복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 인력_그룹_arn 문자열 인력 배치 그룹의 ARN
3 인력 배치_그룹_버전 bigint 인력 배치 그룹 버전
4 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
5 인력_그룹_이름 문자열 인력 배치 그룹의 이름
6 is_deleted boolean 인력 배치 그룹이 삭제된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
7 last_updated_timestamp 타임스탬프 인력 배치 그룹이 created/updated/deleted 시점의 타임스탬프
8 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

인력 배치 그룹 - 예측 그룹

테이블 이름: staffing_group_forecast_groups

복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}

이 테이블은 staffing_group_arn 및 staffing_group_version에서 staffing_groups 테이블과 조인하여 쿼리해야 합니다.

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 인력_그룹_arn 문자열 인력 배치 그룹의 ARN
3 인력 배치_그룹_버전 bigint 인력 배치 그룹 버전
4 forecast_group_arn 문자열 인력 배치 그룹과 연결된 Forecast 그룹의 ARN
5 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
6 is_deleted boolean StaffingGroup-ForecastGroup 연결이 유효한 경우 False로 설정합니다.
7 last_updated_timestamp 타임스탬프 인력 배치 그룹이 생성/업데이트된 시점의 타임스탬프
8 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

인력 배치 그룹 - 감독자

테이블 이름: staffing_group_supervisors

복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version, supervisor_arn}

이 테이블은 staffing_group_arn 및 staffing_group_version에서 staffing_groups 테이블과 조인하여 쿼리해야 합니다.

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 인력_그룹_arn 문자열 인력 배치 그룹의 ARN
3 인력_그룹_버전 bigint 인력 배치 그룹 버전
4 감독자_arn 문자열 인력 배치 그룹에 연결된 감독자의 에이전트 ARN
5 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
6 is_deleted boolean StaffingGroup-ForecastGroup 연결이 유효한 경우 False로 설정합니다.
7 last_updated_timestamp 타임스탬프 인력 배치 그룹이 생성/업데이트된 시점의 타임스탬프
8 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

직원 교대 근무

테이블 이름: staff_shifts

복합 기본 키: {instance_id, shift_id, shift_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 shift_id 문자열 교대 근무의 ID
3 shift_version bigint 교대 근무 버전
4 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
5 agent_arn 문자열 에이전트의 ARN
6 shift_start_timestamp 타임스탬프 교대 근무 시작 시 타임스탬프
7 shift_end_timestamp 타임스탬프 교대 근무 종료 시 타임스탬프
8 created_timestamp 타임스탬프 교대 근무가 생성된 시점의 타임스탬프
9 is_deleted boolean Shift가 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
10 last_updated_timestamp 타임스탬프 교대 근무가 created/updated/deleted 시점의 타임스탬프
11 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

직원 교대 근무 활동

테이블 이름: staff_shift_activities

복합 기본 키: {instance_id, shift_id, shift_version, activity_id}

이 테이블은 shift_id 및 shift_version에서 staff_shifts 테이블과 조인하여 쿼리해야 합니다.

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 shift_id 문자열 교대 근무의 ID
3 shift_version bigint 교대 근무 버전
4 activity_id 문자열 활동의 ID
5 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
6 activity_start_timestamp 타임스탬프 활동이 시작될 때 타임스탬프
7 activity_end_timestamp 타임스탬프 활동이 종료될 때 타임스탬프
8 shift_activity_arn 문자열 교대 근무 활동의 ARN입니다. shift_activity_arn이 null이면 '작업' 활동을 나타냅니다.
9 activity_status 문자열 활동 상태입니다. 활동이 휴가와 겹치는 경우 비활성으로 설정됩니다.
10 is_overtime boolean 활동이 초과 근무의 일부인 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다.
11 is_deleted boolean 교대 근무 활동이 유효한 경우 False로 설정
12 last_updated_timestamp 타임스탬프 교대 근무가 생성/업데이트된 시점의 타임스탬프
13 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

직원 휴가

테이블 이름: staff_timeoffs

복합 기본 키: {instance_id, timeoff_id, agent_arn, timeoff_version}

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 timeoff_id 문자열 휴가의 ID
3 agent_arn 문자열 에이전트의 ARN
4 timeoff_version bigint 휴가 버전
5 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
6 timeoff_type 문자열 휴가 유형입니다. 가능한 값은 TIME_OFF 및 VOLUNTARY_TIME_OFF입니다.
7 timeoff_start_timestamp 타임스탬프 휴가 시작 시 타임스탬프
8 timeoff_end_timestamp 타임스탬프 휴가 종료 시 타임스탬프
9 timeoff_status 문자열 휴가 상태입니다. 가능한 값은 PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECTED, CANCELLED, WAITING_ACCEPT 및 WAITING_APPROVE WAITING 상태가고, 이는 휴가가 사용자 작업 대기 중임을 나타냅니다. 대기 중 상태는 휴가가 사용자 작업의 시스템 처리를 기다리고 있음을 나타냅니다.
10 shift_activity_arn 문자열 휴가에 사용되는 교대 근무 활동의 ARN
11 effective_timeoff_hours double 총 유효 휴가 시간입니다. 유효 휴가 시간은 휴가 공제 로직을 기반으로 계산됩니다. 이는 TIME_OFF 유형에 대해서만 설정됩니다.
12 last_updated_timestamp 타임스탬프 휴가가 created/updated/deleted 시점의 타임스탬프
13 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

직원 휴가 간격

테이블 이름: staff_timeoff_intervals

복합 기본 키: {instance_id, timeoff_id, timeoff_version, interval_id}

이 테이블은 timeoff_id 및 timeoff_version에서 staff_timeoffs 테이블과 조인하여 쿼리해야 합니다.

유형 설명
1 instance-id 문자열 Amazon Connect 인스턴스의 ID입니다.
2 timeoff_id 문자열 휴가의 ID
3 timeoff_version bigint 휴가 버전
4 interval_id 문자열 휴가 간격의 ID
5 instance_arn 문자열 Amazon Connect 인스턴스의 ARN
6 timeoff_interval_start_timestamp 타임스탬프 특정 휴가 간격이 시작될 때의 타임스탬프
7 timeoff_interval_end_timestamp 타임스탬프 특정 휴가 간격이 종료될 때 타임스탬프
8 interval_effective_timeoff_hours double 이 특정 휴가 간격에 대한 유효 휴가 시간입니다. 유효 휴가 시간은 휴가 공제 로직을 기반으로 계산됩니다.
9 last_updated_timestamp 타임스탬프 휴가가 created/updated/deleted 시점의 타임스탬프
10 data_lake_last_processed_timestamp 타임스탬프 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 데이터 신선도를 안정적으로 결정하는 데 사용할 수 없습니다.

사용자

테이블 이름: 사용자

복합 기본 키: user_id

유형 설명
1 user_id 문자열 사용자 계정의 식별자입니다.
2 user_arn 문자열 사용자 계정의 ARN입니다.
3 directory_user_id 문자열 아이덴티티 관리에 사용되는 디렉터리의 사용자 계정 식별자입니다.
4 agent_hierarchy_group_id 문자열 사용자의 계층 구조 그룹 식별자입니다.
5 agent_hierarchy_group_arn 문자열 사용자에 대한 계층 구조의 ARN입니다.
6 agent_email 문자열 사용자의 이메일 주소입니다.
7 agent_secondary_email 문자열 사용자의 보조 이메일 주소입니다.
8 first_name 문자열 에이전트의 이름입니다.
9 last_name 문자열 에이전트의 성입니다.
10 모바일 문자열 사용자의 휴대폰 번호입니다.
11 agent_username 문자열 Amazon Connect 사용자 계정에 입력된 에이전트의 이름입니다.
12 instance-id 문자열 AWS Connect 인스턴스의 ID입니다.
13 instance_arn 문자열 AWS Connect 인스턴스의 ARN입니다.
14 agent_routing_profile_id 문자열 에이전트의 라우팅 프로필 ID입니다.
15 agent_routing_profile_arn 문자열 에이전트에 대한 라우팅 프로필의 ARN입니다.
16 agent_security_profile_ids 배열<문자열> 사용자의 보안 프로필 IDs입니다.
17 agent_security_profile_arns 배열<문자열> 사용자에 대한 보안 프로필의 ARNs입니다.
18 last_modified_region 문자열 이 리소스가 마지막으로 수정된 AWS 리전 입니다.
19 last_modified_timestamp 타임스탬프 이 리소스가 마지막으로 수정된 시점의 타임스탬프입니다.
20 사후_연락처_작업_시간_한도 int 호출 작업 후(ACW) 제한 시간 설정(초)입니다.
21 auto_accept boolean 자동 수락 설정입니다.
22 desk_phone_number 문자열 사용자의 회사 전화번호입니다.
23 phone_type 문자열 전화 유형입니다.
24 is_active boolean 에이전트가 존재하는지 또는 삭제되었는지 여부.

라우팅 프로필

테이블 이름: routing_profiles

복합 기본 키: agent_routing_profile_id

유형 설명
1 agent_routing_profile_id 문자열 라우팅 프로필의 식별자입니다.
2 agent_routing_profile_arn 문자열 라우팅 프로필의 ARN입니다.
3 routing_profile_name 문자열 라우팅 프로필 이름입니다.
4 instance-id 문자열 AWS Connect 인스턴스의 ID입니다.
5 instance_arn 문자열 AWS Connect 인스턴스의 ARN입니다.
6 agent_availability_timer 문자열 이 라우팅 프로필을 가진 에이전트가 마지막 인바운드 고객 응대 이후 가장 긴 유휴 시간 또는 시간을 기준으로 라우팅 순서를 계산할지 여부입니다.
7 default_outbound_queue_id 문자열 라우팅 프로필의 기본 아웃바운드 대기열입니다.
8 routing_profile_description 문자열 라우팅 프로필에 대한 설명입니다.
9 last_modified_region 문자열 이 리소스가 마지막으로 수정된 AWS 리전 입니다.
10 last_modified_timestamp 타임스탬프 이 리소스가 마지막으로 수정된 시점의 타임스탬프입니다.
11 is_active boolean 에이전트가 존재하는지 또는 삭제되었는지 여부.

데이터 스키마

분석 데이터 레이크 테이블 개요 이미지.

샘플 쿼리

1. 특정 Forecast 그룹에서 작업하는 에이전트의 모든 예약된 교대 근무 활동을 가져오는 쿼리

forecast_group_name이 'AnyDepartmentForecastGroup'인 agent_scheduled_shift_activities_view에서 *를 선택합니다.

아래 단계에 따라 위에서 언급한agent_scheduled_shift_activities_view를 생성합니다.

1단계: 감독자 이름을 가져올 뷰 생성

CREATE OR REPLACE VIEW "latest_supervisor_names_view" AS SELECT   staffing_group_arn , array_agg(supervisor_name ORDER BY supervisor_name ASC) supervisor_names FROM   (    SELECT      s.staffing_group_arn    , CONCAT(u.first_name, ' ', u.last_name) supervisor_name    FROM      ((       SELECT         staffing_group_arn       , supervisor_arn       FROM         (          SELECT            *          , RANK() OVER (PARTITION BY staffing_group_arn ORDER BY staffing_group_version DESC) recency          FROM            staffing_group_supervisors          WHERE (instance_id = 'YourAmazonConnectInstanceId')       )  t       WHERE (recency = 1)    )  s    INNER JOIN USERS u ON (s.supervisor_arn = u.user_arn)) ) GROUP BY staffing_group_arn

2단계: 에이전트와 연결된 인력 배치 그룹 및 예측 그룹을 가져오는 뷰 생성

CREATE OR REPLACE VIEW "latest_agent_staffing_group_forecast_group_view" AS WITH   latest_staff_scheduling_profile AS (    SELECT      agent_arn    , staffing_group_arn    , last_updated_timestamp    FROM      (       SELECT         *       , RANK() OVER (PARTITION BY agent_arn ORDER BY staff_scheduling_profile_version DESC) recency       FROM         staff_scheduling_profile       WHERE ((instance_id = 'YourAmazonConnectInstanceId') AND (is_deleted = false))    )  t    WHERE (recency = 1) ) , latest_staffing_groups AS (    SELECT      staffing_group_name    , staffing_group_arn    FROM      (       SELECT         *       , RANK() OVER (PARTITION BY staffing_group_arn ORDER BY staffing_group_version DESC) recency       FROM         staffing_groups       WHERE (instance_id = 'YourAmazonConnectInstanceId')    )  t    WHERE (recency = 1) ) , latest_forecast_groups AS (    SELECT      forecast_group_arn    , forecast_group_name    FROM      (       SELECT         *       , RANK() OVER (PARTITION BY forecast_group_arn ORDER BY forecast_group_version DESC) recency       FROM         forecast_groups       WHERE (instance_id = 'YourAmazonConnectInstanceId')    )  t    WHERE (recency = 1) ) , latest_staffing_group_forecast_groups AS (    SELECT      staffing_group_arn    , forecast_group_arn    FROM      (       SELECT         *       , RANK() OVER (PARTITION BY staffing_group_arn ORDER BY staffing_group_version DESC) recency       FROM         staffing_group_forecast_groups       WHERE (instance_id = 'YourAmazonConnectInstanceId')    )  t    WHERE (recency = 1) ) SELECT   ssp.agent_arn , U.agent_username AS username , U.agent_routing_profile_id AS routing_profile_id , CONCAT(u.first_name, ' ', u.last_name) agent_name , fg.forecast_group_arn , fg.forecast_group_name , sg.staffing_group_arn , sg.staffing_group_name FROM  latest_staff_scheduling_profile ssp INNER JOIN latest_staffing_groups sg ON ssp.staffing_group_arn = sg.staffing_group_arn INNER JOIN latest_staffing_group_forecast_groups sgfg ON ssp.staffing_group_arn = sgfg.staffing_group_arn INNER JOIN latest_forecast_groups fg ON fg.forecast_group_arn = sgfg.forecast_group_arn INNER JOIN USERS u ON ssp.agent_arn = u.user_arn

3단계: 최신 교대 근무 활동 가져오기

CREATE OR REPLACE VIEW "latest_shift_activities_view" AS SELECT   shift_activity_arn , shift_activity_name , shift_activity_version , type , sub_type , is_adherence_tracked , is_paid , last_updated_timestamp FROM   (    SELECT      *    , RANK() OVER (PARTITION BY shift_activity_arn ORDER BY shift_activity_version DESC) recency    FROM      shift_activities    WHERE (instance_id = 'YourAmazonConnectInstanceId') )  t WHERE (recency = 1)

4단계: 에이전트의 예약된 교대 근무 활동을 가져오는 뷰 생성

CREATE OR REPLACE VIEW "agent_scheduled_shift_activities_view" AS WITH   latest_staff_shifts AS (    SELECT      agent_arn    , shift_id    , shift_version    , shift_start_timestamp    , shift_end_timestamp    , created_timestamp    , last_updated_timestamp    , data_lake_last_processed_timestamp    , recency    FROM      (       SELECT         RANK() OVER (PARTITION BY shift_id ORDER BY shift_version DESC) recency       , *       FROM         staff_shifts sa       WHERE (instance_id = 'YourAmazonConnectInstanceId')    )  t    WHERE ((recency = 1) AND (is_deleted = false)) ) SELECT   asgfg.forecast_group_name , array_join(sn.supervisor_names, ',') supervisor_names , s.agent_arn , u.first_name , u.last_name , asgfg.staffing_group_name , ssa.activity_id , (CASE WHEN (ssa.shift_activity_arn IS NULL) THEN COALESCE(sa.shift_activity_name, 'Work') ELSE sa.shift_activity_name END) shift_activity_name , s.shift_start_timestamp , s.shift_end_timestamp , (CASE WHEN (ssa.shift_activity_arn IS NULL) THEN COALESCE(sa.type, 'PRODUCTIVE') ELSE sa.type END) type , (CASE WHEN (ssa.shift_activity_arn IS NULL) THEN COALESCE(sa.is_paid, true) ELSE sa.is_paid END) is_paid , ssa.activity_start_timestamp , ssa.activity_end_timestamp , ssa.last_updated_timestamp , ssa.data_lake_last_processed_timestamp , u.agent_username as username , u.agent_routing_profile_id as routing_profile_id FROM   staff_shift_activities ssa INNER JOIN latest_staff_shifts s ON s.shift_id = ssa.shift_id AND s.shift_version = ssa.shift_version INNER JOIN USERS u ON s.agent_arn = u.user_arn INNER JOIN latest_agent_staffing_group_forecast_group_view asgfg ON s.agent_arn = asgfg.agent_arn LEFT JOIN latest_shift_activities_view sa ON sa.shift_activity_arn = ssa.shift_activity_arn INNER JOIN latest_supervisor_names_view sn ON sn.staffing_group_arn = asgfg.staffing_group_arn WHERE (ssa.is_deleted = false) AND (COALESCE(ssa.activity_status, ' ') <> 'INACTIVE') AND (ssa.instance_id = 'YourAmazonConnectInstanceId')

2. 특정 Forecast 그룹에 있는 에이전트의 모든 휴가 요청을 가져오는 쿼리

forecast_group_name이 'AnyDepartmentForecastGroup'인 agent_timeoff_report_view에서 *를 선택합니다.

아래 쿼리를 사용하여 위에서 언급한agent_timeoff_report_view를 생성합니다.

CREATE OR REPLACE VIEW "agent_timeoff_report_view" AS WITH latest_staff_timeoffs AS (         SELECT t1.*,             CAST((t1.effective_timeoff_hours * 60) AS INT) total_effective_timeoff_minutes         FROM (                 SELECT RANK() OVER (                         PARTITION BY timeoff_id                         ORDER BY timeoff_version DESC                     ) recency,                     agent_arn,                     timeoff_id,                     shift_activity_arn,                     timeoff_status,                     timeoff_version,                     effective_timeoff_hours,                     timeoff_start_timestamp,                     timeoff_end_timestamp,                     last_updated_timestamp,                     data_lake_last_processed_timestamp                 FROM staff_timeoffs                 WHERE (                         instance_id = 'YourAmazonConnectInstanceId'                     )             ) t1         WHERE (recency = 1)     ) SELECT asgfg.forecast_group_name,     to.agent_arn,     asgfg.agent_name,     asgfg.staffing_group_name,     asgfg.username,     sa.shift_activity_name,     to.timeoff_start_timestamp,     to.timeoff_end_timestamp,     to.timeoff_status,     array_join(sn.supervisor_names, ',') AS supervisor_names,     sa.is_paid,     to.last_updated_timestamp,     to.data_lake_last_processed_timestamp,     u.agent_routing_profile_id AS routing_profile_id,     to.timeoff_id,     to.shift_activity_arn,     to.total_effective_timeoff_minutes FROM latest_staff_timeoffs to     INNER JOIN latest_agent_staffing_group_forecast_group_view asgfg ON asgfg.agent_arn = to.agent_arn     INNER JOIN latest_shift_activities_view sa ON sa.shift_activity_arn = to.shift_activity_arn     INNER JOIN latest_supervisor_names_view sn ON sn.staffing_group_arn = asgfg.staffing_group_arn     INNER JOIN users u ON u.user_arn = to.agent_arn
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.