GET /v1/assignments/{id}/enrollments がすでに返す形式であるためです。このクエリでは、モジュールを列にピボットしません。
ポリシーの承諾状況は、このレポートに含まれません。Living Security にはポリシー承諾 API がないため、従来のそれらの列は対応付け待ちではなく、対象外です。従来のエクスポートとの相違点を参照してください。
Fn_FetchAll クエリを追加してください。このレポートは、そのクエリを名前で呼び出します。
必要なキースコープ
ソースエンドポイント
このクエリは
GET /v1/entities を呼び出しません。受講登録の行がすでに email と display_name を持っており、エンティティ一覧には部署や役職がないため、これを取得しても、受講登録の行にないディレクトリ列は補えません。
粒度
受講登録(人 × 割り当て)ごとに 1 行です。同じコースが 2 つの割り当てで割り当てられた人には 2 行が生成されます。受講登録のない人は表示されません。/v1 は、メールアドレスなしでは使用可能なディレクトリ行を出力できず、人のみの行を作成すると粒度が混在してしまうためです。
リクエスト予算: 割り当てごとに 1 回のページ送り取得を、キー単位の共有レート制限の範囲内で順次実行します。必ず limit = "500" を設定してください。
列のマッピング
従来の列名は、以前のプロバイダーのエクスポートに基づきます。/v1 のフィールドは公開 API 名です。クエリでは、レポート用に一部の名前を別名にしています。
スタースキーマモデル用に保持する結合キー:
entity_id、assignment_id、course_id、user_assignment_id。
クエリでは、course_slug、assignment_title、passed、attempts、assignment_lifecycle_status、assignment_created_at も保持します。enrollment_status は割り当てのライフサイクルではなく、受講者の進捗です(active / paused / completed)。
従来のエクスポートとの相違点
- ポリシーの承諾状況は利用できません。 このプラットフォームにはポリシードメインがなく、
/policies、/policy_acceptances、またはそれに相当する/v1リソースはありません。これらの列を対応付け待ちとして扱わないでください。対象外です。 - ディレクトリの追加情報は省略され、null にはなりません。 部署、役職、マネージャー、所在地は
/v1にありません。クエリは、これらの空の列を作成しません。 - 期限日は含まれます。 従来のエクスポートになかった場合でも、
Enrollment.due_atが API にあるためです。 - コース名はカタログのタイトルを優先します。
Course.titleがモジュール名です。Assignment.titleは、カタログの行が存在しない場合(削除または非公開)にのみ使用されます。 - ロングフォームであり、ピボットされません。 受講登録ごとに 1 行であり、モジュールごとに列を持つ 1 人 1 行の形式ではありません。
次のステップ
Power BI と Excel のセットアップ
認証情報、ページネーション、Power BI または Excel でのこれらのクエリの読み込み。
メールフィッシングログ
過去 12 か月間のフィッシングインタラクションのイベント単位のログ。
最も感染しやすいユーザー
個人別の過去 12 か月間のクリック、認証情報、報告の集計。
API キー
このレポートを更新するキーに
training:read と course:read を付与します。
