

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Connect 分析データレイク内のデータのスケジューリング
<a name="data-lake-scheduling"></a>

このトピックでは、Amazon Connect データレイクスケジューリングテーブルの内容について詳しく説明します。以下の表には、内容の列、タイプ、説明が一覧表示されています。

分析データレイクにアクセスし、共有するデータを設定するには、次の 2 つの方法があります。
+ [オプション 1: Amazon Connect コンソールを使用する。](access-datalake.md#option1-configure-data-to-be-shared)
+ [オプション 2: CLI または CloudShell を使用する](access-datalake.md#option2-configure-data-to-be-shared)

オプション 1 を使用してスケジューリングテーブルにアクセスできない場合は、オプション 2 を試してください。

**Topics**
+ [スタッフスケジューリングプロファイル](#data-lake-staff-scheduling-profile)
+ [シフトアクティビティ](#data-lake-shift-activities)
+ [シフトプロファイル](#data-lake-shift-profiles)
+ [スタッフグループ](#data-lake-staffing-groups)
+ [スタッフィンググループ - 予測グループ](#data-lake-staffing-groups-forecast-groups)
+ [スタッフグループ - スーパーバイザー](#data-lake-staffing-groups-supervisors)
+ [スタッフシフト](#staff-shifts)
+ [スタッフシフトアクティビティ](#data-lake-staff-shift-activities)
+ [スタッフの休暇残高の変更](#data-lake-staff-timeoff-balance-changes)
+ [スタッフの休暇](#data-lake-staff-timeoffs)
+ [スタッフの休暇間隔](#data-lake-staff-timeoff-intervals)
+ [スタッフ需要グループ](#data-lake-staff_demand_group)
+ [スタッフグループの需要グループ](#data-lake-staffing-groups-demand-groups)
+ [スタッフシフトアクティビティの割り当て](#data-lake-staff-shift-activity-allocation)
+ [スケジュールのメトリクス](#data-lake-schedule-metrics)
+ [スケジュールの目標](#data-lake-schedule-goals)
+ [シフトローテーションパターン](#data-lake-shift-rotation-patterns)
+ [シフトローテーションステップ](#data-lake-shift-rotation-steps)
+ [データスキーマ](#data-lake-data-schema)
+ [サンプルクエリ](#data-lake-sample-queries)

## スタッフスケジューリングプロファイル
<a name="data-lake-staff-scheduling-profile"></a>

 テーブル名: `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  |  タイムスタンプ  |  [スタッフルール] で設定されたエージェントの StartTimestamp (スケジュールはこのタイムスタンプの後にのみ生成されます）。 | 
|  end\_timestamp  |  タイムスタンプ  |  [スタッフルール] で設定されたエージェントの EndTimestamp (スケジュールはこのタイムスタンプを超過して生成されません）。 | 
|  shift\_profile\_arn  |  string  |  スタッフルールでエージェントに割り当てられたシフトプロファイルの ARN。シフトローテーションパターンでは相互に排他的です。 | 
|  shift\_rotation\_pattern\_arn  |  string  |  スタッフルールでエージェントに割り当てられたシフトローテーションパターンの ARN。Shift Profile と相互排他的です。 | 
|  shift\_rotation\_start\_step\_id  |  bigint  |  割り当てられたシフトローテーションパターンでエージェントが開始するステップ ID。 | 
|  timezone  |  string  |  エージェント用に設定されたタイムゾーン。 | 
|  is\_deleted  |  ブール値  |  エージェントが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\_updated\_timestamp  |  タイムスタンプ  |  スタッフスケジューリングプロファイルが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトアクティビティ
<a name="data-lake-shift-activities"></a>

 テーブル名: `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  |  タイムスタンプ  | シフトアクティビティが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトプロファイル
<a name="data-lake-shift-profiles"></a>

 テーブル名: `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  |  タイムスタンプ  | シフトプロファイルが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループ
<a name="data-lake-staffing-groups"></a>

 テーブル名: `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  |  タイムスタンプ  |  スタッフグループが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフィンググループ - 予測グループ
<a name="data-lake-staffing-groups-forecast-groups"></a>

 テーブル名: `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  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループ - スーパーバイザー
<a name="data-lake-staffing-groups-supervisors"></a>

 テーブル名: `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  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフト
<a name="staff-shifts"></a>

 テーブル名: `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  |  タイムスタンプ  |  シフト開始時のタイムスタンプ。 | 
|  shift\_end\_timestamp  |  タイムスタンプ  | シフト終了時のタイムスタンプ。 | 
|  created\_timestamp  |  タイムスタンプ  |  シフトが作成された時刻のタイムスタンプ。 | 
|  is\_deleted  |  ブール値  |  シフトが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\_updated\_timestamp  |  タイムスタンプ  |  シフトが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフトアクティビティ
<a name="data-lake-staff-shift-activities"></a>

 テーブル名: `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  |  タイムスタンプ  |  アクティビティが開始された時刻のタイムスタンプ。 | 
|  activity\_end\_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  |  タイムスタンプ  | シフトが作成/更新された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇残高の変更
<a name="data-lake-staff-timeoff-balance-changes"></a>

 テーブル名: `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  |  タイムスタンプ  |  休暇残高変更レコードが作成されたタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇
<a name="data-lake-staff-timeoffs"></a>

 テーブル名: `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  |  タイムスタンプ  |  休暇の開始時刻のタイムスタンプ。 | 
|  timeoff\_end\_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  |  有効な休暇時間の合計。有効な休暇時間は、[休暇控除ロジック](https://docs.aws.amazon.com/connect/latest/adminguide/upload-timeoff-balance.html#how-system-calculates-time-off-deductions)に基づいて計算されます。これは TIME\_OFF タイプに対してのみ設定されます。 | 
|  last\_updated\_timestamp  |  タイムスタンプ  |  休暇が作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇間隔
<a name="data-lake-staff-timeoff-intervals"></a>

 テーブル名: `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  |  タイムスタンプ  |  特定の休暇間隔が開始されるタイムスタンプ。 | 
|  timeoff\_interval\_end\_timestamp  |  タイムスタンプ  |  特定の休暇間隔が終了するタイムスタンプ。 | 
|  interval\_effective\_timeoff\_hours  |  double  |  この特定の休暇間隔の有効な休暇時間。有効な休暇時間は、[休暇控除ロジック](https://docs.aws.amazon.com/connect/latest/adminguide/upload-timeoff-balance.html#how-system-calculates-time-off-deductions)に基づいて計算されます。 | 
|  last\_updated\_timestamp  |  タイムスタンプ  |  休暇が作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフ需要グループ
<a name="data-lake-staff_demand_group"></a>

テーブル名: `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  | タイムスタンプ  | グループの関連付けを要求するエージェントが作成/更新されたタイムスタンプ。 | 
| data\_lake\_last\_processed\_timestamp  | タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループの需要グループ
<a name="data-lake-staffing-groups-demand-groups"></a>

テーブル名: `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  |  タイムスタンプ  |  グループの関連付けを要求するスタッフグループがcreated/updated/deletedタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフトアクティビティの割り当て
<a name="data-lake-staff-shift-activity-allocation"></a>

テーブル名: `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  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\_lake\_last\_processed\_timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スケジュールのメトリクス
<a name="data-lake-schedule-metrics"></a>

テーブル名: `schedule_metrics`

複合プライマリキー: `{instance_id, metric_id, interval_start_timestamp}`


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\_id | string | Amazon Connect インスタンスの ARN。 | 
| instance\_arn | string | Amazon Connect インスタンスの ID。 | 
| metric\_id | string | メトリクス値の一意の識別子 | 
| aws\_account\_id | string | AWS アカウントの ID。 | 
| entity\_type | string | メトリクスが予測グループ用か需要グループ用かを示します。 | 
| entity\_arn | string | 予測グループまたは需要グループの Arn | 
| channel | string | Voice、 Chat などのメディアチャネルを示します。行にチャネルレベルではないメトリクスが含まれている場合、すべてとして入力されます。 | 
| interval\_start\_timestamp | timestamp | 間隔の開始を示すタイムスタンプ | 
| required\_agent\_count | float | 予測されたエージェントの数を示します。 | 
| scheduled\_agent\_count | float | スケジュールエージェントの数を示します | 
| scheduled\_occupancy | float | 稼働率を示します | 
| scheduled\_service\_level\_percentage | float | スケジュールサービスレベルの割合を示します。 | 
| service\_level\_seconds | integer | サービスレベルの秒数を示します。 | 
| scheduled\_average\_speed\_of\_answer | float | 平均応答速度を示します。 | 
| is\_deleted | boolean | メトリクスが削除されたかどうかを示します | 
| last\_updated\_timestamp | timestamp | メトリクスレコードが作成されたタイムスタンプ。 | 
| data\_lake\_last\_processed\_timestamp | timestamp | データレイクがレコードを最後に処理した時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スケジュールの目標
<a name="data-lake-schedule-goals"></a>

テーブル名: `schedule_goals`

複合プライマリキー: `{instance_id, goal_id}`


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\_id | string | Amazon Connect インスタンスの ARN。 | 
| instance\_arn | string | Amazon Connect インスタンスの ID。 | 
| goal\_id | string | 目標値の一意の識別子 | 
| aws\_account\_id | string | AWS アカウントの ID。 | 
| entity\_type | string | 目標が予測グループ用か需要グループ用かを示します。 | 
| entity\_arn | string | 予測グループまたは需要グループの Arn | 
| channel | string | Voice、 Chat などのメディアチャネルを示します。 | 
| start\_date\_timestamp | timestamp | 目標の開始を示すタイムスタンプ | 
| end\_date\_timestamp | timestamp | 目標の終了を示すタイムスタンプ | 
| goal\_service\_level\_percentage | float | 目標サービスレベルの割合を示します。 | 
| goal\_service\_level\_seconds | integer | サービスレベルの秒数を示します。 | 
| goal\_average\_speed\_of\_answer | float | 平均応答速度を示します。 | 
| is\_deleted | boolean | 目標が削除されたかどうかを示します | 
| last\_updated\_timestamp | timestamp | 目標レコードが作成されたタイムスタンプ。 | 
| data\_lake\_last\_processed\_timestamp | timestamp | データレイクがレコードを最後に処理した時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトローテーションパターン
<a name="data-lake-shift-rotation-patterns"></a>

テーブル名: `shift_rotation_patterns`

複合プライマリキー: `{instance_id, shift_rotation_pattern_arn, shift_rotation_pattern_version}`


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\_id | string | Amazon Connect インスタンスの ID。 | 
| shift\_rotation\_pattern\_arn | string | シフトローテーションパターンの ARN。 | 
| shift\_rotation\_pattern\_version | bigint | シフトローテーションパターンのバージョン。 | 
| instance\_arn | string | Amazon Connect インスタンスの ARN。 | 
| shift\_rotation\_pattern\_name | string | シフトローテーションパターンの名前。 | 
| start\_date | string | 形式のシフトローテーションパターンの開始日yyyy-mm-dd。 | 
| is\_deleted | ブール値 | シフトローテーションパターンが削除された場合は True に設定します。それ以外の場合は False に設定されます。 | 
| last\_updated\_by | string | シフトローテーションパターンcreated/updated/deletedユーザーの ARN。 | 
| last\_updated\_timestamp | タイムスタンプ | シフトローテーションパターンがcreated/updated/deletedタイムスタンプ。 | 
| data\_lake\_last\_processed\_timestamp | タイムスタンプ | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトローテーションステップ
<a name="data-lake-shift-rotation-steps"></a>

テーブル名: `shift_rotation_steps`

複合プライマリキー: `{instance_id, shift_rotation_pattern_arn, shift_rotation_pattern_version, step_id}`

このテーブルは、`shift_rotation_pattern_arn` と `shift_rotation_pattern_version` に基づいて、`shift_rotation_patterns` テーブルと結合してクエリする必要があります。


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\_id | string | Amazon Connect インスタンスの ID。 | 
| shift\_rotation\_pattern\_arn | string | シフトローテーションパターンの ARN。 | 
| shift\_rotation\_pattern\_version | bigint | シフトローテーションパターンのバージョン。 | 
| step\_id | bigint | シフトローテーションパターン内のステップの ID。ステップには順番に番号が付けられます (1、2、3、... 最大 52)。 | 
| instance\_arn | string | Amazon Connect インスタンスの ARN。 | 
| shift\_profile\_arn | string | ローテーションステップに関連付けられたシフトプロファイルの ARN。 | 
| duration | bigint | ローテーションステップの週単位の期間。 | 
| is\_deleted | ブール値 | シフトローテーションステップが有効な場合は、False に設定します。 | 
| last\_updated\_by | string | シフトローテーションパターンを作成/更新したユーザーの ARN。 | 
| last\_updated\_timestamp | タイムスタンプ | シフトローテーションパターンが作成/更新されたタイムスタンプ。 | 
| data\_lake\_last\_processed\_timestamp | タイムスタンプ | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## データスキーマ
<a name="data-lake-data-schema"></a>

以下は、Amazon Connect データレイク内のスケジュールテーブル間の構造と関係を示すエンティティ関係図です。

 各テーブルには、プライマリキーと属性がデータ型とともに表示されます。この図は、外部キー関係を通じてこれらのテーブルがどのように相互に関連しているかを示し、スケジューリングデータモデルの包括的なビューを提供します。

![Amazon Connect 分析データレイク内のスケジューリングテーブル間の構造と関係を示すエンティティ関係図。](http://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/images/data-lake-scheduling-tables-overview-1.png)


## サンプルクエリ
<a name="data-lake-sample-queries"></a>

### 1. 特定の予測グループで作業しているエージェントの、スケジュールされたシフトアクティビティをすべて取得するクエリ
<a name="query1"></a>

`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. 特定の予測グループ内のエージェントのすべての休暇申請を取得するクエリ
<a name="query2"></a>

` 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
```