기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Connect 분석 데이터 레이크에서 데이터 예약
이 주제에서는 Amazon Connect 분석 데이터 레이크 예약 테이블의 내용을 자세히 설명합니다. 테이블에는 콘텐츠의 열, 유형 및 설명이 나열됩니다.
분석 데이터 레이크에 액세스하고 공유할 데이터를 구성하는 두 가지 방법이 있습니다.
옵션 1을 사용하여 예약 테이블에 액세스할 수 없는 경우 옵션 2를 사용해 보세요.
내용
직원 일정 프로필
테이블 이름: staff_scheduling_profile
복합 기본 키: {instance_id, agent_arn, staff_scheduling_profile_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
agent_arn | 문자열 | 에이전트의 ARN입니다. |
staff_scheduling_profile_version | bigint | 직원 일정 프로필 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
인력_그룹_arn | 문자열 | 에이전트가 할당된 인력 배치 그룹의 ARN입니다. |
start_timestamp | Timestamp | 직원 규칙에 구성된 에이전트의 StartTimestamp(일정은이 타임스탬프 이후에만 생성됨). |
end_timestamp | Timestamp | 직원 규칙에 구성된 에이전트의 EndTimestamp(이 타임스탬프 이후에는 일정이 생성되지 않음). |
shift_profile_arn | 문자열 | 직원 규칙에 에이전트가 할당된 교대 근무 프로필의 ARN이 구성되어 있습니다. |
timezone | 문자열 | 에이전트에 대해 구성된 시간대입니다. |
is_deleted | 불 | 에이전트가 삭제된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
last_updated_timestamp | Timestamp | 직원 예약 프로필이 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 타임스탬프 - 데이터 레이크가 레코드를 마지막으로 터치한 시간을 표시합니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
교대 근무 활동
테이블 이름: shift_activities
복합 기본 키: {instance_id, shift_activity_arn, shift_activity_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
shift_activity_arn | 문자열 | 교대 근무 활동의 ARN입니다. |
shift_activity_version | bigint | 교대 근무 활동 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
shift_activity_이름 | 문자열 | 교대 근무 활동의 이름입니다. |
type | 문자열 | 교대 근무 활동의 유형입니다. 가능한 값은 PRODUCTIVE, NON_PRODUCTIVE, LEAVE입니다. |
sub_type | 문자열 | 교대 근무 활동의 하위 유형입니다. 이는 NON_PRODUCTIVE 유형 활동에만 유효합니다. 가능한 값은 BREAK_OR_MEAL과 NONE입니다. |
is_adherence_tracked | 불 | 교대 근무 활동이 준수 추적을 위해 구성된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
is_paid | 불 | 교대 근무 활동이 유료로 구성된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
is_deleted | 불 | 교대 근무 활동이 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
last_updated_timestamp | Timestamp | 교대 근무 활동이 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
교대 근무 프로필
테이블 이름: shift_profiles
복합 기본 키: {instance_id, shift_profile_arn, shift_profile_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
shift_profile_arn | 문자열 | Shift Profile의 ARN입니다. |
shift_profile_버전 | bigint | 교대 근무 프로필 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
shift_profile_이름 | 문자열 | Shift Profile의 이름입니다. |
is_deleted | 불 | Shift Profile이 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
last_updated_timestamp | Timestamp | Shift Profile이 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
인력 배치 그룹
테이블 이름: staffing_groups
복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
인력_그룹_arn | 문자열 | 인력 배치 그룹의 ARN입니다. |
인력 배치_그룹_버전 | bigint | 인력 배치 그룹 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
인력 배치_그룹_이름 | 문자열 | 인력 배치 그룹의 이름입니다. |
is_deleted | 불 | 인력 배치 그룹이 삭제된 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
last_updated_timestamp | Timestamp | 인력 배치 그룹이 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
인력 배치 그룹 - 예측 그룹
테이블 이름: staffing_group_forecast_groups
복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}
이 테이블은 staffing_group_arn
및의 staffing_groups
테이블과 조인하여 쿼리해야 합니다staffing_group_version
.
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
인력_그룹_arn | 문자열 | 인력 배치 그룹의 ARN입니다. |
인력 배치_그룹_버전 | bigint | 인력 배치 그룹 버전입니다. |
forecast_group_arn | 문자열 | 인력 배치 그룹과 연결된 Forecast 그룹의 ARN입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
is_deleted | 불 | StaffingGroup-ForecastGroup 연결이 유효한 경우 False로 설정합니다. |
last_updated_timestamp | Timestamp | 인력 배치 그룹이 생성/업데이트된 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
인력 배치 그룹 - 감독자
테이블 이름: staffing_group_supervisors
복합 기본 키: {instance_id, staffing_group_arn, staffing_group_version, supervisor_arn}
이 테이블은 staffing_group_arn
및의 staffing_groups
테이블과 조인하여 쿼리해야 합니다staffing_group_version
.
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
인력_그룹_arn | 문자열 | 인력 배치 그룹의 ARN입니다. |
인력 배치_그룹_버전 | bigint | 인력 배치 그룹 버전입니다. |
감독자_arn | 문자열 | 인력 배치 그룹과 연결된 감독자의 에이전트 ARN입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
is_deleted | 불 | StaffingGroup-ForecastGroup 연결이 유효한 경우 False로 설정합니다. |
last_updated_timestamp | Timestamp | 인력 배치 그룹이 생성/업데이트된 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
직원 교대 근무
테이블 이름: staff_shifts
복합 기본 키: {instance_id, shift_id, shift_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
shift_id | 문자열 | 교대 근무의 ID입니다. |
shift_version | bigint | 교대 근무 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
agent_arn | 문자열 | 에이전트의 ARN입니다. |
shift_start_timestamp | Timestamp | 교대 근무 시작 시 타임스탬프입니다. |
shift_end_timestamp | Timestamp | 교대 근무가 종료될 때의 타임스탬프입니다. |
created_timestamp | Timestamp | 교대 근무가 생성된 시점의 타임스탬프입니다. |
is_deleted | 불 | Shift가 삭제되면 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
last_updated_timestamp | Timestamp | 교대 근무가 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
직원 교대 근무 활동
테이블 이름: staff_shift_activities
복합 기본 키: {instance_id, shift_id, shift_version, activity_id}
이 테이블은 shift_id
및의 staff_shifts
테이블과 조인하여 쿼리해야 합니다shift_version
.
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
shift_id | 문자열 | 교대 근무의 ID입니다. |
shift_version | bigint | 교대 근무 버전입니다. |
activity_id | 문자열 | 활동의 ID입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
activity_start_timestamp | Timestamp | 활동이 시작될 때의 타임스탬프입니다. |
activity_end_timestamp | Timestamp | 활동이 종료될 때의 타임스탬프입니다. |
shift_activity_arn | 문자열 | 교대 근무 활동의 ARN입니다. shift_activity_arn이 null이면 '작업' 활동을 나타냅니다. |
activity_status | 문자열 | 활동 상태입니다. 활동이 휴가와 겹치는 경우 비활성으로 설정됩니다. |
is_overtime | 불 | 활동이 초과 근무의 일부인 경우 True로 설정합니다. 그렇지 않으면 False로 설정됩니다. |
is_deleted | 불 | 교대 근무 활동이 유효하면 False로 설정합니다. |
last_updated_timestamp | Timestamp | 교대 근무가 생성/업데이트되었을 때의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여주는 타임스탬프입니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
직원 휴가
테이블 이름: staff_timeoffs
복합 기본 키: {instance_id, timeoff_id, agent_arn, timeoff_version}
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
timeoff_id | 문자열 | 휴가의 ID입니다. |
agent_arn | 문자열 | 에이전트의 ARN입니다. |
timeoff_version | bigint | 휴가 버전입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
timeoff_type | 문자열 | 휴가 유형입니다. 가능한 값은 TIME_OFF 및 VOLUNTARY_TIME_OFF입니다. |
timeoff_start_timestamp | Timestamp | 휴가 시작 시점의 타임스탬프입니다. |
timeoff_end_timestamp | Timestamp | 휴가 종료 시점의 타임스탬프입니다. |
timeoff_status | 문자열 | 휴가 상태입니다. 가능한 값은 PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECTED, CANCELLED, WAITING_ACCEPT, WAITING_APPROVE입니다. 대기 중 상태는 휴가가 사용자 작업을 기다리고 있음을 나타냅니다. 대기 중 상태는 휴가가 사용자 작업의 시스템 처리를 기다리고 있음을 나타냅니다. |
shift_activity_arn | 문자열 | 휴가에 사용되는 교대 근무 활동의 ARN입니다. |
effective_timeoff_hours | double | 총 유효 휴가 시간입니다. 유효 휴가 시간은 휴가 공제 로직을 기반으로 계산됩니다. 이는 TIME_OFF 유형에 대해서만 설정됩니다. |
last_updated_timestamp | Timestamp | 휴가가 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 타임스탬프 - 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여줍니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
직원 휴가 간격
테이블 이름: staff_timeoff_intervals
복합 기본 키: {instance_id, timeoff_id, timeoff_version, interval_id}
이 테이블은 timeoff_id
및의 staff_timeoffs
테이블과 조인하여 쿼리해야 합니다timeoff_version
.
열 | 유형 | 설명 |
---|---|---|
instance-id | 문자열 | Amazon Connect 인스턴스의 ID입니다. |
timeoff_id | 문자열 | 휴가의 ID입니다. |
timeoff_version | bigint | 휴가 버전입니다. |
interval_id | 문자열 | 휴가 간격의 ID입니다. |
instance_arn | 문자열 | Amazon Connect 인스턴스의 ARN입니다. |
timeoff_interval_start_timestamp | Timestamp | 휴가의 특정 간격이 시작될 때의 타임스탬프입니다. |
timeoff_interval_end_timestamp | Timestamp | 휴가의 특정 간격이 종료될 때의 타임스탬프입니다. |
interval_effective_timeoff_hours | double | 이 특정 휴가 간격의 유효 휴가 시간입니다. 유효 휴가 시간은 휴가 공제 로직을 기반으로 계산됩니다. |
last_updated_timestamp | Timestamp | 휴가가 created/updated/deleted 시점의 타임스탬프입니다. |
data_lake_last_processed_timestamp | Timestamp | 타임스탬프 - 데이터 레이크가 레코드를 마지막으로 터치한 시간을 보여줍니다. 여기에는 변환 및 채우기가 포함될 수 있습니다. 이 필드는 안정적인 데이터 신선도를 결정하는 데 사용할 수 없습니다. |
데이터 스키마
다음은 Amazon Connect 분석 데이터 레이크에서 테이블 예약 간의 구조와 관계를 보여주는 엔터티 관계 다이어그램입니다. 다이어그램은 , staff_shift_ activities
, , , , , , staff_shifts
, , staff_timeoffs
staff_timeoff_intervals
users
routing_profiles
shift_activities
staffing_groups
, shift_profiles
, staffing_group_forecast_groups
, staffing_group_supervisors
, 및 f라는 상호 연결된 테이블 10개가 있는 데이터베이스 스키마를 보여줍니다orecast_groups
.
각 테이블에는 기본 키와 속성이 데이터 유형과 함께 표시됩니다. 다이어그램은 이러한 테이블이 외래 키 관계를 통해 서로 어떻게 연관되는지 보여 주며, 예약 데이터 모델에 대한 포괄적인 보기를 제공합니다.

샘플 쿼리
1. 쿼리를 통해 특정 예측 그룹에서 작업하는 에이전트의 모든 예약된 교대 근무 활동 가져오기
SELECT * FROM agent_scheduled_shift_activities_view
where forecast_group_name = 'AnyDepartmentForecastGroup'
다음 단계를 완료하여 위에서 언급한를 생성합니다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. 특정 예측 그룹에 있는 에이전트의 모든 휴가 요청을 가져오는 쿼리
SELECT * FROM agent_timeoff_report_view where forecast_group_name =
'AnyDepartmentForecastGroup'
다음 쿼리를 사용하여 위에서 언급한 쿼리를 생성합니다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