Penjadwalan data di danau data analitik Amazon Connect - Amazon Connect

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Penjadwalan data di danau data analitik Amazon Connect

Topik ini merinci konten dalam tabel penjadwalan data lake analitik Amazon Connect. Tabel mencantumkan kolom, jenis, dan deskripsi konten.

Ada dua cara untuk mengakses data lake analitik dan mengonfigurasi data yang akan dibagikan:

Jika Anda tidak dapat mengakses tabel penjadwalan dengan menggunakan Opsi 1, coba gunakan Opsi 2.

Profil penjadwalan staf

Nama Tabel: staff_scheduling_profile

Kunci Utama Komposit: {instance_id, agent_arn, staff_scheduling_profile_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
agen_arn string ARN dari Agen.
staff_scheduling_profile_version bigint Versi Profil Penjadwalan Staf.
instance_arn string ARN dari instans Amazon Connect.
staffing_group_arn string ARN dari Grup Kepegawaian tempat Agen ditugaskan.
start_timestamp Stempel Waktu StartTimestamp untuk Agen yang dikonfigurasi dalam Aturan Staf (jadwal dibuat hanya setelah Stempel Waktu ini).
end_timestamp Stempel Waktu EndTimestamp untuk Agen yang dikonfigurasi dalam Aturan Staf (jadwal tidak dibuat di luar Stempel Waktu ini).
shift_profile_arn string ARN dari Profil Shift tempat Agen Ditugaskan dikonfigurasi dalam Aturan Staf.
timezone string Zona waktu dikonfigurasi untuk Agen.
is_dihapus Boolean Setel ke Benar jika Agen dihapus. Lain diatur ke False.
last_updated_timestamp Stempel Waktu Stempel waktu saat Profil Penjadwalan Staf berada. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Aktivitas shift

Nama Tabel: shift_activities

Kunci Utama Komposit: {instance_id, shift_activity_arn, shift_activity_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
shift_activity_arn string ARN dari Kegiatan Shift.
shift_activity_version bigint Versi Aktivitas Shift.
instance_arn string ARN dari instans Amazon Connect.
shift_activity_name string Nama Aktivitas Shift.
jenis string Jenis Aktivitas Shift. Nilai yang mungkin adalah: PRODUCTIVE, NON_PRODUCTIVE, dan LEAVE.
sub_tipe string Sub-tipe dari Aktivitas Shift. Ini hanya berlaku untuk aktivitas tipe NON_PRODUCTIVE. Nilai yang mungkin adalah: BREAK_OR_MEAL dan NONE.
is_adherence_dilacak Boolean Setel ke True jika Aktivitas Shift dikonfigurasi untuk melacak Kepatuhan. Lain diatur ke False.
is_paid Boolean Setel ke True jika Aktivitas Shift dikonfigurasi sebagai Dibayar. Lain diatur ke False.
is_dihapus Boolean Setel ke True jika Aktivitas Shift dihapus. Lain diatur ke False.
last_updated_timestamp Stempel Waktu Timestamp saat Aktivitas Shift adalah. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Shift profil

Nama Tabel: shift_profiles

Kunci Utama Komposit: {instance_id, shift_profile_arn, shift_profile_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
shift_profile_arn string ARN dari Profil Shift.
shift_profile_version bigint Versi Profil Shift.
instance_arn string ARN dari instans Amazon Connect.
shift_profile_name string Nama Profil Shift.
is_dihapus Boolean Setel ke True jika Shift Profile dihapus. Lain diatur ke False.
last_updated_timestamp Stempel Waktu Timestamp saat Profil Shift berada. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Kelompok kepegawaian

Nama Tabel: staffing_groups

Kunci Utama Komposit: {instance_id, staffing_group_arn, staffing_group_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
staffing_group_arn string ARN dari Grup Kepegawaian.
staffing_group_version bigint Versi Grup Kepegawaian.
instance_arn string ARN dari instans Amazon Connect.
staffing_group_name string Nama Grup Kepegawaian.
is_dihapus Boolean Setel ke True jika Grup Staffing dihapus. Lain diatur ke False.
last_updated_timestamp Stempel Waktu Timestamp ketika Grup Kepegawaian berada. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Kelompok kepegawaian - Forecast groups

Nama Tabel: staffing_group_forecast_groups

Kunci Utama Komposit: {instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}

Tabel ini harus ditanyakan dengan bergabung dengan staffing_groups tabel di staffing_group_arn danstaffing_group_version.

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
staffing_group_arn string ARN dari Grup Kepegawaian.
staffing_group_version bigint Versi Grup Kepegawaian.
forecast_group_arn string ARN dari Forecast Group yang terkait dengan Staffing Group.
instance_arn string ARN dari instans Amazon Connect.
is_dihapus Boolean Setel ke False saat ForecastGroup asosiasi StaffingGroup - valid.
last_updated_timestamp Stempel Waktu Timestamp saat Staffing Group dibuat/diperbarui.
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Kelompok kepegawaian - Supervisor

Nama Tabel: staffing_group_supervisors

Kunci Utama Komposit: {instance_id, staffing_group_arn, staffing_group_version, supervisor_arn}

Tabel ini harus ditanyakan dengan bergabung dengan staffing_groups tabel di staffing_group_arn danstaffing_group_version.

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
staffing_group_arn string ARN dari Grup Kepegawaian.
staffing_group_version bigint Versi Grup Kepegawaian.
supervisor_arn string Agen ARN dari Supervisor yang terkait dengan Staffing Group.
instance_arn string ARN dari instans Amazon Connect.
is_dihapus Boolean Setel ke False saat ForecastGroup asosiasi StaffingGroup - valid.
last_updated_timestamp Stempel Waktu Timestamp saat Staffing Group dibuat/diperbarui.
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Pergeseran staf

Nama Tabel: staff_shifts

Kunci Utama Komposit: {instance_id, shift_id, shift_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
shift_id string ID dari Shift.
shift_version bigint Versi Shift.
instance_arn string ARN dari instans Amazon Connect.
agen_arn string ARN dari Agen.
shift_start_timestamp Stempel Waktu Timestamp saat Shift Dimulai.
shift_end_timestamp Stempel Waktu Timestamp saat Shift Berakhir.
created_timestamp Stempel Waktu Timestamp saat Shift Dibuat.
is_dihapus Boolean Setel ke True jika Shift dihapus. Lain diatur ke False.
last_updated_timestamp Stempel Waktu Timestamp saat Shift itu. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Kegiatan shift staf

Nama Tabel: staff_shift_activities

Kunci Utama Komposit: {instance_id, shift_id, shift_version, activity_id}

Tabel ini harus ditanyakan dengan bergabung dengan staff_shifts tabel di shift_id danshift_version.

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
shift_id string ID dari Shift.
shift_version bigint Versi Shift.
activity_id string ID Aktivitas.
instance_arn string ARN dari instans Amazon Connect.
activity_start_timestamp Stempel Waktu Timestamp saat aktivitas dimulai.
activity_end_timestamp Stempel Waktu Stempel waktu saat aktivitas berakhir.
shift_activity_arn string ARN dari Kegiatan Shift. Jika shift_activity_arn adalah null, maka itu menunjukkan aktivitas 'Kerja'.
aktivitas_status string Status Kegiatan. Ini disetel ke INACTIVE jika aktivitas tumpang tindih dengan waktu istirahat.
adalah_lembur Boolean Setel ke True jika Aktivitas adalah bagian dari Overtime. Lain diatur ke False.
is_dihapus Boolean Setel ke False ketika Aktivitas Shift valid.
last_updated_timestamp Stempel Waktu Timestamp saat Shift dibuat/diperbarui.
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Timeoff staf

Nama Tabel: staff_timeoffs

Kunci Utama Komposit: {instance_id, timeoff_id, agent_arn, timeoff_version}

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
timeoff_id string ID dari Time Off.
agen_arn string ARN dari Agen.
timeoff_version bigint Versi Time Off.
instance_arn string ARN dari instans Amazon Connect.
timeoff_type string Jenis Time Off. Nilai yang mungkin adalah: TIME_OFF dan VOLUNTARY_TIME_OFF.
timeoff_start_timestamp Stempel Waktu Timestamp saat Time Off dimulai.
timeoff_end_timestamp Stempel Waktu Stempel waktu saat Time Off berakhir.
timeoff_status string Status Time Off. Nilai yang mungkin adalah: PENDING_CREATE, PENDING_UPDATE, PENDING_CANCEL, PENDING_ACCEPT, PENDING_APPROVE, PENDING_DECLINE, APPROVED, ACCEPTED, REJECLED, CANCELLED, WAITING_ACCEPT, dan WAITING_APPROVE. Status WAITING menunjukkan timeoff sedang menunggu tindakan Pengguna. Status PENDING menunjukkan timeoff sedang menunggu pemrosesan sistem dari tindakan pengguna.
shift_activity_arn string ARN dari Aktivitas Shift yang digunakan untuk Timeoff.
effective_timeoff_hours double Total jam Waktu Off yang efektif. Jam timeoff efektif dihitung berdasarkan logika deduksi timeoff. Ini hanya diatur untuk tipe TIME_OFF.
last_updated_timestamp Stempel Waktu Timestamp saat Time Off. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Interval waktu istirahat staf

Nama Tabel: staff_timeoff_intervals

Kunci Utama Komposit: {instance_id, timeoff_id, timeoff_version, interval_id}

Tabel ini harus ditanyakan dengan bergabung dengan staff_timeoffs tabel di timeoff_id dantimeoff_version.

Kolom Jenis Deskripsi
instance_id string ID instans Amazon Connect.
timeoff_id string ID dari Time Off.
timeoff_version bigint Versi Time Off.
interval_id string ID Interval Time Off.
instance_arn string ARN dari instans Amazon Connect.
timeoff_interval_start_timestamp Stempel Waktu Stempel waktu saat interval spesifik Time Off dimulai.
timeoff_interval_end_timestamp Stempel Waktu Stempel waktu ketika interval spesifik Time Off berakhir.
interval_effective_timeoff_hours double Jam Waktu Off yang Efektif untuk interval Waktu Off khusus ini. Jam timeoff efektif dihitung berdasarkan logika deduksi timeoff.
last_updated_timestamp Stempel Waktu Timestamp saat Time Off. created/updated/deleted
data_lake_last_processed_timestamp Stempel Waktu Timestamp, yang menunjukkan terakhir kali rekor disentuh oleh data lake. Ini dapat mencakup transformasi dan pengurukan. Bidang ini tidak dapat digunakan untuk menentukan kesegaran data yang andal.

Skema data

Berikut ini adalah diagram hubungan entitas yang menunjukkan struktur dan hubungan antara tabel penjadwalan di danau data analitik Amazon Connect. Diagram menggambarkan skema database dengan 10 tabel yang saling berhubungan:staff_shift_ activities,,,staff_shifts,staff_timeoffs,staff_timeoff_intervals,users,routing_profiles,shift_activities, staffing_groups shift_profiles staffing_group_supervisorsstaffing_group_forecast_groups, dan f. orecast_groups

Setiap tabel menampilkan kunci utama dan atribut dengan tipe data mereka. Diagram menggambarkan bagaimana tabel ini berhubungan satu sama lain melalui hubungan kunci asing, memberikan pandangan komprehensif dari model data penjadwalan.

Diagram hubungan entitas yang menunjukkan struktur dan hubungan antara tabel penjadwalan di danau data analitik Amazon Connect.

Kueri Sampel

1. Kueri untuk membuat semua Aktivitas Shift Terjadwal Agen bekerja pada Grup Forecast tertentu

SELECT * FROM agent_scheduled_shift_activities_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Selesaikan langkah-langkah berikut untuk membuat agent_scheduled_shift_activities_view yang disebutkan di atas.

Langkah 1: Buat tampilan untuk mendapatkan nama supervisor

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

Langkah 2: Buat tampilan untuk mendapatkan grup kepegawaian dan grup perkiraan yang terkait dengan agen

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

Langkah 3: Dapatkan aktivitas Shift terbaru

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)

Langkah 4: Buat tampilan untuk mendapatkan aktivitas shift terjadwal agen

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. Kueri untuk mendapatkan semua permintaan waktu istirahat dari Agen dalam Grup Forecast tertentu

SELECT * FROM agent_timeoff_report_view where forecast_group_name = 'AnyDepartmentForecastGroup'

Gunakan kueri berikut untuk membuat agent_timeoff_report_view yang disebutkan di atas.

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