Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Programación de datos en el lago de datos de análisis de Amazon Connect
En este tema, se detalla el contenido de las tablas de programación de lagos de datos de análisis de Amazon Connect. Las tablas enumeran la columna, el tipo y la descripción del contenido.
Hay dos formas de acceder al lago de datos de análisis y configurar los datos que se van a compartir:
Si no puede acceder a las tablas de programación mediante la opción 1, intente utilizar la opción 2.
Contenido
Perfil de programación del personal
Nombre de la tabla: staff_scheduling_profile
Clave primaria compuesta: {instance_id, agent_arn,
staff_scheduling_profile_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| agent_arn | cadena | El ARN del agente. |
| staff_scheduling_profile_version | bigint | La versión del perfil de programación del personal. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| staffing_group_arn | cadena | El ARN del grupo de personal al que está asignado el agente. |
| start_timestamp | Timestamp | StartTimestamp para el agente configurado en el reglamento del personal (los horarios se generan solo después de esta marca de tiempo). |
| end_timestamp | Timestamp | EndTimestamp para el agente configurado en el Reglamento del Personal (los horarios no se generan más allá de esta marca temporal). |
| shift_profile_arn | cadena | El ARN del perfil de turno al que está asignado el agente está configurado en las Reglas del personal. |
| timezone | cadena | Zona horaria configurada para el agente. |
| is_deleted | Booleano | Establézcalo en true si se elimina el agente. Si no, póngalo en false. |
| last_updated_timestamp | Timestamp | Fecha y hora en que se publicó el perfil de programación del personal. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Actividades de turnos
Nombre de la tabla: shift_activities
Clave primaria compuesta: {instance_id, shift_activity_arn,
shift_activity_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| shift_activity_arn | cadena | El ARN de la actividad por turnos. |
| shift_activity_version | bigint | La versión de la actividad por turnos. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| shift_activity_name | cadena | El nombre de la actividad por turnos. |
| type | cadena | El tipo de la actividad por turnos. Los valores posibles son PRODUCTIVE, NON_PRODUCTIVE y LEAVE. |
| sub_type | cadena | El subtipo de la actividad por turnos. Esto solo es válido para actividades de tipo NON_PRODUCTIVE. Los valores posibles son BREAK_OR_MEAL y NONE. |
| is_adherence_tracked | Booleano | Establézcalo en true si la actividad por turnos está configurada para el seguimiento de la adherencia. Si no, póngalo en false. |
| is_paid | Booleano | Establézcalo en true si la actividad por turnos está configurada como pagada. Si no, póngalo en false. |
| is_deleted | Booleano | Establézcalo en true si se ha eliminado la actividad por turnos. Si no, póngalo en false. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se realizó la actividad del turno. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Perfiles de turnos
Nombre de la tabla: shift_profiles
Clave primaria compuesta: {instance_id, shift_profile_arn,
shift_profile_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| shift_profile_arn | cadena | El ARN del perfil de turno. |
| shift_profile_version | bigint | La versión del perfil de turno. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| shift_profile_name | cadena | El nombre del perfil de turno. |
| is_deleted | Booleano | Establézcalo en true si se ha eliminado el perfil de turno. Si no, póngalo en false. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se produjo el perfil del turno. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Grupos de personal
Nombre de la tabla: staffing_groups
Clave primaria compuesta: {instance_id, staffing_group_arn,
staffing_group_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| staffing_group_arn | cadena | El ARN del grupo de personal. |
| staffing_group_version | bigint | La versión del grupo de personal. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| staffing_group_name | cadena | El nombre del grupo de personal. |
| is_deleted | Booleano | Establézcalo en true si se elimina el grupo de personal. Si no, póngalo en false. |
| last_updated_timestamp | Timestamp | La marca de tiempo de cuando estaba el grupo de personal. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Grupos de personal: grupos de previsiones
Nombre de la tabla: staffing_group_forecast_groups
Clave primaria compuesta: {instance_id, staffing_group_arn,
staffing_group_version, forecast_group_arn}
Esta tabla debe consultarse uniéndola a la tabla de staffing_groups en staffing_group_arn y staffing_group_version.
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| staffing_group_arn | cadena | El ARN del grupo de personal. |
| staffing_group_version | bigint | La versión del grupo de personal. |
| forecast_group_arn | cadena | El ARN del grupo de previsión asociado al grupo de personal. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| is_deleted | Booleano | Se establece en False cuando la ForecastGroup asociación StaffingGroup - es válida. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se creó o actualizó el grupo de personal. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Grupos de personal: supervisores
Nombre de la tabla: staffing_group_supervisors
Clave primaria compuesta: {instance_id, staffing_group_arn,
staffing_group_version, supervisor_arn}
Esta tabla debe consultarse uniéndola a la tabla de staffing_groups en staffing_group_arn y staffing_group_version.
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| staffing_group_arn | cadena | El ARN del grupo de personal. |
| staffing_group_version | bigint | La versión del grupo de personal. |
| supervisor_arn | cadena | El ARN de agente del supervisor asociado al grupo de personal. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| is_deleted | Booleano | Se establece en False cuando la ForecastGroup asociación StaffingGroup - es válida. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se creó o actualizó el grupo de personal. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Turnos de personal
Nombre de la tabla: staff_shifts
Clave primaria compuesta: {instance_id, shift_id, shift_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| shift_id | cadena | El ID del turno. |
| shift_version | bigint | La versión del turno. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| agent_arn | cadena | El ARN del agente. |
| shift_start_timestamp | Timestamp | La marca de tiempo cuando comienza el turno. |
| shift_end_timestamp | Timestamp | La marca de tiempo cuando finaliza el turno. |
| created_timestamp | Timestamp | La marca de tiempo cuando se creó el turno. |
| is_deleted | Booleano | Establézcalo en true si se ha eliminado el turno. Si no, póngalo en false. |
| last_updated_timestamp | Timestamp | La marca de tiempo de cuando ocurrió el cambio. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Actividades de turnos de personal
Nombre de la tabla: staff_shift_activities
Clave primaria compuesta: {instance_id, shift_id, shift_version,
activity_id}
Esta tabla debe consultarse uniéndola a la tabla de staff_shifts en shift_id y shift_version.
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| shift_id | cadena | El ID del turno. |
| shift_version | bigint | La versión del turno. |
| activity_id | cadena | El ID de la actividad. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| activity_start_timestamp | Timestamp | La marca de tiempo cuando comienza la actividad. |
| activity_end_timestamp | Timestamp | La marca de tiempo cuando finaliza la actividad. |
| shift_activity_arn | cadena | El ARN de la actividad por turnos. Si shift_activity_arn es nulo, eso indica la actividad “Trabajo”. |
| activity_status | cadena | Estado de la actividad. Se establece como INACTIVO si la actividad coincide con tiempo libre. |
| is_overtime | Booleano | Establézcalo en True si la actividad forma parte de las horas extra. Si no, póngalo en false. |
| is_deleted | Booleano | Establézcalo en False cuando las actividades del turno sean válidas. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se creó o actualizó el turno. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Cambios en el saldo de tiempo libre del personal
Nombre de la tabla: staff_timeoff_balance_changes
Clave primaria compuesta: {instance_id, agent_arn, shift_activity_arn,
timeoff_balance_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| account_id | cadena | El identificador de la AWS cuenta. |
| agent_arn | cadena | El ARN del agente. |
| shift_activity_arn | cadena | El ARN de la actividad de turno a la que está asignado este saldo. |
| timeoff_balance_version | bigint | La versión de saldo de tiempo libre, un número creciente para indicar el orden de los cambios. |
| balance_update_source | cadena | Origen de la actualización del saldo. Los valores posibles son TIME_OFF_BALANCE_UPLOAD, CONNECT_TIME_OFF_REQUEST, SCHEDULE_PUBLISH, CSV_TIME_OFF_BALANCE_DELETION, TIME_OFF_BALANCE_BACKFILL, SYSTEM_UPDATE |
| timeoff_id | cadena | El identificador del tiempo libre que provocó este cambio de saldo, si existe. |
| last_updated_by | cadena | El ARN del agente que provocó este cambio de saldo, si existe. |
| balance_change_in_hours | double | El saldo de tiempo libre se actualiza a través de este cambio de horas. Si este valor es positivo, este cambio acredita el saldo de tiempo libre. Si este valor es negativo, este cambio deduce el saldo de tiempo libre. Este valor no está definido para ningún evento de carga y eliminación de saldos. |
| remaining_balance_in_hours | double | Saldo restante de horas de tiempo libre tras este cambio. Este valor no está definido para ningún evento de eliminación de saldos. |
| last_created_timestamp | Timestamp | La marca de tiempo en que se creó el registro de cambios de saldo de tiempo libre. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Periodos de tiempo libre del personal
Nombre de la tabla: staff_timeoffs
Clave primaria compuesta: {instance_id, timeoff_id, agent_arn,
timeoff_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| timeoff_id | cadena | El ID del tiempo libre. |
| agent_arn | cadena | El ARN del agente. |
| timeoff_version | bigint | La versión de tiempo libre. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| timeoff_type | cadena | Tipo de tiempo libre. Los valores posibles son TIME_OFF y VOLUNTARY_TIME_OFF. |
| timeoff_start_timestamp | Timestamp | Marca de tiempo cuando comienza el tiempo libre. |
| timeoff_end_timestamp | Timestamp | Marca de tiempo cuando finaliza el tiempo libre. |
| timeoff_status | cadena | Estado del tiempo libre. Los valores posibles son PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECTED, CANCELLED, WAITING_ACCEPT y WAITING_APPROVE. Los estados WAITING indican que el tiempo libre está pendiente de acción por parte del usuario. Los estados PENDING indican que se está agotando el tiempo de espera para que el sistema procese una acción del usuario. |
| shift_activity_arn | cadena | El ARN de la actividad de turno utilizada para el tiempo libre. |
| effective_timeoff_hours | double | Horas totales de tiempo libre efectivas. Las horas de tiempo libre efectivas se calculan en función de la lógica de deducción del tiempo libre. Esto solo está configurado para el tipo TIME_OFF. |
| last_updated_timestamp | Timestamp | Marca de tiempo de cuando era el tiempo libre. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Intervalos de tiempo libre del personal
Nombre de la tabla: staff_timeoff_intervals
Clave primaria compuesta: {instance_id, timeoff_id, timeoff_version,
interval_id}
Esta tabla debe consultarse uniéndola a la tabla de staff_timeoffs en timeoff_id y timeoff_version.
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| timeoff_id | cadena | El ID del tiempo libre. |
| timeoff_version | bigint | La versión de tiempo libre. |
| interval_id | cadena | El ID del intervalo de tiempo libre. |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| timeoff_interval_start_timestamp | Timestamp | Marca de tiempo cuando comienza el intervalo específico de tiempo libre. |
| timeoff_interval_end_timestamp | Timestamp | Marca de tiempo cuando finaliza el intervalo específico de tiempo libre. |
| interval_effective_timeoff_hours | double | Horas de tiempo libre efectivas para este intervalo específico de tiempo libre. Las horas de tiempo libre efectivas se calculan en función de la lógica de deducción del tiempo libre. |
| last_updated_timestamp | Timestamp | Marca de tiempo de cuando fue el tiempo libre. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Grupo de demanda de personal
Nombre de la tabla: staff_demand_group
Clave primaria compuesta: {instance_id, agent_arn, demand_group_arn, staff_demand_group_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| agent_arn | cadena | El ARN del agente. |
| demand_group_arn | cadena | El ARN del grupo de demanda. |
| staff_demand_group_version | Largo | Versión para que este agente exija la asociación de grupos |
| priority | cadena | Prioridad del grupo de demanda para este agente. Puede ser BAJA, MEDIA o ALTA |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| is_override | Booleano | Establézcalo en «true» si se trata de una asociación de agente a grupo de demanda que se anula a nivel de agente. |
| is_deleted | Booleano | Se establece en verdadero si se elimina la asociación entre el agente y el grupo de demanda. |
| last_updated_timestamp | Timestamp | La marca temporal en la que se creó o actualizó la asociación entre el agente y el grupo de demanda. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Grupos de personal: grupo de demanda
Nombre de la tabla: staffing_group_demand_group
Clave primaria compuesta: {instance_id, staffing_group_arn, demand_group_arn,
staffing_group_demand_group_version}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| staffing_group_arn | cadena | El ARN del grupo de personal. |
| demand_group_arn | cadena | El ARN del grupo de demanda. |
| staffing_group_demand_group_version | Largo | Versión para esta asociación de grupo de personal a grupo de demanda |
| priority | cadena | Prioridad del grupo de demanda para este grupo de personal. Puede ser BAJA, MEDIA o ALTA |
| instance_arn | cadena | El ARN de la instancia de Amazon Connect. |
| is_deleted | Booleano | Establézcalo en True si se elimina la asociación entre el grupo de personal y el grupo de demanda. |
| last_updated_timestamp | Timestamp | Marca de tiempo en que se realizó la asociación entre el grupo de personal y el grupo de demanda. created/updated/deleted |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Asignación de actividades por turnos de personal
Nombre de la tabla: staff_shift_activity_allocations
Clave primaria compuesta: {instance_id, shift_id, shift_version, activity_id, demand_group_arn}
| Columna | Tipo | Description (Descripción) |
|---|---|---|
| instance_id | cadena | El ID de la instancia de Amazon Connect. |
| shift_id | cadena | El identificador del turno. |
| shift_version | Largo | La versión del turno. |
| activity_id | cadena | El ID de la actividad. |
| demand_group_arn | cadena | El ARN del grupo de demanda. |
| foecast_group_arn | cadena | El ARN del grupo de previsión. |
| porcentaje de asignación | double | Asignación porcentual de la actividad al grupo de demanda. |
| is_deleted | Booleano | Se establece en False cuando el StaffingGroup signo - ForecastGroupassociation es válido. |
| last_updated_timestamp | Timestamp | La marca de tiempo en que se creó o actualizó el grupo de personal. |
| data_lake_last_processed_timestamp | Timestamp | Marca de tiempo con la última vez que el registro fue modificado por el lago de datos. Esto puede incluir la transformación y la reposición. Este campo no se puede utilizar para determinar de forma fiable la actualización de los datos. |
Esquema de datos
A continuación, se muestra un diagrama de relaciones entre entidades que muestra la estructura y las relaciones entre las tablas de programación del lago de datos de análisis de Amazon Connect.
Cada tabla muestra sus claves y atributos principales con sus tipos de datos. El diagrama ilustra cómo estas tablas se relacionan entre sí a través de relaciones de clave externa, lo que proporciona una visión completa del modelo de datos de programación.
Consultas de ejemplo
1. Consulta para obtener todas las actividades de turno programadas de los agentes que trabajan en un grupo de previsión específico
SELECT * FROM agent_scheduled_shift_activities_view
where forecast_group_name = 'AnyDepartmentForecastGroup'
Complete los siguientes pasos para crear las agent_scheduled_shift_activities_view mencionadas anteriormente.
Paso 1: creación de una vista para obtener los nombres de los supervisores
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
Paso 2: creación de una vista para asociar el grupo de personal y el grupo de previsión 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
Paso 3: obtención de las últimas actividades del turno
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)
Paso 4: creación de una vista para que el agente programe las actividades del turno
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. Consulta para obtener todas las solicitudes de tiempo libre de los agentes de un grupo de previsión específico
SELECT * FROM agent_timeoff_report_view where forecast_group_name =
'AnyDepartmentForecastGroup'
Utilice la siguiente consulta para crear la agent_timeoff_report_view mencionada anteriormente.
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