翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Connect 分析データレイク内のデータのスケジューリング
このトピックでは、Amazon Connect 分析データレイクスケジューリングテーブルの内容について詳しく説明します。以下の表には、内容の列、タイプ、説明が一覧表示されています。
分析データレイクにアクセスし、共有するデータを設定するには、次の 2 つの方法があります。
オプション 1 を使用してスケジューリングテーブルにアクセスできない場合は、オプション 2 を試してください。
内容
スタッフスケジューリングプロファイル
テーブル名: staff_scheduling_profile
複合プライマリキー: {instance_id, agent_arn,
staff_scheduling_profile_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| agent_arn | string | エージェントの ARN。 |
| staff_scheduling_profile_version | bigint | スタッフスケジューリングプロファイルのバージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| staffing_group_arn | string | エージェントが割り当てられるスタッフグループの ARN。 |
| start_timestamp | Timestamp | [スタッフルール] で設定されたエージェントの StartTimestamp (スケジュールはこのタイムスタンプの後にのみ生成されます)。 |
| end_timestamp | Timestamp | [スタッフルール] で設定されたエージェントの EndTimestamp (スケジュールはこのタイムスタンプを超過して生成されません)。 |
| shift_profile_arn | string | エージェントが割り当てられるシフトプロファイルの ARN は、スタッフルールで設定されます。 |
| timezone | string | エージェント用に設定されたタイムゾーン。 |
| is_deleted | ブール値 | エージェントが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 |
| last_updated_timestamp | Timestamp | スタッフスケジューリングプロファイルが作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
シフトアクティビティ
テーブル名: shift_activities
複合プライマリキー: {instance_id, shift_activity_arn,
shift_activity_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| shift_activity_arn | string | シフトアクティビティの ARN。 |
| shift_activity_version | bigint | シフトアクティビティのバージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| shift_activity_name | string | シフトアクティビティの名前。 |
| 型 | string | シフトアクティビティのタイプ。指定できる値は、PRODUCTIVE、NON_PRODUCTIVE、LEAVE です。 |
| sub_type | string | シフトアクティビティのサブタイプ。これは NON_PRODUCTIVE タイプのアクティビティにのみ有効です。指定できる値は、BREAK_OR_MEAL と NONE です。 |
| is_adherence_tracked | ブール値 | シフトアクティビティが準拠追跡用に設定されている場合は、True に設定されます。それ以外の場合は False に設定されます。 |
| is_paid | ブール値 | シフトアクティビティが有料として設定されている場合は、True に設定されます。それ以外の場合は False に設定されます。 |
| is_deleted | ブール値 | シフトアクティビティが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 |
| last_updated_timestamp | Timestamp | シフトアクティビティが作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
シフトプロファイル
テーブル名: shift_profiles
複合プライマリキー: {instance_id, shift_profile_arn,
shift_profile_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| shift_profile_arn | string | シフトプロファイルの ARN。 |
| shift_profile_version | bigint | シフトプロファイルのバージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| shift_profile_name | string | シフトプロファイルの名前。 |
| is_deleted | ブール値 | シフトプロファイルが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 |
| last_updated_timestamp | Timestamp | シフトプロファイルが作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフグループ
テーブル名: staffing_groups
複合プライマリキー: {instance_id, staffing_group_arn,
staffing_group_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| staffing_group_arn | string | スタッフグループの ARN。 |
| staffing_group_version | bigint | スタッフグループバージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| staffing_group_name | string | スタッフグループの名前。 |
| is_deleted | ブール値 | スタッフグループが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 |
| last_updated_timestamp | Timestamp | スタッフグループが作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフィンググループ - 予測グループ
テーブル名: staffing_group_forecast_groups
複合プライマリキー: {instance_id, staffing_group_arn,
staffing_group_version, forecast_group_arn}
このテーブルは、staffing_group_arn と staffing_group_version に基づいて、staffing_groups テーブルと結合してクエリする必要があります。
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| staffing_group_arn | string | スタッフグループの ARN。 |
| staffing_group_version | bigint | スタッフグループバージョン。 |
| forecast_group_arn | string | スタッフグループに関連付けられた 予測グループの ARN。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| is_deleted | ブール値 | StaffingGroup-ForecastGroup の関連付けが有効な場合は、False に設定します。 |
| last_updated_timestamp | Timestamp | スタッフグループが作成/更新されたタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフグループ - スーパーバイザー
テーブル名: staffing_group_supervisors
複合プライマリキー: {instance_id, staffing_group_arn,
staffing_group_version, supervisor_arn}
このテーブルは、staffing_group_arn と staffing_group_version に基づいて、staffing_groups テーブルと結合してクエリする必要があります。
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| staffing_group_arn | string | スタッフグループの ARN。 |
| staffing_group_version | bigint | スタッフグループバージョン。 |
| supervisor_arn | string | スタッフグループに関連付けられたスーパーバイザーのエージェント ARN。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| is_deleted | ブール値 | StaffingGroup-ForecastGroup の関連付けが有効な場合は、False に設定します。 |
| last_updated_timestamp | Timestamp | スタッフグループが作成/更新されたタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフシフト
テーブル名: staff_shifts
複合プライマリキー: {instance_id, shift_id, shift_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| shift_id | string | シフトの ID |
| shift_version | bigint | シフトバージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| agent_arn | string | エージェントの ARN。 |
| shift_start_timestamp | Timestamp | シフト開始時のタイムスタンプ。 |
| shift_end_timestamp | Timestamp | シフト終了時のタイムスタンプ。 |
| created_timestamp | Timestamp | シフトが作成された時刻のタイムスタンプ。 |
| is_deleted | ブール値 | シフトが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 |
| last_updated_timestamp | Timestamp | シフトが作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフシフトアクティビティ
テーブル名: staff_shift_activities
複合プライマリキー: {instance_id, shift_id, shift_version,
activity_id}
このテーブルは、shift_id と shift_version に基づいて、staff_shifts テーブルと結合してクエリする必要があります。
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| shift_id | string | シフトの ID |
| shift_version | bigint | シフトバージョン。 |
| activity_id | string | アクティビティの ID。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| activity_start_timestamp | Timestamp | アクティビティが開始された時刻のタイムスタンプ。 |
| activity_end_timestamp | Timestamp | アクティビティが終了したときのタイムスタンプ。 |
| shift_activity_arn | string | シフトアクティビティの ARN。shift_activity_arn が null の場合、「Work」アクティビティを示します。 |
| activity_status | string | アクティビティのステータス。アクティビティが休暇と重複する場合、これは INACTIVE に設定されます。 |
| is_overtime | ブール値 | アクティビティが残業の一部である場合は、True に設定します。それ以外の場合は False に設定されます。 |
| is_deleted | ブール値 | シフトアクティビティが有効な場合は、False に設定します。 |
| last_updated_timestamp | Timestamp | シフトが作成/更新された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフの休暇残高の変更
テーブル名: staff_timeoff_balance_changes
複合プライマリキー: {instance_id, agent_arn, shift_activity_arn,
timeoff_balance_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| instance_id | string | Amazon Connect インスタンスの ID。 |
| account_id | string | AWS アカウントの ID。 |
| agent_arn | string | エージェントの ARN。 |
| shift_activity_arn | string | この残高が割り当てられているシフトアクティビティの ARN。 |
| timeoff_balance_version | bigint | 休暇残高バージョン。変更の順序を示す増分番号。 |
| balance_update_source | string | 残高更新のソース。指定できる値は、TIME_OFF_BALANCE_UPLOAD、CONNECT_TIME_OFF_REQUEST、SCHEDULE_PUBLISH、CSV_TIME_OFF_BALANCE_DELETION、TIME_OFF_BALANCE_BACKFILL、SYSTEM_UPDATE です。 |
| timeoff_id | string | この残高の変更の原因となった休暇の ID (存在する場合)。 |
| last_updated_by | string | この残高の変更の原因となったエージェントの ARN (存在する場合)。 |
| balance_change_in_hours | double | この変更によって更新された休暇残高の時間。この値が正の場合、この変更は休暇残高をクレジットします。この値が負の場合、この変更により休暇残高が差し引かれます。この値は、残高のアップロードイベントと削除イベントでは未定義です。 |
| remaining_balance_in_hours | double | この変更イベント後の残りの休暇残高時間。この値は、残高削除イベントに対して未定義です。 |
| last_created_timestamp | Timestamp | 休暇残高変更レコードが作成されたタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフの休暇
テーブル名: staff_timeoffs
複合プライマリキー: {instance_id, timeoff_id, agent_arn,
timeoff_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| timeoff_id | string | 休暇の ID。 |
| agent_arn | string | エージェントの ARN。 |
| timeoff_version | bigint | 休暇バージョン。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| timeoff_type | string | 休暇のタイプ。指定できる値は、TIME_OFF と VOLUNTARY_TIME_OFF です。 |
| timeoff_start_timestamp | Timestamp | 休暇の開始時刻のタイムスタンプ。 |
| timeoff_end_timestamp | Timestamp | 休暇終了時刻のタイムスタンプ。 |
| timeoff_status | string | 休暇のステータス。指定できる値は、PENDING_CREATE、PENDING_UPDATE、PENDING_CANCEL、PENDING_ACCEPT、PENDING_APPROVE、PENDING_DECLINE、APPROVED、ACCEPTED、REJECTED、CANCELLED、WAITING_ACCEPT、WAITING_APPROVE です。WAITING ステータスは、休暇がユーザーアクションを待機していることを示します。PENDING ステータスは、休暇がユーザーアクションのシステム処理を待機していることを示します。 |
| shift_activity_arn | string | 休暇に使用されるシフトアクティビティの ARN。 |
| effective_timeoff_hours | double | 有効な休暇時間の合計。有効な休暇時間は、休暇控除ロジックに基づいて計算されます。これは TIME_OFF タイプに対してのみ設定されます。 |
| last_updated_timestamp | Timestamp | 休暇が作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフの休暇間隔
テーブル名: staff_timeoff_intervals
複合プライマリキー:{instance_id, timeoff_id, timeoff_version,
interval_id}
このテーブルは、timeoff_id と timeoff_version に基づいて、staff_timeoffs テーブルと結合してクエリする必要があります。
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| timeoff_id | string | 休暇の ID。 |
| timeoff_version | bigint | 休暇バージョン。 |
| interval_id | string | 休暇間隔の ID。 |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| timeoff_interval_start_timestamp | Timestamp | 特定の休暇間隔が開始されるタイムスタンプ。 |
| timeoff_interval_end_timestamp | Timestamp | 特定の休暇間隔が終了するタイムスタンプ。 |
| interval_effective_timeoff_hours | double | この特定の休暇間隔の有効な休暇時間。有効な休暇時間は、休暇控除ロジックに基づいて計算されます。 |
| last_updated_timestamp | Timestamp | 休暇が作成/更新/削除された時刻のタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフ需要グループ
テーブル名: staff_demand_group
複合プライマリキー: {instance_id, agent_arn, demand_group_arn, staff_demand_group_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| agent_arn | string | エージェントの ARN。 |
| demand_group_arn | string | 需要グループの ARN。 |
| staff_demand_group_version | Long | このエージェントがグループの関連付けを要求するバージョン |
| priority | string | このエージェントの需要グループの優先度。LOW、MEDIUM、HIGH のいずれか |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| is_override | ブール値 | これが Agent to Demand Group の関連付けが Agent レベルのオーバーライドである場合は、「true」に設定します。 |
| is_deleted | ブール値 | エージェントのリクエストグループの関連付けが削除された場合は、true に設定します。 |
| last_updated_timestamp | Timestamp | グループの関連付けを要求するエージェントが作成/更新されたタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフグループの需要グループ
テーブル名: staffing_group_demand_group
複合プライマリキー: {instance_id, staffing_group_arn, demand_group_arn,
staffing_group_demand_group_version}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| staffing_group_arn | string | スタッフグループの ARN。 |
| demand_group_arn | string | 需要グループの ARN。 |
| staffing_group_demand_group_version | Long | このスタッフグループと需要グループの関連付けのバージョン |
| priority | string | このスタッフグループの需要グループの優先度。LOW、MEDIUM、HIGH のいずれか |
| instance_arn | string | Amazon Connect インスタンスの ARN。 |
| is_deleted | ブール値 | グループの関連付けを要求するスタッフグループが削除された場合は、true に設定します。 |
| last_updated_timestamp | Timestamp | グループの関連付けを要求するスタッフグループがcreated/updated/deletedタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
スタッフシフトアクティビティの割り当て
テーブル名: staff_shift_activity_allocations
複合プライマリキー: {instance_id, shift_id, shift_version, activity_id, demand_group_arn}
| 列 | 型 | 説明 |
|---|---|---|
| instance_id | string | Amazon Connect インスタンスの ID。 |
| shift_id | string | シフトの ID。 |
| shift_version | Long | シフトバージョン。 |
| activity_id | string | アクティビティの ID。 |
| demand_group_arn | string | 需要グループの ARN。 |
| foecast_group_arn | string | 予測グループの ARN。 |
| allocation_percentage | double | 需要グループへのアクティビティの割り当て率。 |
| is_deleted | ブール値 | StaffingGroup-ForecastGroupassociation が有効な場合は、False に設定します。 |
| last_updated_timestamp | Timestamp | スタッフグループが作成/更新されたタイムスタンプ。 |
| data_lake_last_processed_timestamp | Timestamp | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 |
データスキーマ
以下は、Amazon Connect 分析データレイク内のスケジューリングテーブル間の構造と関係を示すエンティティ関係図です。
各テーブルには、プライマリキーと属性がデータ型とともに表示されます。この図は、外部キー関係を通じてこれらのテーブルがどのように相互に関連しているかを示し、スケジューリングデータモデルの包括的なビューを提供します。
サンプルクエリ
1. 特定の予測グループで作業しているエージェントの、スケジュールされたシフトアクティビティをすべて取得するクエリ
SELECT * FROM agent_scheduled_shift_activities_view
where forecast_group_name = 'AnyDepartmentForecastGroup'
上記の手順を実行して agent_scheduled_shift_activities_view を作成します。
ステップ 1: ビューを作成してスーパーバイザー名を取得する
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
ステップ 2: エージェントに関連付けられたスタッフグループと予測グループを取得するビューを作成する
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
ステップ 3: 最新のシフトアクティビティを取得する
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)
ステップ 4: エージェントのスケジュールされたシフトアクティビティを取得するビューを作成する
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. 特定の予測グループ内のエージェントのすべての休暇申請を取得するクエリ
SELECT * FROM agent_timeoff_report_view where forecast_group_name =
'AnyDepartmentForecastGroup'
上記の agent_timeoff_report_view を作成するには、次のクエリを使用します。
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