採用から退職までのポジション管理向けデータテンプレート
採用から退職までのポジション管理向けデータテンプレート
- 詳細な分析に必要な推奨属性
- 正確なプロセス発見のために追跡する主要なアクティビティ
- Microsoft Dynamics 365 Human Resourcesからのデータ抽出手順
採用から退職までのポジション管理の属性
| 名前 | 説明 | ||
|---|---|---|---|
| アクティビティ名 ActivityName | ポジション管理プロセスで発生した特定のイベントまたはタスクの名称です。 | ||
| 説明 この属性は、「ポジション申請を開始」「人事システムでポジションを作成」「ポジションを無効化」など、ポジションのライフサイクルにおける個々のステップを示します。イベントの順序を表すプロセスマップの基盤となります。 アクティビティ名を分析すると、プロセスの流れを可視化し、標準プロセスからの逸脱を特定して、各ステップ間の所要時間を算出できます。何がどの順序で起きたかを把握するための基本情報です。 重要な理由 プロセスの各ステップを定義し、プロセスマップの可視化や、プロセスの流れとばらつきの分析を可能にします。 入手先 この属性は、Microsoft Dynamics 365 Human Resources内の業務イベント、ステータス変更、ワークフロー履歴から導出します。単一のフィールドではなく、データのコンテキストに基づいて構成します。 例 ポジション申請を開始ポジション申請をマネージャーが承認人事システムでポジションを作成ポジションの属性を変更ポジションを終了 | |||
| イベント時刻 EventTime | アクティビティが発生した日時を示すタイムスタンプです。 | ||
| 説明 イベント時刻、つまりタイムスタンプは、アクティビティが完了した正確な日時を記録します。イベントを時系列に並べ、所要時間やサイクルタイムを計算するうえで重要です。 プロセスマップの作成から、「ポジション承認の平均サイクルタイム」などのパフォーマンスに関する重要業績評価指標(KPI)の計算まで、ほぼすべてのプロセスマイニング分析でこの属性を使います。遅延が発生した時点や、各ステップにかかった時間の特定に役立ちます。 重要な理由 イベントの順序付け、時間に関するすべての指標の計算、プロセスのボトルネックの特定に欠かせないタイムスタンプです。 入手先 通常、システムログテーブル、またはDynamics 365 HRのポジションやワークフローのレコードに関連付けられた「CreatedDateTime」や「ModifiedDateTime」フィールドに記録されています。 例 2023-04-15T09:00:00Z2023-04-15T14:35:10Z2023-04-18T11:21:05Z2023-05-02T16:45:00Z2024-01-10T10:00:00Z | |||
| ポジションID PositionId | 組織内の特定のポジションを識別する一意のIDです。 | ||
| 説明 ポジションIDは主要なケース識別子として、1つのポジションに関するすべてのアクティビティとデータ項目を関連付けます。これにより、ポジションの作成や変更から、最終的な無効化または終了まで、ライフサイクル全体を追跡できます。 プロセス分析では、このIDを使って各ポジションの流れを再構成します。サイクルタイムを監視し、承認のボトルネックを特定して、申請から終了までのプロセスのバリアントを分析するダッシュボードの作成にも欠かせません。 重要な理由 関連するすべてのイベントを1つのプロセスケースに結び付ける基本の識別子です。ポジションのライフサイクル全体を分析できます。 入手先 通常は、Microsoft Dynamics 365 Human ResourcesのHcmPosition.PositionIdフィールドです。HcmPositionV2Entityなどのデータエンティティで確認できます。 例 ポジション001234マーケティング-0056財務-シニアアナリスト-02人事ビジネスパートナー-東日本-01IT-開発-9876 | |||
| コストセンター CostCenter | ポジションにかかる費用の配賦先となる財務上のコストセンターです。 | ||
| 説明 コストセンターは、ポジションを特定の予算または財務責任の範囲に紐付ける重要な財務ディメンションです。この属性の変更を追跡することが重要です。 この属性は、作成後の主要属性の変更を分析する「ポジションデータ整合性チェック」ダッシュボードに欠かせません。また、財務単位ごとのポジション関連コストや予算の分析にも使われます。 重要な理由 ポジションを財務データに紐付けることで、コストに関するプロセス分析やデータ整合性の確認ができます。 入手先 通常、ポジションレコードの財務ディメンションとして設定されます。Dynamics 365の財務ディメンション設定をご確認ください。 例 CC-1001-FINCC-2500-ITCC-4510-SALESCC-7000-OPSCC-9002-HR | |||
| ポジションのステータス PositionStatus | ポジションの現在または過去のステータスです。 | ||
| 説明 この属性は、ある時点でのポジションの状態を示します。たとえば、「提案中」「アクティブ」「凍結」「終了」などです。ステータスの変更は、プロセス内のアクティビティに対応することがよくあります。 ステータスを追跡すると、ポジションの経過を把握できます。また、「ポジションのコンプライアンス確認状況」や「長期間未更新・未活用のポジション」などのダッシュボードにも役立ちます。ポジションの現在の状態を確認し、プロセスの流れを検証できます。 重要な理由 各ポジションの状態が明確になるため、ケースを絞り込み、結果を把握しやすくなります。 入手先 Microsoft Dynamics 365 Human Resourcesの文書をご確認ください。中核となるPositionレコードのステータスフィールドから取得できる可能性があります。 例 提案中レビュー中アクティブ凍結終了 | |||
| ユーザー名 UserName | アクティビティを実行したユーザーの名前またはIDです。 | ||
| 説明 この属性は、各プロセスのステップを担当した従業員またはシステムユーザーを特定します。たとえば、申請を承認したマネージャーや、システムにポジションを登録した人事担当者を確認できます。 ユーザー別に分析すると、研修の必要性を把握し、チームメンバー間のパフォーマンスを比較できるほか、業務負荷の分布も確認できます。また、職務分掌が適切に行われているかを確認するコンプライアンスチェックにも役立ちます。 重要な理由 担当者を明確にし、個人またはチーム単位でパフォーマンスを分析できます。リソース管理や研修に欠かせない情報です。 入手先 Dynamics 365 HRのワークフロー履歴または監査証跡のレコードに関連付けられています。HcmWorkerエンティティのユーザーIDを介して紐付けられている場合があります。 例 John SmithJane DoeSYSTEMHRAdmin01MGR-FINANCE | |||
| 終了時刻 EndTime | アクティビティが完了した日時です。 | ||
| 説明 EndTimeは、アクティビティの終了時刻を示します。StartTimeからEndTimeまでの経過時間が、そのアクティビティの処理時間です。 アクティビティごとの所要時間を計算し、プロセスのどこに時間がかかっているかを把握するために必要な属性です。たとえば、ポジションの申請が担当マネージャーに割り当てられてから、承認されるまでの時間を確認できます。 重要な理由 アクティビティの処理時間を計算できるため、詳細なパフォーマンス分析やボトルネック分析の基礎となります。 入手先 後続イベントのタイムスタンプや、Dynamics 365 HRのワークフローログにある特定の「完了」フィールドから取得できます。多くの場合、推定が必要です。 例 2023-04-15T09:05:12Z2023-04-15T15:00:00Z2023-04-19T09:00:00Z2023-05-03T10:00:00Z2024-01-10T10:05:00Z | |||
| 職種名 JobTitle | ポジションに関連付けられた職種名です。例:「シニア会計士」。 | ||
| 説明 職種名から、ポジションの役割や責任に関する重要な情報を把握できます。ポジションIDとは異なり、複数のポジションで同じ職種名が使われることがあります。 分析では、この属性を使って職種別にグループ化したり、絞り込んだりできます。「ポジション再分類の推移」ダッシュボードでは、どの職種が頻繁に再分類されているかを確認できます。 重要な理由 職種、レベル、職能に基づく分析に必要な業務上の背景情報を提供します。 入手先 ポジションに関連付けられたJobレコードから取得します。HcmPositionV2Entityなどのエンティティを確認するか、HcmJobEntityと結合してください。 例 シニア財務アナリストソフトウェアエンジニアII人事ビジネスパートナーマーケティングコーディネーター物流マネージャー | |||
| 部門 DepartmentName | ポジションが属する部門です。 | ||
| 説明 この属性は、ポジションに関連付けられた組織内の部門を示します。例として、「財務」「マーケティング」「IT」などがあります。プロセスデータの絞り込みや集計に使う主要な分析軸です。 部門別の分析は、「部門別ポジション処理状況」ダッシュボードに欠かせません。プロセスのパフォーマンスを比較し、部門固有のボトルネックを特定するとともに、事業部門ごとの採用傾向を把握できます。 重要な理由 事業部門ごとにプロセスを分析できるため、部門固有の問題を特定し、パフォーマンスを比較できます。 入手先 この情報はポジションの詳細情報に含まれ、通常はHcmPositionDetailエンティティに保存されます。運営単位のディメンションに紐付けられています。 例 財務情報技術営業・マーケティング人事オペレーション | |||
| ソースシステム SourceSystem | データの抽出元となったシステムです。 | ||
| 説明 この属性は、プロセスデータの取得元を示します。この画面では、通常「Microsoft Dynamics 365 Human Resources」です。 複数のシステムを使う環境では、データの来歴を追跡し、問題を調査するうえで重要なフィールドです。データが想定したソースから取得されていることを確認でき、特定のシステムに絞った分析にも使えます。 重要な理由 データの取得元に関するコンテキストを示します。データガバナンスや複数の基幹システムにまたがる分析で重要です。 入手先 データの抽出・変換時に、データセットの出所を示すために追加される固定値です。 例 Microsoft Dynamics 365 Human ResourcesD365 HRDynamicsHR | |||
| ポジションの雇用形態 PositionType | ポジションをフルタイム、パートタイム、臨時などに分類します。 | ||
| 説明 この属性は、雇用条件に基づいてポジションを分類します。人員分析や計画に必要な情報を補います。 プロセス分析で雇用形態を絞り込むと、ポジションの種類によってプロセスの経路やサイクルタイムが異なるかどうかを確認できます。たとえば、臨時ポジションは、正規のフルタイムポジションより承認手続きが短く、簡略化されている場合があります。 重要な理由 雇用形態ごとのプロセスの違いを分析できるため、人員計画やプロセスの改善に役立ちます。 入手先 通常、この情報はDynamics 365 HRのポジションレコードにあります。HcmPositionV2Entityなどのエンティティで該当するフィールドをご確認ください。 例 フルタイムパートタイム契約社員インターン臨時 | |||
| 予算承認済みかどうか IsBudgetApproved | ポジションの予算が承認されているかどうかを示すフラグです。 | ||
| 説明 この真偽値属性は、対象のポジションケースで「ポジション予算の承認」アクティビティが発生するとtrueになります。プロセスの流れを分析し、予算待ちで停滞しているポジションを特定できます。 この属性でプロセスを絞り込むと、「ポジション予算承認サイクルタイム」の重要業績評価指標(KPI)をより効果的に分析できます。予算の承認を通過したポジションと、まだ承認されていないポジションを区別できるため、ボトルネック分析にも役立ちます。 重要な理由 重要な節目を明確なフラグで示すため、予算承認の段階を切り分けて測定しやすくなります。 入手先 データ変換時にケース履歴を確認し、「ポジション予算の承認」アクティビティの有無から算出します。 例 truefalse | |||
| 最終データ更新日時 LastDataUpdate | ソースシステムからデータが最後に更新された日時です。 | ||
| 説明 この属性は、Microsoft Dynamics 365 Human Resourcesからデータを最後に抽出した日時を示します。分析対象データの鮮度を把握するための情報です。 ダッシュボードにこの情報を表示すると、最新のデータを確認していることを利用者が把握できます。プロセスマイニングプロジェクトに欠かせないメタデータです。 重要な理由 分析結果に基づいて意思決定するうえで重要な、データの更新時期を利用者に知らせます。 入手先 この日時は、データの抽出、変換、読み込み(ETL)の過程で生成され、保存されます。 例 2024-05-21T02:00:00Z2024-05-20T02:00:00Z2024-05-19T02:00:00Z | |||
| 勤務地 Location | ポジションの物理的または地理的な所在地です。 | ||
| 説明 この属性は、オフィス、都市、国など、ポジションの勤務地を示します。プロセスデータの絞り込みや分類に使う重要な分析軸です。 「部門別ポジション処理状況」ダッシュボードでは、勤務地を使って地域ごとの人員配置の傾向やプロセスのパフォーマンスを分析します。特定の勤務地でポジションの作成や承認に時間がかかっているかどうかも確認できます。 重要な理由 地理的な情報を加えることで、勤務地ごとのプロセスのパフォーマンスや傾向を分析できます。 入手先 Microsoft Dynamics 365 Human Resourcesの文書をご確認ください。ポジションの詳細情報に含まれているか、部門または法人を介して紐付けられている可能性があります。 例 米国、ニューヨーク英国、ロンドンドイツ、ベルリンシンガポールリモート | |||
| 却下理由 RejectionReason | ポジション申請が却下された理由です。 | ||
| 説明 マネージャーまたは人事部門がポジション申請を却下した場合、理由が記録されることがあります。予算不足、情報の誤り、戦略の変更などが考えられます。 この属性は、「ポジション申請却下率」の重要業績評価指標(KPI)の算出や、手戻りの原因把握に欠かせません。よくある却下理由を分析すると、申請内容の不備やガイドラインの不明確さなど、プロセスの上流にある問題を特定し、改善につなげられます。 重要な理由 申請が却下される理由を直接把握できるため、手戻りや却下率を減らすための改善策を検討できます。 入手先 Microsoft Dynamics 365 Human Resourcesの文書をご確認ください。却下時のワークフローコメントや専用の理由コードフィールドに記録されることがよくあります。 例 予算なし重複申請職務プロファイルの誤り採用凍結戦略の見直し | |||
| 手戻りの有無 IsRework | アクティビティが手戻りのループに含まれるかどうかを示すフラグです。 | ||
| 説明 この真偽値フラグは、属性の変更後に再承認する場合など、プロセス内で同じステップが繰り返されるときにtrueになります。非効率なプロセスの繰り返しを定量化できます。 この属性は、「ポジションの手戻り分析」ダッシュボードと「ポジション作成時の手戻り率」の重要業績評価指標(KPI)に直接利用されます。手戻りをフラグで示すことで、分析担当者はプロセスの非効率性の頻度や影響を簡単に絞り込み、測定できます。 重要な理由 プロセスの手戻りを明確に特定して定量化できます。手戻りは、プロセス改善の主な対象です。 入手先 ケース内のアクティビティの順序に基づいて算出します。たとえば、「ポジション属性の変更」の後に「マネージャーによるポジション申請の承認」が発生した場合、手戻りとして判定できます。 例 truefalse | |||
| 承認サイクルタイム ApprovalCycleTime | ポジション申請の開始から最終承認までにかかる合計時間です。 | ||
| 説明 この指標は、「ポジション申請の開始」アクティビティから最終承認のアクティビティ(「人事部門によるポジション申請の承認」など)までの所要時間を測定します。ポジション管理プロセスの初期段階における重要なパフォーマンス指標です。 この属性は、「ポジション承認サイクルタイム」ダッシュボードと重要業績評価指標(KPI)に直接反映されます。承認プロセスの効率を全体的に測定し、改善施策の効果を時系列で追跡できます。 重要な理由 承認プロセス全体の効率を測る重要業績評価指標(KPI)です。ポジションを作成できる状態にするまでの遅れを明らかにします。 入手先 ケース単位で承認フェーズの開始・終了アクティビティのタイムスタンプを特定し、その差を計算します。 例 P3DT2H15MP10DP1DT12HP5DT6HP2W | |||
| 申請マネージャー RequestingManager | ポジションの申請を開始したマネージャーです。 | ||
| 説明 この属性は、新規または後任者用のポジションを申請し、採用プロセスを開始した採用マネージャーまたは部門長を特定します。ポジションの需要がどこから生じているかを把握できます。 申請マネージャー別に分析すると、申請件数、承認率、申請内容の品質に関する傾向を確認できます。業務負荷やプロセスの遵守状況を把握するための情報も得られます。 重要な理由 ポジション需要の発生源をたどり、採用マネージャーの視点からプロセス指標を分析できます。 入手先 Microsoft Dynamics 365 Human Resourcesの文書をご確認ください。この情報は、ワークフローの開始時に記録されると考えられます。 例 Robert JonesSusan MillerDavid ChenMaria GarciaPaul Williams | |||
| 職種群 JobFamily | 「エンジニアリング」や「財務」など、機能が似ている職種をまとめた分類です。 | ||
| 説明 職種群は、関連する職種名をまとめる分類です。たとえば、「ソフトウェアエンジニア」と「QAエンジニア」は、どちらも「エンジニアリング」の職種群に含まれる場合があります。 この属性は、どの職種カテゴリーが頻繁に変更されているかを大きな視点で分析できるため、「ポジション再分類の推移」ダッシュボードに欠かせません。個々の職種名を見るより広い範囲で傾向を把握できます。 重要な理由 ポジションをカテゴリー単位で幅広く分析できます。人員計画や傾向分析に役立ちます。 入手先 Dynamics 365 HRの職種設定に含まれています。HcmJobEntityの「職種群」または「職能」に関連するフィールドをご確認ください。 例 エンジニアリング財務・会計営業人事プロダクトマネジメント | |||
採用から退職までのポジション管理のアクティビティ
| アクティビティ | 説明 | ||
|---|---|---|---|
| ポジションを有効化 | ポジションが正式に募集可能となり、採用を開始できる時点を示します。ポジションレコードのステータスが「アクティブ」などに変わったことから推定します。 | ||
| 重要な理由 採用準備の状況と最終設定段階の効率を測る重要な節目です。ポジション有効化までの平均時間に関する重要業績評価指標(KPI)の測定に欠かせません。 入手先 ポジションレコードの「PositionStatus」などのステータスフィールドが「アクティブ」または「募集中」に更新された時点のタイムスタンプを追跡して推定します。 記録 ポジションの「ActivationDate」フィールドに日付が入力された日、またはステータスフィールドが「アクティブ」に変わった日を基準にします。 イベントタイプ inferred | |||
| ポジションを無効化 | ポジションが非アクティブとなり、アクティブな組織構造から除外された状態です。多くの場合、採用が完了した後に発生します。ステータスが「非アクティブ」などに変わったことから推定します。 | ||
| 重要な理由 ポジションがアクティブな状態を終える際の重要な段階です。ポジションの無効化までの平均時間を分析し、人員数を正確に管理するうえで欠かせません。 入手先 「RetirementDate」フィールドに値が入力された時点、またはポジションレコードのステータスが「非アクティブ」に変わった時点のタイムスタンプから推定します。 記録 ポジションの「RetirementDate」が設定された日、またはステータスフィールドが「非アクティブ」に変わった日を基準にします。 イベントタイプ inferred | |||
| ポジションを終了 | ポジションレコードが最終的にアーカイブされ、ライフサイクルが完全に終了したことを示します。ステータスが「終了」などの最終状態に変わったことから推定します。 | ||
| 重要な理由 プロセスの最終イベントです。ライフサイクル全体を端から端まで分析し、終了すべきまま残っているポジションを特定するのに役立ちます。 入手先 ポジションレコードのステータスフィールドが「終了」に変わったことから推定します。履歴を残すためレコードが保持されることが多く、無効化よりも発生頻度は低くなります。 記録 ステータスフィールドが「終了」に更新された時点のタイムスタンプから推定します。 イベントタイプ inferred | |||
| ポジション申請を人事部門が承認 | ポジションを正式に作成する前に、人事部門による最終承認が完了したことを示します。ワークフローシステムで人事承認タスクが完了した際に、明示的なイベントとして記録されます。 | ||
| 重要な理由 承認段階の終了を示す重要な節目です。ポジション承認の平均サイクルタイムを測定する際に使用します。 入手先 人事担当者が承認タスクを完了した時点で、WorkflowTrackingTableなどのワークフロー履歴テーブルに記録されます。 記録 人事承認ステップの完了時に、タイムスタンプとともにワークフロー履歴に記録されます。 イベントタイプ explicit | |||
| ポジション申請を開始 | ポジション管理のライフサイクルが正式に始まったことを示します。通常、Dynamics 365 HRの専用フォームまたはワークフローから新しいポジションを申請した際に記録されます。 | ||
| 重要な理由 ポジションのライフサイクル全体を測定する起点です。ポジション承認のサイクルタイムやポジション作成のリードタイムなど、重要業績評価指標(KPI)の測定に使います。 入手先 ポジション申請レコードの作成タイムスタンプ、またはWorkflowTrackingStatusTableなどのワークフロー履歴テーブルにある開始レコードから取得します。 記録 新しいポジション申請のワークフローを送信した時点で記録されます。 イベントタイプ explicit | |||
| 人事システムでポジションを作成 | Dynamics 365 HRでポジションレコードが正式に作成されたことを示します。ポジションのメインレコード自体の作成タイムスタンプから取得します。 | ||
| 重要な理由 申請から実際の組織上のポジションへ移行したことを示す基本的な節目です。ポジション作成のリードタイムに関する重要業績評価指標(KPI)の終点となります。 入手先 HcmPositionなどのメインポジションテーブルにあるシステムフィールド「CreatedDateTime」から取得します。 記録 HcmPositionテーブルのシステムフィールド「CreatedDateTime」から抽出します。 イベントタイプ explicit | |||
| ポジションのコンプライアンスを確認 | ポジションに対して正式なコンプライアンスチェックが行われたことを示します。ステータスの変更、チェックリストタスクの完了、カスタムフィールドの更新などから取得できます。 | ||
| 重要な理由 規制や社内方針の遵守状況を監視するうえで重要です。ポジションのコンプライアンス遵守率に関する重要業績評価指標(KPI)の測定に直接役立ちます。 入手先 ポジションレコードの「ComplianceReviewStatus」などのタイムスタンプ付きステータスフィールド、または「IsComplianceReviewed」などの真偽値フィールドから推定できます。 記録 コンプライアンスステータスのフィールドが「完了」または「確認済み」に更新された時点のタイムスタンプから推定します。 イベントタイプ inferred | |||
| ポジションの属性を変更 | ポジションの作成後に、役職名や部門などの主要な属性が変更されたことを示します。通常、システムのデータベースログで変更を追跡して、このアクティビティを推定します。 | ||
| 重要な理由 このアクティビティの頻度が高い場合、データ品質の低さやプロセスの手戻りが考えられます。ポジション属性の変更頻度や手戻り率に関する重要業績評価指標(KPI)の測定に欠かせません。 入手先 ポジションテーブルで変更追跡が有効な場合は、SysDatabaseLogテーブルから推定します。あるいは、ポジションデータの過去のスナップショットを比較する必要があります。 記録 データベースログを使ってHcmPositionテーブルの主要フィールドに対する更新操作を検出し、推定します。 イベントタイプ inferred | |||
| ポジションを再分類 | 職種群やレベルなど、ポジションの基本的な分類が変更されたことを示す重要な更新です。通常、ポジションレコードの「Job」フィールドの変更から推定します。 | ||
| 重要な理由 組織構造の変更や職務定義の安定性を分析するのに役立ちます。ポジション再分類率に関する重要業績評価指標(KPI)の測定に使う主要なアクティビティです。 入手先 HcmPositionテーブルの「JobId」フィールドの変更を、データベースログまたはレコードのバージョン比較によって取得し、推定します。 記録 ポジションレコードの職務分類フィールドに記録された変更から推定します。 イベントタイプ inferred | |||
| ポジションを凍結 | ポジションが一時保留となり、採用活動が停止したことを示します。ポジションレコードのステータスが「凍結」または「保留」に変わったことから推定します。 | ||
| 重要な理由 ポジションのライフサイクルにおける中断を追跡します。中断は人員計画や予算に影響する可能性があり、採用遅延の理由を特定するのに役立ちます。 入手先 ポジションレコードのステータスフィールドが「凍結」などに更新された時点のタイムスタンプを追跡して推定します。 記録 ステータスが「凍結」または「保留」に変わった時点のタイムスタンプから推定します。 イベントタイプ inferred | |||
| ポジション予算を承認 | 新しいポジションに必要な予算が割り当てられたことを確認する、重要な承認段階です。通常、ポジション作成ワークフロー内の独立した承認ステップとして記録されます。 | ||
| 重要な理由 財務承認の段階を切り分け、予算配分に関する遅延を分析できます。ポジション予算承認のサイクルタイムに関する重要業績評価指標(KPI)の測定にも役立ちます。 入手先 WorkflowTrackingTableなどのワークフロー履歴テーブルで、完了した承認タスクとして記録されます。多くの場合、財務担当者に割り当てられます。 記録 ワークフローログに記録された予算承認タスクの完了タイムスタンプから取得します。 イベントタイプ explicit | |||
| ポジション申請をマネージャーが承認 | 採用マネージャーによる最初の承認が完了したことを示します。マネージャーが割り当てられた承認タスクを完了すると、ワークフロー履歴に明示的に記録されます。 | ||
| 重要な理由 最初の承認段階にかかった時間を特定し、特定のマネージャーや部門におけるボトルネックの把握に役立ちます。 入手先 ポジション申請に関連付けられたWorkflowTrackingTableなどのワークフロー履歴テーブルで、完了したステップとして記録されます。 記録 ワークフローログに記録されたマネージャー承認ステップの完了タイムスタンプから取得します。 イベントタイプ explicit | |||
| ポジション申請を却下 | 承認段階のいずれかでポジション申請が却下されたことを示します。承認者が「却下」操作を選択すると、ワークフロー履歴に明示的に記録されます。 | ||
| 重要な理由 プロセスの失敗や手戻りの発生を明らかにします。却下理由を分析することで、申請内容の質を高め、ポジション申請の却下率に関する重要業績評価指標(KPI)の改善に役立てられます。 入手先 対象のポジション申請について、WorkflowTrackingStatusTableなどのワークフロー履歴テーブルに「却下」ステータスとして記録されます。 記録 承認者が却下操作を行った時点で、ワークフローログから取得します。 イベントタイプ explicit | |||
| 採用プロセスを開始 | ポジション管理から採用へ引き継がれたことを示します。特定のポジションIDに関連付けられた新しい求人または採用プロジェクトが作成された時点から推定します。 | ||
| 重要な理由 ポジション管理プロセスとその結果を結び付け、ポジションの有効化から実際の採用活動開始までの時間を分析できるようにします。 入手先 ポジションIDを参照するHcmRecruitingRequestなどの採用または求人テーブルで、レコードの作成日を特定して推定します。 記録 PositionIdと、採用モジュールで対応するレコードが作成された時点を関連付けて推定します。 イベントタイプ inferred | |||
データ抽出ガイド
ステップ
- データ管理ワークスペースを開く:Microsoft Dynamics 365 Human Resourcesにログインします。メインの検索バーから「データ管理」ワークスペースを開きます。
- 新しいエクスポートプロジェクトを作成する:ワークスペースで「エクスポート」タイルを選択します。「エクスポート」プロジェクトページで「新規」をクリックし、プロジェクトを作成します。「PositionManagement_EventLog_Export」など、内容が分かる名前を付けて、データ形式を選択します。変換処理には「CSV」を推奨します。
- プロジェクトにデータエンティティを追加する:新しいプロジェクトで「エンティティの追加」をクリックします。ポジションのライフサイクル全体を記録するには、複数のエンティティを追加する必要があります。主要なエンティティとして、「HcmPositionV2」、「WorkflowTrackingStatusTable」、「HcmRecruitingRequest」を1つずつ追加します。ポジション変更のデータベースログが有効な場合は、「SysDatabaseLog」も追加します。
- エンティティのフィルターを設定する:データ範囲を絞るため、各エンティティにフィルターを設定します。エンティティを選択して「フィルター」をクリックします。「HcmPositionV2」では、「CreatedDateTime」または「ModifiedDateTime」フィールドを使って特定の期間に絞ります。「WorkflowTrackingStatusTable」では、「CONTEXTTABLENAME」をフィルターし、ポジション関連のワークフローだけを含めます。
- 各エンティティのフィールドを選択する:後続の変換に必要なフィールドがすべてエクスポートされるようにします。「HcmPositionV2」には、「PositionId」、「CreatedDateTime」、「ActivationDate」、「RetirementDate」、「ModifiedDateTime」、「JobId」、「DepartmentNumber」を含めます。「WorkflowTrackingStatusTable」には、「ContextRecId」、「WorkflowTrackingStatus」、「CreatedDateTime」、「UserId」を含めます。
- エクスポートジョブを実行する:すべてのエンティティ、フィールド、フィルターを設定したら、プロジェクトのメインページで「エクスポート」をクリックします。システムがデータパッケージを作成し、エンティティごとにファイルを出力します。
- データパッケージの進行状況を確認してダウンロードする:「ジョブ履歴」セクションでジョブの進行状況を確認できます。正常に完了したら、圧縮ファイル形式のデータパッケージをダウンロードします。
- データを展開して変換する:ダウンロードしたパッケージを解凍します。エンティティごとにCSVファイルが格納されています。これらは生のデータであり、完成したイベントログではありません。Pythonとpandas、またはPowerShellなどを使った外部スクリプトで処理する必要があります。
- 変換ロジックを実装する:スクリプトで次の処理を行います。
- 「HcmPositionV2.csv」ファイルを読み込みます。「PositionId」と「CreatedDateTime」を使って、「HRシステムでポジションを作成」イベントを生成します。
- 「HcmPositionV2.csv」のステータスフィールドや「ActivationDate」、「RetirementDate」などの日付フィールドを読み取り、「ポジションを有効化」、「ポジションを凍結」、「ポジションを無効化」、「ポジションを終了」などのステータス変更イベントを生成します。
- 「WorkflowTrackingStatusTable.csv」ファイルを読み込み、レコードIDを使ってポジションデータと結合します。ワークフローのステータスとステップのコンテキストを適切なアクティビティ名に対応付け、「ポジション申請を開始」、「マネージャーがポジション申請を承認」、「ポジション予算を承認」、「人事がポジション申請を承認」、「ポジション申請を却下」の各イベントを生成します。
- 「SysDatabaseLog.csv」をエクスポートした場合は、このファイルを解析し、「HcmPosition」テーブルの特定フィールドの変更に基づいて、「ポジション属性を変更」、「ポジションを再分類」イベントを生成します。
- 「HcmRecruitingRequest.csv」を読み込み、対象ポジションの採用申請が作成された時点を特定して、「採用プロセスを開始」イベントを生成します。
- 最終イベントログを作成する:各データソースから生成したイベントを1つのCSVファイルにまとめます。このファイルには、「PositionId」、「ActivityName」、「EventTime」の必須列と、対応付けできた推奨属性を含めます。
- アップロード用に形式を整える:最終CSVファイルのヘッダーが必須の属性名と一致し、「EventTime」列が一貫したタイムスタンプ形式になっていることを確認します。これでプロセスマイニングツールにアップロードできます。
設定
- 主要なデータエンティティ:この抽出に必要な主なエンティティは次のとおりです。
HcmPositionV2:各ポジションの作成日、有効化日、職種や部門などの属性を含む基本情報です。WorkflowTrackingStatusTable:申請、承認、却下など、ワークフローの各インスタンスの履歴を記録します。承認プロセスの追跡に必要です。HcmRecruitingRequest:採用申請がポジションに紐付いている場合に、「採用プロセスを開始」アクティビティを推定するために使います。SysDatabaseLog:任意で追加できるエンティティです。「ポジション属性を変更」や「ポジションを再分類」などの詳細な変更を記録できます。利用するには、「HcmPosition」テーブルのデータベースログが事前に設定されている必要があります。
- 期間のフィルター:「CreatedDateTime」フィールドを使い、「HcmPositionV2」エンティティに期間フィルターを設定することを強く推奨します。データ量を運用しやすい範囲に抑えるため、まずは過去6~12か月を対象にするとよいでしょう。
- 増分エクスポート:継続的に分析する場合は、エクスポートプロジェクトで増分エクスポートを設定してください。前回の実行以降に変更されたレコードだけを抽出できるため、処理時間を大幅に短縮できます。
- 前提条件:エクスポートを実行するユーザーには、「データ管理」ワークスペースへのアクセス権と、指定したすべてのデータエンティティの読み取り権限を持つセキュリティロールが必要です。通常は「データ管理者」ロール、または対象エンティティへの権限を設定したカスタムロールが必要です。
クエリの例 sql
/*
This extraction uses the Dynamics 365 Data Management Framework. The 'query' is defined by configuring an export project via the user interface, not by running a script directly against the database.
A post-processing script is required to transform the output of this configuration into a final event log.
*/
-- Data Export Project Configuration --
Project Name: PositionManagement_EventLog_Export
Data Format: CSV
-- Entity 1: Positions --
Source Entity: HcmPositionV2
Fields to Export:
- PositionId
- CreatedDateTime (Used for 'Position Created In HR System' event)
- ActivationDate (Used for 'Position Activated' event)
- RetirementDate (Used for 'Position Deactivated' / 'Position Closed' event)
- ModifiedDateTime (Can be used for 'Position Attributes Modified' if SysDatabaseLog is not available)
- JobId (Used for 'Position Reclassified' event and 'JobTitle' attribute)
- DepartmentNumber (Used for 'DepartmentName' attribute)
- [Other fields for attributes like CostCenter, PositionStatus]
-- Entity 2: Workflow History --
Source Entity: WorkflowTrackingStatusTable
Fields to Export:
- ContextRecId (The record ID, used to link back to the HcmPosition record)
- ContextTableName (Filter this for 'HcmPosition')
- WorkflowTrackingStatus (Values like 'Submitted', 'Approved', 'Rejected')
- CreatedDateTime (Timestamp for the workflow event)
- UserId (The user who performed the action)
- [Workflow step name or ID field if available, to differentiate approval types]
-- Entity 3: Recruitment Requests --
Source Entity: HcmRecruitingRequest
Fields to Export:
- PositionId
- CreatedDateTime (Used for 'Hiring Process Started' event)
- RecruitingId
-- Entity 4: Database Change Log (Optional) --
Source Entity: SysDatabaseLog
Fields to Export:
- RefRecId (The record ID of the changed record)
- RefTableId (The table ID, filter for HcmPosition)
- CreatedDateTime (Timestamp of the change)
- [Fields indicating the old and new values, if available] ステップ
- 前提条件の確認:作業を始める前に、Microsoft Dynamics 365 Human Resourcesのインスタンスで「Bring Your Own Database」(BYOD)機能が設定されていることを確認します。必要なデータエンティティがAzure SQL Databaseにエクスポートされていることも確認してください。主なエンティティは、
HcmPositionV2、HcmPositionDetail、WorkflowTrackingStatusTable、HcmJob、OMOperatingUnit、HcmRecruitingRequestです。 - Azure SQL Databaseに接続する:SQL Server Management Studio(SSMS)やAzure Data StudioなどのSQLクライアントツールを使い、BYODの出力先であるAzure SQL Databaseに接続します。
- データベーススキーマを確認する:接続したら、データベーススキーマを確認します。D365 HRのデータエンティティはテーブルとして複製されています。BYODデータベース内のテーブル名はエンティティ名と完全には一致しない場合がありますが、通常はよく似た名前です。
- SQLクエリを読み込む:SQLクライアントで新しいクエリウィンドウを開き、この文書の「query」セクションにあるSQLスクリプト全体を貼り付けます。
- パラメーターを設定する:クエリ内のプレースホルダー変数を変更します。分析対象の法人(例:「USMF」)を
@[YourCompanyId]に設定します。WHERE句の日付範囲(例:CREATEDDATETIME >= '2023-01-01')を調整し、必要な期間のデータだけを抽出します。 - クエリを実行する:BYODデータベースに対してSQLクエリ全体を実行します。実行時間はデータ量と指定した期間によって異なります。
- 結果を確認する:クエリの実行後、SQLクライアントの結果ペインで出力を確認します。「PositionId」、「ActivityName」、「EventTime」などの列に想定どおりの値が入っていることを確認してください。
- CSVにエクスポートする:結果全体をCSVファイルにエクスポートします。多くのSQLクライアントには、結果をCSVファイルに直接保存する機能があります。たとえばSSMSでは、結果グリッドを右クリックして「結果を名前を付けて保存...」を選択します。
- アップロードの準備をする:エクスポートしたCSVファイルがUTF-8でエンコードされていることを確認します。列ヘッダーが必須の属性名(
PositionId、ActivityName、EventTimeなど)と完全に一致していることを確認してから、プロセスマイニングツールにアップロードします。
設定
- BYODのデータエンティティ:必要なデータエンティティがすべてDynamics 365 HRからBYODインスタンスに公開されていることを確認します。このプロセスでは、ポジション、ポジションの詳細、ワークフロー履歴、職種、部門、採用申請に関するエンティティが必要です。
- データの反映時間:BYODの複製はほぼリアルタイムで行われますが、即時ではありません。D365 HRでトランザクションが発生してからAzure SQL Databaseにデータが反映されるまで、数分から1時間ほどかかる場合があります。
- 期間のフィルター:パフォーマンスとデータ量を管理するため、クエリに日付フィルターを設定してください。まずは過去3~6か月を対象にするのが一般的です。各
UNION ALLブロック内で、作成日時またはイベント日時にフィルターを適用します。 - 会社のフィルター:正しい組織単位のデータを分析できるよう、必ず
DATAREAID(法人または会社ID)で絞り込みます。クエリには、このためのプレースホルダー@[YourCompanyId]が含まれています。 - 前提条件:この方法を利用するには、有効なAzureサブスクリプション、設定済みのBYODインスタンス、対象のAzure SQL Databaseに対する読み取り権限、クエリ実行に適したSQLクライアントツールが必要です。
- カスタムワークフローステップ:クエリでは、「ポジション申請を承認」など、一般的なワークフローステップ名を使用しています。組織で独自のステップ名を使用している場合は、該当する
WHERE句のCONTEXT値を更新してください。
クエリの例 sql
SELECT
p.POSITIONID AS PositionId,
'Position Request Initiated' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Initiated' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 1 -- Submitted
AND w.CONTEXT LIKE '%Create position request%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Approved By Manager' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Pending Budget' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%Manager approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Budget Approved' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Pending HR' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%Budget approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Approved By HR' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Approved' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 5 -- Approval
AND w.CONTEXT LIKE '%HR approval%'
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Request Rejected' AS ActivityName,
w.CREATEDDATETIME AS EventTime,
w.CREATEDDATETIME AS EndTime,
w.USERID AS UserName,
dept.NAME AS DepartmentName,
pd.DESCRIPTION AS JobTitle,
'Rejected' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM WorkflowTrackingStatusTable w
JOIN HcmPositionV2 p ON w.REFRECID = p.RECID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE w.TRACKINGSTATUS = 3 -- Rejection
AND p.DATAREAID = '[YourCompanyId]'
AND w.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Created In HR System' AS ActivityName,
p.CREATEDDATETIME AS EventTime,
p.CREATEDDATETIME AS EndTime,
p.CREATEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Created' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.DATAREAID = '[YourCompanyId]'
AND p.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Attributes Modified' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
p.MODIFIEDDATETIME AS EndTime,
p.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Modified' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.MODIFIEDDATETIME > p.CREATEDDATETIME
AND p.DATAREAID = '[YourCompanyId]'
AND p.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Reviewed For Compliance' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime,
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Compliance Reviewed' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.[YourComplianceStatusField] = 'Reviewed' -- This requires a custom field indicating compliance review
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Reclassified' AS ActivityName,
p.MODIFIEDDATETIME AS EventTime,
p.MODIFIEDDATETIME AS EndTime,
p.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Reclassified' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.MODIFIEDDATETIME > p.CREATEDDATETIME -- This is an inference. See known limitations.
AND p.DATAREAID = '[YourCompanyId]'
AND p.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Activated' AS ActivityName,
pd.VALIDFROM AS EventTime,
pd.VALIDFROM AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Active' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.VALIDFROM >= '[StartDate]'
AND p.DATAREAID = '[YourCompanyId]'
UNION ALL
SELECT
hr.POSITIONID AS PositionId,
'Hiring Process Started' AS ActivityName,
hr.CREATEDDATETIME AS EventTime,
hr.CREATEDDATETIME AS EndTime,
hr.CREATEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Recruiting' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmRecruitingRequest hr
JOIN HcmPositionV2 p ON hr.POSITIONID = p.POSITIONID
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE hr.DATAREAID = '[YourCompanyId]'
AND hr.CREATEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Frozen' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime, -- Assuming a status change triggers modification time
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Frozen' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.[YourPositionStatusField] = 'Frozen' -- Requires a dedicated status field on the position
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Deactivated' AS ActivityName,
pd.VALIDTO AS EventTime,
pd.VALIDTO AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Inactive' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE pd.VALIDTO < '2154-12-31' -- D365 often uses this far-future date for 'never expires'
AND pd.VALIDTO >= '[StartDate]'
AND p.DATAREAID = '[YourCompanyId]'
UNION ALL
SELECT
p.POSITIONID AS PositionId,
'Position Closed' AS ActivityName,
pd.MODIFIEDDATETIME AS EventTime, -- Assuming a status change triggers modification time
pd.MODIFIEDDATETIME AS EndTime,
pd.MODIFIEDBY AS UserName,
dept.NAME AS DepartmentName,
j.DESCRIPTION AS JobTitle,
'Closed' AS PositionStatus,
pd.DEFAULTDIMENSIONDISPLAYVALUE AS CostCenter
FROM HcmPositionV2 p
JOIN HcmPositionDetail pd ON p.POSITIONID = pd.POSITIONID
LEFT JOIN HcmJob j ON p.JOBID = j.JOBID
LEFT JOIN OMOperatingUnit dept ON pd.DEPARTMENT = dept.OMOPERATINGUNITNUMBER
WHERE p.[YourPositionStatusField] = 'Closed' -- Requires a dedicated status field on the position
AND p.DATAREAID = '[YourCompanyId]'
AND pd.MODIFIEDDATETIME >= '[StartDate]' 利用を開始する準備はできていますか?
このテンプレートを使うと、データ収集を効率化し、採用から退職までのポジション管理プロセスに関するインサイトを得られます。効率性とコンプライアンスの向上に向けて、今すぐ取り組みを始めましょう。
採用から退職までのポジション管理をすぐに最適化
プロセスのサイクルタイムを30%短縮し、ボトルネックを解消します。
クレジットカードは不要です。数分で設定できます。