Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Pianificazione dei dati nel data lake di analisi Amazon Connect
Questo argomento descrive in dettaglio il contenuto delle tabelle di pianificazione del data lake di analisi di Amazon Connect. Le tabelle elencano la colonna, il tipo e la descrizione del contenuto.
Esistono due modi per accedere al data lake di analisi e configurare i dati da condividere:
Se non riesci ad accedere alle tabelle di pianificazione utilizzando l'opzione 1, prova a utilizzare l'opzione 2.
Indice
Profilo di pianificazione del personale
Nome della tabella: staff_scheduling_profile
Chiave primaria composita: {instance_id, agent_arn,
staff_scheduling_profile_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
agent_arn | string | L'ARN dell'agente. |
staff_scheduling_profile_version | bigint | La versione del profilo Staff Scheduling. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
staffing_group_arn | string | L'ARN del gruppo di personale a cui è assegnato l'agente. |
start_timestamp | Timestamp | StartTimestamp per l'agente configurato nelle Regole dello staff (le pianificazioni vengono generate solo dopo questo timestamp). |
end_timestamp | Timestamp | EndTimestamp per l'agente configurato nelle regole dello staff (le pianificazioni non vengono generate oltre questo timestamp). |
shift_profile_arn | string | L'ARN dello Shift Profile a cui è assegnato l'agente configurato nelle Regole dello staff. |
timezone | string | Fuso orario configurato per l'agente. |
è_eliminato | Booleano | Imposta su True se l'agente viene eliminato. Altrimenti impostato su False. |
last_updated_timestamp | Timestamp | Indicatore temporale in cui era impostato il profilo di pianificazione dello staff. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Attività a turni
Nome della tabella: shift_activities
Chiave primaria composita: {instance_id, shift_activity_arn,
shift_activity_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
shift_activity_arn | string | L'ARN dell'attività a turni. |
shift_activity_version | bigint | La versione Shift Activity. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
shift_activity_name | string | Nome dell'attività Shift. |
tipo | string | Tipo di attività a turni. I valori possibili sono: PRODUCTIVE, NON_PRODUCTIVE e LEAVE. |
sottotipo | string | Il sottotipo di Shift Activity. Questo è valido solo per le attività di tipo NON_PRODUCTIVE. I valori possibili sono: BREAK_OR_MEAL e NONE. |
is_adherence_tracked | Booleano | Imposta su True se Shift Activity è configurata per il tracciamento dell'aderenza. Altrimenti impostato su False. |
is_paid | Booleano | Imposta su True se Shift Activity è configurata come a pagamento. Altrimenti impostato su False. |
è_cancellato | Booleano | Imposta su True se l'attività Shift viene eliminata. Altrimenti impostato su False. |
last_updated_timestamp | Timestamp | Il timestamp in cui si svolgeva l'attività Shift. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Profili di turno
Nome della tabella: shift_profiles
Chiave primaria composita: {instance_id, shift_profile_arn,
shift_profile_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
shift_profile_arn | string | L'ARN dello Shift Profile. |
shift_profile_version | bigint | La versione Shift Profile. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
shift_profile_name | string | Il nome dello Shift Profile. |
è_deleted | Booleano | Imposta su True se lo Shift Profile viene eliminato. Altrimenti impostato su False. |
last_updated_timestamp | Timestamp | Il timestamp in cui era impostato Shift Profile. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Gruppi di personale
Nome della tabella: staffing_groups
Chiave primaria composita: {instance_id, staffing_group_arn,
staffing_group_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
staffing_group_arn | string | L'ARN dello Staffing Group. |
staffing_group_version | bigint | La versione Staffing Group. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
nome_gruppo_personale | string | Il nome dello Staffing Group. |
è_cancellato | Booleano | Imposta su True se lo Staffing Group viene eliminato. Altrimenti impostato su False. |
last_updated_timestamp | Timestamp | Il timestamp di quando era lo Staffing Group. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Gruppi di personale - Forecast groups
Nome della tabella: staffing_group_forecast_groups
Chiave primaria composita: {instance_id, staffing_group_arn,
staffing_group_version, forecast_group_arn}
Questa tabella deve essere interrogata unendosi alla staffing_groups
tabella su staffing_group_arn
and. staffing_group_version
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
staffing_group_arn | string | L'ARN dello Staffing Group. |
staffing_group_version | bigint | La versione Staffing Group. |
forecast_group_arn | string | L'ARN del Forecast Group associato allo Staffing Group. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
è_cancellato | Booleano | Impostato su False quando l'ForecastGroupassociazione StaffingGroup - è valida. |
last_updated_timestamp | Timestamp | Il timestamp in cui il gruppo di personale è stato creato/aggiornato. |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Gruppi di personale - Supervisori
Nome della tabella: staffing_group_supervisors
Chiave primaria composita: {instance_id, staffing_group_arn,
staffing_group_version, supervisor_arn}
Questa tabella deve essere interrogata unendosi alla staffing_groups
tabella su staffing_group_arn
and. staffing_group_version
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
staffing_group_arn | string | L'ARN dello Staffing Group. |
staffing_group_version | bigint | La versione Staffing Group. |
supervisor_arn | string | L'ARN dell'agente del supervisore associato al gruppo di personale. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
è_cancellato | Booleano | Impostato su False quando l'ForecastGroupassociazione StaffingGroup - è valida. |
last_updated_timestamp | Timestamp | Il timestamp in cui il gruppo di personale è stato creato/aggiornato. |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Turni del personale
Nome della tabella: staff_shifts
Chiave primaria composita: {instance_id, shift_id, shift_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
shift_id | string | L'ID dello Shift. |
shift_version | bigint | La versione Shift. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
agent_arn | string | L'ARN dell'agente. |
shift_start_timestamp | Timestamp | Il timestamp all'inizio dello Shift. |
shift_end_timestamp | Timestamp | Il timestamp al termine dello Shift. |
created_timestamp | Timestamp | Il timestamp in cui è stato creato lo Shift. |
è_deleted | Booleano | Imposta su True se Shift viene eliminato. Altrimenti impostato su False. |
last_updated_timestamp | Timestamp | Il timestamp in cui si è verificato lo Shift. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Attività a turni del personale
Nome della tabella: staff_shift_activities
Chiave primaria composita: {instance_id, shift_id, shift_version,
activity_id}
Questa tabella deve essere interrogata unendosi alla staff_shifts
tabella su shift_id
and. shift_version
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
shift_id | string | L'ID dello Shift. |
shift_version | bigint | La versione Shift. |
activity_id | string | L'ID dell'attività. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
activity_start_timestamp | Timestamp | Il timestamp di inizio dell'attività. |
activity_end_timestamp | Timestamp | Il timestamp al termine dell'attività. |
shift_activity_arn | string | L'ARN dell'attività a turni. Se shift_activity_arn è nullo, indica l'attività «Lavorativa». |
stato_attività | string | Stato dell'attività. È impostato su INATTIVO se l'attività si sovrappone a un timeoff. |
is_overtime | Booleano | Imposta su True se l'attività fa parte degli straordinari. Altrimenti impostato su False. |
è_cancellato | Booleano | Impostato su False quando le Shift Activities sono valide. |
last_updated_timestamp | Timestamp | Il timestamp in cui lo Shift è stato creato/aggiornato. |
data_lake_last_processed_timestamp | Timestamp | Il timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Tempi di ferie per il personale
Nome della tabella: staff_timeoffs
Chiave primaria composita: {instance_id, timeoff_id, agent_arn,
timeoff_version}
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
timeoff_id | string | L'ID del Time Off. |
agent_arn | string | L'ARN dell'agente. |
timeoff_version | bigint | La versione Time Off. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
timeoff_type | string | Tipo di Time Off. I valori possibili sono: TIME_OFF e VOLUNTARY_TIME_OFF. |
timeoff_start_timestamp | Timestamp | Timestamp all'inizio del Time Off. |
timeoff_end_timestamp | Timestamp | Timestamp al termine del Time Off. |
timeoff_status | string | Stato del Time Off. I valori possibili sono: PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECTED, CANCELLED, WAITING_ACCEPT e WAITING_APPROVE. Gli stati WAITING indicano che il timeoff è in attesa dell'azione dell'utente. Gli stati PENDING indicano che il timeoff è in attesa dell'elaborazione da parte del sistema di un'azione dell'utente. |
shift_activity_arn | string | L'ARN dell'attività a turni utilizzata per il timeoff. |
time_off_hours effettivi | double | Tempo di riposo effettivo totale. Le ore di timeoff effettive vengono calcolate in base alla logica di detrazione del timeoff. Questo è impostato solo per il tipo TIME_OFF. |
last_updated_timestamp | Timestamp | Indicatore temporale in cui era il Time Off. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Intervalli di tempo libero del personale
Nome della tabella: staff_timeoff_intervals
Chiave primaria composita: {instance_id, timeoff_id, timeoff_version,
interval_id}
Questa tabella deve essere interrogata unendosi alla staff_timeoffs
tabella su timeoff_id
and. timeoff_version
Colonna | Tipo | Descrizione |
---|---|---|
instance_id | string | L'ID dell'istanza Amazon Connect. |
timeoff_id | string | L'ID del Time Off. |
timeoff_version | bigint | La versione Time Off. |
interval_id | string | L'ID dell'intervallo di tempo libero. |
instance_arn | string | L'ARN dell'istanza Amazon Connect. |
timeoff_interval_start_timestamp | Timestamp | Timestamp quando inizia l'intervallo specifico di Time Off. |
timeoff_interval_end_timestamp | Timestamp | Timestamp quando termina l'intervallo specifico di Time Off. |
interval_effective_timeoff_hours | double | Ore di tempo libero effettive per questo intervallo specifico di Time Off. Le ore di timeoff effettive vengono calcolate in base alla logica di detrazione del timeoff. |
last_updated_timestamp | Timestamp | Indicatore orario in cui era il Time Off. created/updated/deleted |
data_lake_last_processed_timestamp | Timestamp | Timestamp, che mostra l'ultima volta che il record è stato toccato dal data lake. Ciò può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare in modo affidabile la freschezza dei dati. |
Schema dei dati
Di seguito è riportato un diagramma delle relazioni tra entità che mostra la struttura e le relazioni tra le tabelle di pianificazione nel data lake di analisi Amazon Connect. Il diagramma illustra lo schema del database con 10 tabelle interconnesse:staff_shift_ activities
,,staff_shifts
,staff_timeoffs
,staff_timeoff_intervals
,users
,routing_profiles
, shift_activities
staffing_groups
shift_profiles
, staffing_group_supervisors
e f. staffing_group_forecast_groups
orecast_groups
Ogni tabella mostra le chiavi e gli attributi primari con i relativi tipi di dati. Il diagramma illustra come queste tabelle si relazionano tra loro tramite relazioni con chiavi esterne, fornendo una visione completa del modello di dati di pianificazione.

Query di esempio
1. Interrogazione per ottenere tutte le attività programmate dei turni degli agenti che lavorano su uno specifico Forecast Group
SELECT * FROM agent_scheduled_shift_activities_view
where forecast_group_name = 'AnyDepartmentForecastGroup'
Completa i seguenti passaggi per creare quanto agent_scheduled_shift_activities_view
sopra indicato.
Passaggio 1: crea una vista per ottenere i nomi dei supervisori
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
Passaggio 2: crea una visualizzazione per associare il gruppo di personale e il gruppo di previsione a un agente
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
Passaggio 3: ottieni le ultime attività di Shift
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)
Fase 4: Crea una visualizzazione per visualizzare le attività dei turni programmate dall'agente
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. Interrogazione per ottenere tutte le richieste di ferie degli agenti in uno specifico Forecast Group
SELECT * FROM agent_timeoff_report_view where forecast_group_name =
'AnyDepartmentForecastGroup'
Usa la seguente query per creare quanto sopra agent_timeoff_report_view
menzionato.
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