

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

# Amazon Connect 分析データレイク内のデータのスケジューリング
データのスケジューリング

このトピックでは、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)

## スタッフスケジューリングプロファイル
スタッフスケジューリングプロファイル

 テーブル名: `staff_scheduling_profile` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  agent\$1arn  |  string |  エージェントの ARN。 | 
|  staff\$1scheduling\$1profile\$1version  |  bigint  |  スタッフスケジューリングプロファイルのバージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  staffing\$1group\$1arn  |  string  |  エージェントが割り当てられるスタッフグループの ARN。 | 
|  start\$1timestamp  |  タイムスタンプ  |  [スタッフルール] で設定されたエージェントの StartTimestamp (スケジュールはこのタイムスタンプの後にのみ生成されます）。 | 
|  end\$1timestamp  |  タイムスタンプ  |  [スタッフルール] で設定されたエージェントの EndTimestamp (スケジュールはこのタイムスタンプを超過して生成されません）。 | 
|  shift\$1profile\$1arn  |  string  |  スタッフルールでエージェントに割り当てられたシフトプロファイルの ARN。シフトローテーションパターンと相互排他的です。 | 
|  shift\$1rotation\$1pattern\$1arn  |  string  |  スタッフルールでエージェントに割り当てられたシフトローテーションパターンの ARN。Shift Profile と相互排他的です。 | 
|  shift\$1rotation\$1start\$1step\$1id  |  bigint  |  割り当てられたシフトローテーションパターンでエージェントが開始するステップ ID。 | 
|  timezone  |  string  |  エージェント用に設定されたタイムゾーン。 | 
|  is\$1deleted  |  ブール値  |  エージェントが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  スタッフスケジューリングプロファイルが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトアクティビティ
シフトアクティビティ

 テーブル名: `shift_activities` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  shift\$1activity\$1arn  |  string  |  シフトアクティビティの ARN。 | 
|  shift\$1activity\$1version  |  bigint  |  シフトアクティビティのバージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  shift\$1activity\$1name  |  string  |  シフトアクティビティの名前。 | 
|  型  |  string  |  シフトアクティビティのタイプ。指定できる値は、PRODUCTIVE、NON\$1PRODUCTIVE、LEAVE です。 | 
|  sub\$1type  |  string  | シフトアクティビティのサブタイプ。これは NON\$1PRODUCTIVE タイプのアクティビティにのみ有効です。指定できる値は、BREAK\$1OR\$1MEAL と NONE です。 | 
|  is\$1adherence\$1tracked  |  ブール値  |  シフトアクティビティが準拠追跡用に設定されている場合は、True に設定されます。それ以外の場合は False に設定されます。 | 
|  is\$1paid  |  ブール値  |  シフトアクティビティが有料として設定されている場合は、True に設定されます。それ以外の場合は False に設定されます。 | 
|  is\$1deleted  |  ブール値  |  シフトアクティビティが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  | シフトアクティビティが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトプロファイル
シフトプロファイル

 テーブル名: `shift_profiles` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  shift\$1profile\$1arn  |  string  |  シフトプロファイルの ARN。 | 
|  shift\$1profile\$1version  |  bigint  |  シフトプロファイルのバージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  shift\$1profile\$1name  |  string  |  シフトプロファイルの名前。 | 
|  is\$1deleted  |  ブール値  |  シフトプロファイルが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  | シフトプロファイルが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループ
スタッフグループ

 テーブル名: `staffing_groups` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  staffing\$1group\$1arn  |  string  |  スタッフグループの ARN。 | 
|  staffing\$1group\$1version  |  bigint  |  スタッフグループバージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  staffing\$1group\$1name  |  string  |  スタッフグループの名前。 | 
|  is\$1deleted  |  ブール値  |  スタッフグループが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  スタッフグループが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフィンググループ - 予測グループ
スタッフィンググループ - 予測グループ

 テーブル名: `staffing_group_forecast_groups `

 複合プライマリキー: `{instance_id, staffing_group_arn, staffing_group_version, forecast_group_arn}` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  staffing\$1group\$1arn  |  string  |  スタッフグループの ARN。 | 
|  staffing\$1group\$1version  |  bigint  |  スタッフグループバージョン。 | 
|  forecast\$1group\$1arn  |  string  |  スタッフグループに関連付けられた 予測グループの ARN。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  is\$1deleted  |  ブール値  |  StaffingGroup-ForecastGroup の関連付けが有効な場合は、False に設定します。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループ - スーパーバイザー
スタッフグループ - スーパーバイザー

 テーブル名: `staffing_group_supervisors` 

 複合プライマリキー: `{instance_id, staffing_group_arn, staffing_group_version, supervisor_arn} `

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  staffing\$1group\$1arn  |  string  |  スタッフグループの ARN。 | 
|  staffing\$1group\$1version  |  bigint  |  スタッフグループバージョン。 | 
|  supervisor\$1arn  |  string  |  スタッフグループに関連付けられたスーパーバイザーのエージェント ARN。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  is\$1deleted  |  ブール値  |  StaffingGroup-ForecastGroup の関連付けが有効な場合は、False に設定します。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフト
スタッフシフト

 テーブル名: `staff_shifts` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  shift\$1id  |  string  |  シフトの ID | 
|  shift\$1version  |  bigint  |  シフトバージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  agent\$1arn  |  string  |  エージェントの ARN。 | 
|  shift\$1start\$1timestamp  |  タイムスタンプ  |  シフト開始時のタイムスタンプ。 | 
|  shift\$1end\$1timestamp  |  タイムスタンプ  | シフト終了時のタイムスタンプ。 | 
|  created\$1timestamp  |  タイムスタンプ  |  シフトが作成された時刻のタイムスタンプ。 | 
|  is\$1deleted  |  ブール値  |  シフトが削除された場合は True に設定されます。それ以外の場合は False に設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  シフトが作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフトアクティビティ
スタッフシフトアクティビティ

 テーブル名: `staff_shift_activities` 

 複合プライマリキー: `{instance_id, shift_id, shift_version, activity_id}` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  shift\$1id  |  string  |  シフトの ID | 
|  shift\$1version  |  bigint  |  シフトバージョン。 | 
|  activity\$1id  |  string  |  アクティビティの ID。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  activity\$1start\$1timestamp  |  タイムスタンプ  |  アクティビティが開始された時刻のタイムスタンプ。 | 
|  activity\$1end\$1timestamp  |  タイムスタンプ  | アクティビティが終了したときのタイムスタンプ。 | 
|  shift\$1activity\$1arn  |  string  |  シフトアクティビティの ARN。shift\$1activity\$1arn が null の場合、「Work」アクティビティを示します。 | 
|  activity\$1status  |  string  |  アクティビティのステータス。アクティビティが休暇と重複する場合、これは INACTIVE に設定されます。 | 
|  is\$1overtime  |  ブール値  |  アクティビティが残業の一部である場合は、True に設定します。それ以外の場合は False に設定されます。 | 
|  is\$1deleted  |  ブール値  |  シフトアクティビティが有効な場合は、False に設定します。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  | シフトが作成/更新された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇残高の変更
スタッフの休暇残高の変更

 テーブル名: `staff_timeoff_balance_changes` 

 複合プライマリキー: `{instance_id, agent_arn, shift_activity_arn, timeoff_balance_version}` 


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  account\$1id  |  string  |  AWS アカウントの ID。 | 
|  agent\$1arn  |  string  |  エージェントの ARN。 | 
|  shift\$1activity\$1arn  |  string  |  この残高が割り当てられているシフトアクティビティの ARN。 | 
|  timeoff\$1balance\$1version  |  bigint  |  休暇残高バージョン。変更の順序を示す増分番号。 | 
|  balance\$1update\$1source  |  string  |  残高更新のソース。指定できる値は、TIME\$1OFF\$1BALANCE\$1UPLOAD、CONNECT\$1TIME\$1OFF\$1REQUEST、SCHEDULE\$1PUBLISH、CSV\$1TIME\$1OFF\$1BALANCE\$1DELETION、TIME\$1OFF\$1BALANCE\$1BACKFILL、SYSTEM\$1UPDATE です。 | 
|  timeoff\$1id  |  string  |  この残高の変更の原因となった休暇の ID (存在する場合)。 | 
|  last\$1updated\$1by  |  string  |  この残高の変更の原因となったエージェントの ARN (存在する場合)。 | 
|  balance\$1change\$1in\$1hours  |  double  |  この変更によって更新された休暇残高の時間。この値が正の場合、この変更は休暇残高をクレジットします。この値が負の場合、この変更により休暇残高が差し引かれます。この値は、残高のアップロードイベントと削除イベントでは未定義です。 | 
|  remaining\$1balance\$1in\$1hours  |  double  |  この変更イベント後の残りの休暇残高時間。この値は、残高削除イベントに対して未定義です。 | 
|  last\$1created\$1timestamp  |  タイムスタンプ  |  休暇残高変更レコードが作成されたタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇
スタッフの休暇

 テーブル名: `staff_timeoffs` 

 複合プライマリキー: `{instance_id, timeoff_id, agent_arn, timeoff_version}` 


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  timeoff\$1id  |  string  |  休暇の ID。 | 
|  agent\$1arn  |  string  |  エージェントの ARN。 | 
|  timeoff\$1version  |  bigint  |  休暇バージョン。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  timeoff\$1type  |  string  |  休暇のタイプ。指定できる値は、TIME\$1OFF と VOLUNTARY\$1TIME\$1OFF です。 | 
|  timeoff\$1start\$1timestamp  |  タイムスタンプ  |  休暇の開始時刻のタイムスタンプ。 | 
|  timeoff\$1end\$1timestamp  |  タイムスタンプ  |  休暇終了時刻のタイムスタンプ。 | 
|  timeoff\$1status  |  string  |  休暇のステータス。指定できる値は、PENDING\$1CREATE、PENDING\$1UPDATE、PENDING\$1CANCEL、PENDING\$1ACCEPT、PENDING\$1APPROVE、PENDING\$1DECLINE、APPROVED、ACCEPTED、REJECTED、CANCELLED、WAITING\$1ACCEPT、WAITING\$1APPROVE です。WAITING ステータスは、休暇がユーザーアクションを待機していることを示します。PENDING ステータスは、休暇がユーザーアクションのシステム処理を待機していることを示します。 | 
|  shift\$1activity\$1arn  |  string  |  休暇に使用されるシフトアクティビティの ARN。 | 
|  effective\$1timeoff\$1hours  |  double  |  有効な休暇時間の合計。有効な休暇時間は、[休暇控除ロジック](https://docs.aws.amazon.com/connect/latest/adminguide/upload-timeoff-balance.html#how-system-calculates-time-off-deductions)に基づいて計算されます。これは TIME\$1OFF タイプに対してのみ設定されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  休暇が作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフの休暇間隔
スタッフの休暇間隔

 テーブル名: `staff_timeoff_intervals` 

 複合プライマリキー:\$1`instance_id, timeoff_id, timeoff_version, interval_id}` 

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


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  timeoff\$1id  |  string  |  休暇の ID。 | 
|  timeoff\$1version  |  bigint  |  休暇バージョン。 | 
|  interval\$1id  |  string  |  休暇間隔の ID。 | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  timeoff\$1interval\$1start\$1timestamp  |  タイムスタンプ  |  特定の休暇間隔が開始されるタイムスタンプ。 | 
|  timeoff\$1interval\$1end\$1timestamp  |  タイムスタンプ  |  特定の休暇間隔が終了するタイムスタンプ。 | 
|  interval\$1effective\$1timeoff\$1hours  |  double  |  この特定の休暇間隔の有効な休暇時間。有効な休暇時間は、[休暇控除ロジック](https://docs.aws.amazon.com/connect/latest/adminguide/upload-timeoff-balance.html#how-system-calculates-time-off-deductions)に基づいて計算されます。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  休暇が作成/更新/削除された時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフ需要グループ
スタッフ需要グループ

テーブル名: `staff_demand_group`

複合プライマリキー: `{instance_id, agent_arn, demand_group_arn, staff_demand_group_version}`


|  列  |  型  |  説明  | 
| --- | --- | --- | 
| instance\$1id  | string  | Amazon Connect インスタンスの ID。 | 
| agent\$1arn  | string  | エージェントの ARN。 | 
| demand\$1group\$1arn  | string  | 需要グループの ARN。 | 
| staff\$1demand\$1group\$1version  | Long  | このエージェントがグループの関連付けを要求するバージョン  | 
| priority  | string  | このエージェントの需要グループの優先度。LOW、MEDIUM、HIGH のいずれか | 
| instance\$1arn  | string  | Amazon Connect インスタンスの ARN。 | 
| is\$1override  | ブール値  | これが Agent to Demand Group の関連付けが Agent レベルのオーバーライドである場合は、「true」に設定します。 | 
| is\$1deleted  | ブール値  | エージェントの需要グループの関連付けが削除された場合は、true に設定します。 | 
| last\$1updated\$1timestamp  | タイムスタンプ  | グループの関連付けを要求するエージェントが作成/更新されたタイムスタンプ。 | 
| data\$1lake\$1last\$1processed\$1timestamp  | タイムスタンプ  | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフグループの需要グループ
スタッフグループの需要グループ

テーブル名: `staffing_group_demand_group`

複合プライマリキー: `{instance_id, staffing_group_arn, demand_group_arn, staffing_group_demand_group_version}`


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  staffing\$1group\$1arn  |  string  |  スタッフグループの ARN。 | 
|  demand\$1group\$1arn  |  string  |  需要グループの ARN。 | 
|  staffing\$1group\$1demand\$1group\$1version  |  Long  | このスタッフグループと需要グループの関連付けのバージョン  | 
|  priority  |  string  |  このスタッフグループの需要グループの優先度。LOW、MEDIUM、HIGH のいずれか | 
|  instance\$1arn  |  string  |  Amazon Connect インスタンスの ARN。 | 
|  is\$1deleted  |  ブール値  |  グループの関連付けを要求するスタッフグループが削除された場合は、true に設定します。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  グループの関連付けを要求するスタッフグループがcreated/updated/deleted時刻のタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スタッフシフトアクティビティの割り当て
スタッフシフトアクティビティの割り当て

テーブル名: `staff_shift_activity_allocations`

複合プライマリキー: `{instance_id, shift_id, shift_version, activity_id, demand_group_arn}` 


|  列  |  型  |  説明  | 
| --- | --- | --- | 
|  instance\$1id  |  string  |  Amazon Connect インスタンスの ID。 | 
|  shift\$1id  |  string  |  シフトの ID。 | 
|  shift\$1version  |  Long  |  シフトバージョン。 | 
|  activity\$1id  |  string  |  アクティビティの ID。 | 
|  demand\$1group\$1arn  |  string  |  需要グループの ARN。 | 
|  foecast\$1group\$1arn  |  string  |  予測グループの ARN。 | 
|  allocation\$1percentage  |  double  |  需要グループへのアクティビティの割り当て率。 | 
|  is\$1deleted  |  ブール値  |  StaffingGroup-ForecastGroupassociation が有効な場合は、False に設定します。 | 
|  last\$1updated\$1timestamp  |  タイムスタンプ  |  スタッフグループが作成/更新されたタイムスタンプ。 | 
|  data\$1lake\$1last\$1processed\$1timestamp  |  タイムスタンプ  |  レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スケジュールのメトリクス
スケジュールのメトリクス

テーブル名: `schedule_metrics`

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


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\$1id | string | Amazon Connect インスタンスの ARN。 | 
| instance\$1arn | string | Amazon Connect インスタンスの ID。 | 
| metric\$1id | string | メトリクス値の一意の識別子 | 
| aws\$1account\$1id | string | AWS アカウントの ID。 | 
| entity\$1type | string | メトリクスが予測グループ用か需要グループ用かを示します。 | 
| entity\$1arn | string | 予測グループまたは需要グループの Arn | 
| channel | string | 音声、チャットなどのメディアチャネルを示します。行にチャネルレベルではないメトリクスが含まれている場合、すべてとして入力されます。 | 
| interval\$1start\$1timestamp | timestamp | 間隔の開始を示すタイムスタンプ | 
| required\$1agent\$1count | float | 予測されたエージェントの数を示します。 | 
| scheduled\$1agent\$1count | float | スケジュールエージェントの数を示します | 
| scheduled\$1occupancy | float | 稼働率を示します | 
| scheduled\$1service\$1level\$1percentage | float | スケジュールサービスレベルの割合を示します。 | 
| service\$1level\$1seconds | integer | サービスレベルの秒数を示します。 | 
| scheduled\$1average\$1speed\$1of\$1answer | float | 平均応答速度を示します。 | 
| is\$1deleted | boolean | メトリクスが削除されたかどうかを示します | 
| last\$1updated\$1timestamp | timestamp | メトリクスレコードが作成されたタイムスタンプ。 | 
| data\$1lake\$1last\$1processed\$1timestamp | timestamp | データレイクがレコードを最後に処理した時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## スケジュールの目標
スケジュールの目標

テーブル名: `schedule_goals`

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


| 列 | 型 | 説明 | 
| --- | --- | --- | 
| instance\$1id | string | Amazon Connect インスタンスの ARN。 | 
| instance\$1arn | string | Amazon Connect インスタンスの ID。 | 
| goal\$1id | string | 目標値の一意の識別子 | 
| aws\$1account\$1id | string | AWS アカウントの ID。 | 
| entity\$1type | string | 目標が予測グループ用か需要グループ用かを示します。 | 
| entity\$1arn | string | 予測グループまたは需要グループの Arn | 
| channel | string | 音声、チャットなどのメディアチャネルを示します。 | 
| start\$1date\$1timestamp | timestamp | 目標の開始を示すタイムスタンプ | 
| end\$1date\$1timestamp | timestamp | 目標の終了を示すタイムスタンプ | 
| goal\$1service\$1level\$1percentage | float | 目標サービスレベルの割合を示します。 | 
| goal\$1service\$1level\$1seconds | integer | サービスレベルの秒数を示します。 | 
| goal\$1average\$1speed\$1of\$1answer | float | 平均応答速度を示します。 | 
| is\$1deleted | boolean | 目標が削除されたかどうかを示します | 
| last\$1updated\$1timestamp | timestamp | 目標レコードが作成されたタイムスタンプ。 | 
| data\$1lake\$1last\$1processed\$1timestamp | timestamp | データレイクがレコードを最後に処理した時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## シフトローテーションパターン
シフトローテーションパターン

テーブル名: `shift_rotation_patterns`

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


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

## シフトローテーションステップ
シフトローテーションステップ

テーブル名: `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\$1id | string | Amazon Connect インスタンスの ID。 | 
| shift\$1rotation\$1pattern\$1arn | string | シフトローテーションパターンの ARN。 | 
| shift\$1rotation\$1pattern\$1version | bigint | シフトローテーションパターンのバージョン。 | 
| step\$1id | bigint | シフトローテーションパターン内のステップの ID。ステップには順番に番号が付けられます (1、2、3、... 最大 52)。 | 
| instance\$1arn | string | Amazon Connect インスタンスの ARN。 | 
| shift\$1profile\$1arn | string | ローテーションステップに関連付けられたシフトプロファイルの ARN。 | 
| duration | bigint | ローテーションステップの週単位の期間。 | 
| is\$1deleted | ブール値 | シフトローテーションステップが有効な場合は、False に設定します。 | 
| last\$1updated\$1by | string | シフトローテーションパターンを作成/更新したユーザーの ARN。 | 
| last\$1updated\$1timestamp | タイムスタンプ | シフトローテーションパターンが作成/更新されたタイムスタンプ。 | 
| data\$1lake\$1last\$1processed\$1timestamp | タイムスタンプ | レコードが最後にデータレイクによって更新された時刻を示すタイムスタンプ。これには、変換とバックフィルが含まれる場合があります。このフィールドを使用して、データの鮮度を確実に判断することはできません。 | 

## データスキーマ
データスキーマ

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

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

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


## サンプルクエリ
サンプルクエリ

### 1. 特定の予測グループで作業しているエージェントの、スケジュールされたシフトアクティビティをすべて取得するクエリ
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. 特定の予測グループ内のエージェントのすべての休暇申請を取得するクエリ
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
```