Planification des données dans le lac de données d'analyse Amazon Connect - Amazon Connect

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Planification des données dans le lac de données d'analyse Amazon Connect

Cette rubrique détaille le contenu des tables de planification des lacs de données analytiques Amazon Connect. Les tableaux répertorient la colonne, le type et la description du contenu.

Il existe deux manières d'accéder au lac de données analytiques et de configurer les données à partager :

Si vous ne parvenez pas à accéder aux tables de planification à l'aide de l'option 1, essayez d'utiliser l'option 2.

Profil de planification du personnel

Nom de la table : staff_scheduling_profile

Clé primaire composite : {instance_id, agent_arn, staff_scheduling_profile_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
agent_arn chaîne L'ARN de l'agent.
version du profil_de_calendrier du personnel bigint La version du profil de planification du personnel.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
staffing_group_arn chaîne L'ARN du groupe de dotation auquel l'agent est affecté.
start_timestamp Horodatage StartTimestamp pour l'agent configuré dans le règlement du personnel (les plannings ne sont générés qu'après cet horodatage).
end_timestamp Horodatage EndTimestamp pour l'agent configuré dans le règlement du personnel (les plannings ne sont pas générés au-delà de cet horodatage).
shift_profil_arn chaîne L'ARN du profil de travail auquel l'agent est affecté est configuré dans le règlement du personnel.
timezone chaîne Fuseau horaire configuré pour l'agent.
est supprimé Booléen Définissez ce paramètre sur True si l'agent est supprimé. Sinon, définissez sur False.
last_updated_timestamp Horodatage Horodatage du profil de planification du personnel. created/updated/deleted
data_lake_last_processed_timestamp Horodatage Horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Activités de quart de travail

Nom de la table : shift_activities

Clé primaire composite : {instance_id, shift_activity_arn, shift_activity_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
shift_activity_arn chaîne L'ARN de l'activité Shift.
shift_activity_version bigint La version Shift Activity.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
shift_activity_name chaîne Nom de l'activité Shift.
type chaîne Type d'activité de quart de travail. Les valeurs possibles sont les suivantes : PRODUCTIVE, NON_PRODUCTIVE et LEAVE.
sous-type chaîne Sous-type de l'activité Shift. Ceci n'est valable que pour les activités de type NON_PRODUCTIVE. Les valeurs possibles sont : BREAK_OR_MEAL et NONE.
est suivie par un suivi de l'adhérence Booléen Définissez ce paramètre sur True si l'activité Shift est configurée pour le suivi de l'adhérence. Sinon, définissez sur False.
est payé Booléen Définissez ce paramètre sur True si l'activité Shift est configurée comme payante. Sinon, définissez sur False.
est supprimé Booléen Réglez sur True si l'activité Shift est supprimée. Sinon, définissez sur False.
last_updated_timestamp Horodatage Horodatage de l'activité Shift. created/updated/deleted
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Profils de quart de travail

Nom de la table : shift_profiles

Clé primaire composite : {instance_id, shift_profile_arn, shift_profile_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
shift_profil_arn chaîne L'ARN du profil Shift.
shift_profil_version bigint La version Shift Profile.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
shift_profile_name chaîne Nom du profil Shift.
est supprimé Booléen Définissez ce paramètre sur True si le profil Shift est supprimé. Sinon, définissez sur False.
last_updated_timestamp Horodatage Horodatage du Shift Profile. created/updated/deleted
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Groupes de dotation en personnel

Nom de la table : staffing_groups

Clé primaire composite : {instance_id, staffing_group_arn, staffing_group_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
staffing_group_arn chaîne L'ARN du groupe de dotation.
version du groupe de personnel bigint La version du groupe de dotation.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
nom_groupe_personnel chaîne Le nom du groupe de dotation.
est supprimé Booléen Définissez ce paramètre sur True si le groupe de dotation est supprimé. Sinon, définissez sur False.
last_updated_timestamp Horodatage Horodatage où se trouvait le groupe de dotation. created/updated/deleted
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Groupes de dotation - Groupes de prévisions

Nom de la table : staffing_group_forecast_groups

Clé primaire composite : {instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}

Cette table doit être interrogée en joignant la staffing_groups table sur staffing_group_arn et. staffing_group_version

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
staffing_group_arn chaîne L'ARN du groupe de dotation.
version du groupe de personnel bigint La version du groupe de dotation.
forecast_group_arn chaîne L'ARN du groupe de prévisions associé au groupe de dotation.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
est supprimé Booléen Défini sur False lorsque l'ForecastGroupassociation StaffingGroup - est valide.
last_updated_timestamp Horodatage Horodatage auquel le groupe de dotation a été créé/mis à jour.
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Groupes de dotation - Superviseurs

Nom de la table : staffing_group_supervisors

Clé primaire composite : {instance_id, staffing_group_arn, staffing_group_version, supervisor_arn}

Cette table doit être interrogée en joignant la staffing_groups table sur staffing_group_arn et. staffing_group_version

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
staffing_group_arn chaîne L'ARN du groupe de dotation.
version du groupe de personnel bigint La version du groupe de dotation.
superviseur_arn chaîne L'ARN de l'agent du superviseur associé au groupe de dotation.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
est supprimé Booléen Défini sur False lorsque l'ForecastGroupassociation StaffingGroup - est valide.
last_updated_timestamp Horodatage Horodatage auquel le groupe de dotation a été créé/mis à jour.
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Changements de personnel

Nom de la table : staff_shifts

Clé primaire composite : {instance_id, shift_id, shift_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
shift_id chaîne L'identifiant du Shift.
shift_version bigint La version Shift.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
agent_arn chaîne L'ARN de l'agent.
shift_start_timestamp Horodatage Horodatage du début du quart de travail.
shift_end_timestamp Horodatage Horodatage de la fin du quart de travail.
horodatage créé Horodatage Horodatage de la création du shift.
est supprimé Booléen Réglez sur True si le Shift est supprimé. Sinon, définissez sur False.
last_updated_timestamp Horodatage L'horodatage du Shift. created/updated/deleted
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Activités liées aux équipes de travail

Nom de la table : staff_shift_activities

Clé primaire composite : {instance_id, shift_id, shift_version, activity_id}

Cette table doit être interrogée en joignant la staff_shifts table sur shift_id et. shift_version

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
shift_id chaîne L'identifiant du Shift.
shift_version bigint La version Shift.
identifiant_activité chaîne L'ID de l'activité.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
horodatage de démarrage de l'activité Horodatage Horodatage du début de l'activité.
horodatage de fin d'activité Horodatage Horodatage de la fin de l'activité.
shift_activity_arn chaîne L'ARN de l'activité Shift. Si le shift_activity_arn est nul, cela indique une activité « Work ».
état_de l'activité chaîne État de l'activité. Ce paramètre est défini sur INACTIF si l'activité se chevauche avec un délai d'arrêt.
is_overtime Booléen Définissez ce paramètre sur True si l'activité fait partie des heures supplémentaires. Sinon, définissez sur False.
est supprimé Booléen Défini sur False lorsque les activités Shift sont valides.
last_updated_timestamp Horodatage L'horodatage auquel le Shift a été créé/mis à jour.
data_lake_last_processed_timestamp Horodatage L'horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Congés du personnel

Nom de la table : staff_timeoffs

Clé primaire composite : {instance_id, timeoff_id, agent_arn, timeoff_version}

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
timeoff_id chaîne L'identifiant du congé.
agent_arn chaîne L'ARN de l'agent.
timeoff_version bigint La version Time Off.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
timeoff_type chaîne Type de congé. Les valeurs possibles sont : TIME_OFF et VOLUNTARY_TIME_OFF.
timeoff_start_timestamp Horodatage Horodatage du début du congé.
timeoff_end_timestamp Horodatage Horodatage de la fin du congé.
timeoff_status chaîne État du congé. Les valeurs possibles sont les suivantes : PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECTED, CANCELLED, WAITING_ACCEPT et WAITING_APPROVE. Le statut WAITING indique que le délai d'attente est en attente d'une action de l'utilisateur. Les statuts EN ATTENTE indiquent que le délai d'attente est dû au traitement par le système d'une action de l'utilisateur.
shift_activity_arn chaîne L'ARN de l'activité Shift utilisée pour le Timeoff.
heures_off_effectives double Nombre total d'heures de repos effectives. Les heures de congé effectives sont calculées en fonction de la logique de déduction des congés. Ceci n'est défini que pour le type TIME_OFF.
last_updated_timestamp Horodatage Horodatage de la période de congé. created/updated/deleted
data_lake_last_processed_timestamp Horodatage Horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Intervalles de congé du personnel

Nom de la table : staff_timeoff_intervals

Clé primaire composite : {instance_id, timeoff_id, timeoff_version, interval_id}

Cette table doit être interrogée en joignant la staff_timeoffs table sur timeoff_id et. timeoff_version

Colonne Type Description
instance_id chaîne L'ID de l'instance Amazon Connect.
timeoff_id chaîne L'identifiant du congé.
timeoff_version bigint La version Time Off.
identifiant_intervalle chaîne ID de l'intervalle de temps libre.
instance_arn chaîne L'ARN de l'instance Amazon Connect.
timeoff_interval _start_timestamp Horodatage Horodatage du début de l'intervalle spécifique de congé.
timeoff_interval_end_timestamp Horodatage Horodatage de la fin de l'intervalle spécifique de congé.
interval_effective_timeoff_hours double Heures de congé effectives pour cet intervalle de temps libre spécifique. Les heures de congé effectives sont calculées en fonction de la logique de déduction des congés.
last_updated_timestamp Horodatage Horodatage de la période de congé. created/updated/deleted
data_lake_last_processed_timestamp Horodatage Horodatage, qui indique la dernière fois que l'enregistrement a été touché par le lac de données. Cela peut inclure la transformation et le remblayage. Ce champ ne peut pas être utilisé pour déterminer de manière fiable l'actualité des données.

Schéma de données

Vous trouverez ci-dessous un diagramme de relations entre les entités qui montre la structure et les relations entre les tables de planification dans le lac de données d'analyse Amazon Connect. Le diagramme illustre le schéma de base de données avec 10 tables interconnectées : staff_shift_ activities staff_shifts staff_timeoffsstaff_timeoff_intervals,users,routing_profiles,shift_activities,staffing_groups,,shift_profiles, staffing_group_supervisors,staffing_group_forecast_groups,, et orecast_groups f.

Chaque table affiche ses clés et attributs primaires ainsi que leurs types de données. Le diagramme illustre la façon dont ces tables sont liées les unes aux autres par le biais de relations de clés étrangères, fournissant ainsi une vue complète du modèle de données de planification.

Schéma des relations entre les entités qui montre la structure et les relations entre les tables de planification dans le lac de données d'analyse Amazon Connect.

Exemples de requêtes

1. Requête pour obtenir toutes les activités de travail planifiées des agents travaillant sur un groupe de prévisions spécifique

SELECT * FROM agent_scheduled_shift_activities_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Effectuez les étapes suivantes pour créer les agent_scheduled_shift_activities_view objets mentionnés ci-dessus.

Étape 1 : Création d'une vue pour obtenir les noms des superviseurs

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

Étape 2 : Création d'une vue pour associer le groupe d'effectifs et le groupe de prévisions à un agent

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

Étape 3 : découvrez les dernières activités de 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)

Étape 4 : Création d'une vue pour obtenir les activités de travail planifiées de l'agent

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. Requête pour obtenir toutes les demandes de congés des agents d'un groupe de prévisions spécifique

SELECT * FROM agent_timeoff_report_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Utilisez la requête suivante pour créer la requête agent_timeoff_report_view mentionnée ci-dessus.

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