Dati di pianificazione nel data lake di analisi di Amazon Connect - Amazon Connect

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à.

Dati di pianificazione nel data lake di analisi di Amazon Connect

Questo argomento fornisce informazioni dettagliate sul contenuto delle tabelle di pianificazione del data lake di analisi di Amazon Connect. Ogni tabella elenca la colonna, il tipo e la descrizione del contenuto.

Per accedere al data lake di analisi e configurare i dati da condividere, è possibile procedere in due modi:

Se non riesci ad accedere alle tabelle di pianificazione utilizzando l’opzione 1, prova a utilizzare l’opzione 2.

Profilo di pianificazione del personale

Nome della tabella: staff_scheduling_profile

Chiave primaria composita: {instance_id, agent_arn, staff_scheduling_profile_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
agent_arn stringa L’ARN dell’agente.
staff_scheduling_profile_version bigint La versione del profilo di pianificazione del personale.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
staffing_group_arn stringa L’ARN del gruppo di personale a cui è assegnato l’agente.
start_timestamp Time stamp StartTimestamp per l'agente configurato in Staff Rules (le pianificazioni vengono generate solo dopo questo timestamp).
end_timestamp Time stamp EndTimestamp per l'agente configurato nelle Regole dello staff (le pianificazioni non vengono generate oltre questo timestamp).
shift_profile_arn stringa L’ARN del profilo dei turni a cui è assegnato l’agente configurato nelle regole del personale.
timezone stringa Fuso orario configurato per l’agente.
is_deleted Booleano Impostato su True se l’agente è stato eliminato. Altrimenti è impostato su False.
last_updated_timestamp Time stamp Indicatore temporale in cui era impostato il profilo di pianificazione dello staff. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Attività a turni

Nome della tabella: shift_activities

Chiave primaria composita: {instance_id, shift_activity_arn, shift_activity_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
shift_activity_arn stringa L’ARN dell’attività a turni.
shift_activity_version bigint La versione dell’attività a turni.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
shift_activity_name stringa Nome dell’attività a turni.
tipo stringa Tipo di attività a turni. I valori possibili sono: PRODUCTIVE, NON_PRODUCTIVE, and LEAVE.
sub_type stringa Il sottotipo dell’attività a turni. Valido solo per le attività di tipo NON_PRODUCTIVE. I valori possibili sono: BREAK_OR_MEAL e NONE.
is_adherence_tracked Booleano Impostato su True se l’attività a turni è configurata per il monitoraggio dell’aderenza. Altrimenti è impostato su False.
is_paid Booleano Impostato su True se l’attività a turni è configurata come a pagamento. Altrimenti è impostato su False.
is_deleted Booleano Impostato su True se l’attività a turni è stata eliminata. Altrimenti è impostato su False.
last_updated_timestamp Time stamp Il timestamp in cui si svolgeva l'attività di Shift. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Profili di turno

Nome della tabella: shift_profiles

Chiave primaria composita: {instance_id, shift_profile_arn, shift_profile_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
shift_profile_arn stringa L’ARN del profilo dei turni.
shift_profile_version bigint La versione del profilo dei turni.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
shift_profile_name stringa Il nome del profilo dei turni.
is_deleted Booleano Impostato su True se il profilo dei turni è stato eliminato. Altrimenti è impostato su False.
last_updated_timestamp Time stamp Il timestamp in cui si trovava lo Shift Profile. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Gruppi di personale

Nome della tabella: staffing_groups

Chiave primaria composita: {instance_id, staffing_group_arn, staffing_group_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
staffing_group_arn stringa L’ARN del gruppo di personale.
staffing_group_version bigint La versione del gruppo di personale.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
staffing_group_name stringa Il nome del gruppo di personale.
is_deleted Booleano Impostato su True se il gruppo di personale è stato eliminato. Altrimenti è impostato su False.
last_updated_timestamp Time stamp Il timestamp di quando era lo Staffing Group. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Gruppi di personale - Gruppi di previsioni

Nome della tabella: staffing_group_forecast_groups

Chiave primaria composita: {instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}

È possibile eseguire query su questa tabella in combinazione con la tabella staffing_groups su staffing_group_arn e staffing_group_version.

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
staffing_group_arn stringa L’ARN del gruppo di personale.
staffing_group_version bigint La versione del gruppo di personale.
forecast_group_arn stringa L’ARN del gruppo di previsione associato al gruppo di personale.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
is_deleted Booleano Impostato su False quando l'associazione StaffingGroup - ForecastGroup è valida.
last_updated_timestamp Time stamp Il timestamp di creazione/aggiornamento del gruppo di personale.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Gruppi di personale - Supervisori

Nome della tabella: staffing_group_supervisors

Chiave primaria composita: {instance_id, staffing_group_arn, staffing_group_version, supervisor_arn}

È possibile eseguire query su questa tabella in combinazione con la tabella staffing_groups su staffing_group_arn e staffing_group_version.

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
staffing_group_arn stringa L’ARN del gruppo di personale.
staffing_group_version bigint La versione del gruppo di personale.
supervisor_arn stringa L’ARN agente del supervisore associato al gruppo di personale.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
is_deleted Booleano Imposta su False quando l'ForecastGroupassociazione StaffingGroup - è valida.
last_updated_timestamp Time stamp Il timestamp di creazione/aggiornamento del gruppo di personale.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Turni del personale

Nome della tabella: staff_shifts

Chiave primaria composita: {instance_id, shift_id, shift_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
shift_id stringa L’ID del turno.
shift_version bigint La versione del turno.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
agent_arn stringa L’ARN dell’agente.
shift_start_timestamp Time stamp Il timestamp dell’inizio del turno.
shift_end_timestamp Time stamp Il timestamp della fine del turno.
created_timestamp Time stamp Il timestamp della creazione del turno.
is_deleted Booleano Impostato su True se il turno è stato eliminato. Altrimenti è impostato su False.
last_updated_timestamp Time stamp Il timestamp in cui si è verificato lo Shift. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Attività a turni del personale

Nome della tabella: staff_shift_activities

Chiave primaria composita: {instance_id, shift_id, shift_version, activity_id}

È possibile eseguire query su questa tabella in combinazione con la tabella staff_shifts su shift_id e shift_version.

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
shift_id stringa L’ID del turno.
shift_version bigint La versione del turno.
activity_id stringa L’ID dell’attività.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
activity_start_timestamp Time stamp Il timestamp dell’inizio dell’attività.
activity_end_timestamp Time stamp Il timestamp della fine dell’attività.
shift_activity_arn stringa L’ARN dell’attività a turni. Se shift_activity_arn è null, indica l’attività “Lavoro”.
activity_status stringa Stato dell’attività. È impostato su INACTIVE se l’attività si sovrappone a un periodo di ferie.
is_overtime Booleano Impostato su True se l’attività fa parte degli straordinari. Altrimenti è impostato su False.
is_deleted Booleano Impostato su False quando le attività a turni sono valide.
last_updated_timestamp Time stamp Il timestamp di creazione/aggiornamento del turno.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Variazioni del saldo delle ferie del personale

Nome della tabella: staff_timeoff_balance_changes

Chiave primaria composita: {instance_id, agent_arn, shift_activity_arn, timeoff_balance_version}

Colonna Tipo Description
instance_arn stringa L’ARN dell’istanza Amazon Connect.
instance_id stringa L’ID dell’istanza Amazon Connect.
account_id stringa L'ID dell'account. AWS
agent_arn stringa L'ARN dell'agente.
shift_activity_arn stringa L’ARN dell’attività a turni a cui è assegnato questo saldo.
timeoff_balance_version bigint La versione del saldo delle ferie, un numero crescente per indicare l’ordine delle modifiche.
balance_update_source stringa Origine dell’aggiornamento del saldo. I valori possibili sono TIME_OFF_BALANCE_UPLOAD, CONNECT_TIME_OFF_REQUEST, SCHEDULE_PUBLISH, CSV_TIME_OFF_BALANCE_DELETION, TIME_OFF_BALANCE_BACKFILL, SYSTEM_UPDATE
timeoff_id stringa L’ID del periodo di ferie che ha causato questa variazione del saldo, se presente.
last_updated_by stringa L’ARN dell’agente che ha causato questa variazione del saldo, se presente.
balance_change_in_hours virgola mobile a doppia precisione Entità della variazione del saldo ferie a seguito di questa modifica in ore. Se questo valore è positivo, la modifica incrementa il saldo delle ferie. Se questo valore è negativo, la modifica riduce il saldo delle ferie. Questo valore non è definito per gli eventi di caricamento ed eliminazione del saldo.
remaining_balance_in_hours virgola mobile a doppia precisione Ore residue del saldo delle ferie dopo questo evento di modifica. Questo valore non è definito per gli eventi di eliminazione del saldo.
last_created_timestamp Time stamp Il timestamp della creazione del record di modifica del saldo ferie.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Ferie del personale

Nome della tabella: staff_timeoffs

Chiave primaria composita: {instance_id, timeoff_id, agent_arn, timeoff_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
timeoff_id stringa L’ID del periodo di ferie.
agent_arn stringa L’ARN dell’agente.
timeoff_version bigint La versione del periodo di ferie.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
timeoff_type stringa Tipo di periodo di ferie. I valori possibili sono: TIME_OFF e VOLUNTARY_TIME_OFF.
timeoff_start_timestamp Time stamp Timestamp dell’inizio del periodo di ferie.
timeoff_end_timestamp Time stamp Timestamp della fine del periodo di ferie.
timeoff_status stringa Stato del periodo di ferie. 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 periodo di ferie è in attesa dell’azione dell’utente. Gli stati PENDING indicano che il periodo di ferie è in attesa che un’azione dell’utente venga elaborata dal sistema.
shift_activity_arn stringa L’ARN dell’attività a turni utilizzata per il periodo di ferie.
effective_timeoff_hours virgola mobile a doppia precisione Ore di ferie effettive totali. Le ore di ferie effettive vengono calcolate in base alla logica di sottrazione per le ferie. Viene impostato solo per il tipo TIME_OFF.
last_updated_timestamp Time stamp Indicatore temporale in cui è scaduto il Time Off. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Intervalli di ferie del personale

Nome della tabella: staff_timeoff_intervals

Chiave primaria composita: {instance_id, timeoff_id, timeoff_version, interval_id}

È possibile eseguire query su questa tabella in combinazione con la tabella staff_timeoffs su timeoff_id e timeoff_version.

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
timeoff_id stringa L’ID del periodo di ferie.
timeoff_version bigint La versione del periodo di ferie.
interval_id stringa L’ID dell’intervallo di ferie.
instance_arn stringa L’ARN dell’istanza Amazon Connect.
timeoff_interval_start_timestamp Time stamp Timestamp dell’inizio dello specifico intervallo di ferie.
timeoff_interval_end_timestamp Time stamp Timestamp della fine dello specifico intervallo di ferie.
interval_effective_timeoff_hours virgola mobile a doppia precisione Ore di ferie effettive per questo intervallo specifico di ferie. Le ore di ferie effettive vengono calcolate in base alla logica di sottrazione per le ferie.
last_updated_timestamp Time stamp Timestamp in cui era il Time Off. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Gruppo di richieste di personale

Nome della tabella: staff_demand_group

Chiave primaria composita: {instance_id, agent_arn, demand_group_arn, staff_demand_group_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
agent_arn stringa L'ARN dell'agente.
demand_group_arn stringa L'ARN del gruppo di domanda.
staff_demand_group_version Long Versione per questo agente per richiedere l'associazione di gruppo
priority stringa Priorità del gruppo di domanda per questo agente. Può essere BASSA, MEDIA o ALTA
instance_arn stringa L’ARN dell’istanza Amazon Connect.
is_override Booleano Impostato su «true» se si tratta di un'associazione tra agenti e gruppi di domanda e sostituisce il livello di agente.
is_deleted Booleano Imposta su true se l'associazione tra agente e gruppo di richieste viene eliminata.
last_updated_timestamp Time stamp Il timestamp in cui l'associazione agente-gruppo di richieste è stata creata/aggiornata.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Gruppi di personale (gruppo di domanda)

Nome della tabella: staffing_group_demand_group

Chiave primaria composita: {instance_id, staffing_group_arn, demand_group_arn, staffing_group_demand_group_version}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
staffing_group_arn stringa L’ARN del gruppo di personale.
demand_group_arn stringa L'ARN del gruppo di domanda.
staffing_group_demand_group_version Long Versione per questa associazione Staffing Group to Demand Group
priority stringa Priorità del gruppo di domanda per questo gruppo di personale. Può essere BASSA, MEDIA o ALTA
instance_arn stringa L’ARN dell’istanza Amazon Connect.
is_deleted Booleano Impostato su true se l'associazione tra il gruppo di personale e il gruppo di richieste viene eliminato.
last_updated_timestamp Time stamp Indicatore temporale in cui si trovava l'associazione tra il gruppo di personale e il gruppo di richieste. created/updated/deleted
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Allocazione delle attività relative ai turni del personale

Nome della tabella: staff_shift_activity_allocations

Chiave primaria composita: {instance_id, shift_id, shift_version, activity_id, demand_group_arn}

Colonna Tipo Description
instance_id stringa L’ID dell’istanza Amazon Connect.
shift_id stringa L'ID del turno.
shift_version Long La versione del turno.
activity_id stringa L'ID dell'attività.
demand_group_arn stringa L'ARN del gruppo di domanda.
forecast_group_arn stringa L’ARN del gruppo di previsioni.
percentuale_allocazione virgola mobile a doppia precisione Allocazione percentuale dell'attività al gruppo di domanda.
is_deleted Booleano Impostato su False quando il StaffingGroup - ForecastGroupassociation è valido.
last_updated_timestamp Time stamp Il timestamp di creazione/aggiornamento del gruppo di personale.
data_lake_last_processed_timestamp Time stamp Il timestamp che mostra l’ultima volta in cui il record è stato elaborato dal data lake. Può includere la trasformazione e il riempimento. Questo campo non può essere utilizzato per determinare l’aggiornamento dei dati in modo affidabile.

Schema di 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 di Amazon Connect.

Ogni tabella mostra le chiavi primarie e gli attributi con i relativi tipi di dati. Il diagramma illustra le relazioni tra queste tabelle attraverso relazioni di chiave esterna, offrendo una visione completa del modello di dati di pianificazione.

Un diagramma delle relazioni tra entità che mostra la struttura e le relazioni tra le tabelle di pianificazione nel data lake di analisi di Amazon Connect.

Query di esempio

1. Query per ottenere tutte le attività a turni pianificate degli agenti che lavorano su uno specifico gruppo di previsione

SELECT * FROM agent_scheduled_shift_activities_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Esegui questa procedura per creare la vista agent_scheduled_shift_activities_view citata sopra.

Fase 1: creare 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

Fase 2: creare una vista per ottenere il gruppo di personale e il gruppo di previsione associati 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

Fase 3: ottenere le ultime attività a turni

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: creare una vista per ottenere le attività a turni pianificate dell’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. Query per ottenere tutte le richieste di ferie degli agenti in uno specifico gruppo di previsione

SELECT * FROM agent_timeoff_report_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Utilizza la query seguente per creare la vista agent_timeoff_report_view citata sopra.

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