process-mining
2024.10
true
UiPath logo, featuring letters U and I in white

Process Mining

Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
最終更新日時 2024年12月18日

期限日

はじめに

[期限日] ダッシュボードには、期限を守ったケースまたは超過したケースに関する情報と、関連するコストが表示されます。プロセスにおける重要な段階やアクティビティの期限を設定するために、期限日を事前に定義しておくことができます。[期限日] ダッシュボードを使用すると、プロセス内の期限日をさまざまな観点から分析できます。このダッシュボードを使用することで、支払期限や、期限までに達成する必要のある SLA 項目など、プロセスで事前に定義された期限日について調べることができます。

期限日には、期限日を超過した場合のコストを関連付けることができます。

期限日を設定する

[期限日] ダッシュボードを使用して期限日を分析するには、アプリ テンプレートに期限日が定義されている必要があります。

アプリ テンプレートにすぐに使える期限日がある場合、その期限日が [期限日] ダッシュボードに表示されます。特定のアプリ テンプレートに関するドキュメントに、利用可能な期限日の概要が記述されています。[アプリ テンプレート] ページには、利用可能なすべてのアプリ テンプレートに関するドキュメントへのリンクがあります。

[期限日] ダッシュボードに利用可能なデータが無い場合は、データ変換を使用して models\5_business_logic\Due_dates_base.sql ファイル内に独自の期限日を設定する必要があります。ここでは、業務の必要性に応じて既定の期限日を設定することもできます。
カスタム プロセスでは、Due_dates_raw.csv ファイルを使用して期限日をアップロードすることもできます。「カスタム プロセスの入力フィールド」をご覧ください。

変換にビジネス ロジックを追加する

最後の変換手順では、データ分析に必要なビジネス ロジックが追加されます。

期限日テーブルの各レコードは、特定のイベントの 1 つの期限日を表します。期限日の例は次のとおりです。

  • 支払イベントの支払期限。
  • 承認イベントの承認期限。
このテーブルの必須フィールドは、Event_IDDue_dateActual_dateExpected_date です。


すべてのイベントに期限日が設定されているわけではありません。また、複数の期限日が設定されているイベントもあります。

詳しくは「データ変換」をご覧ください。

dbt シードを使用して期限日設定の入力を提供する

[期限日] ダッシュボードの計算に使用する追加の入力データは、dbt シード ファイルを使用して提供できます。アプリ テンプレートのアプリ変換の seeds\ フォルダーには、 Due_dates_configuration_raw.csv ファイルが含まれています。すべての期限日に対して、以下のフィールドを指定できます。

名前

入力

説明

Due_dateテキスト期限日の名前

.

Due_date_typeテキスト期限日の種類です。
Fixed_costs

Boolean

コストが固定か、時間ベースかを示します。

コスト

フローティング

固定コスト: コストの金額です。
変動コスト: Time および Type_type あたりのコストの金額です。

Time

Integer

時間ベースのコストの場合の時間を示す数値です。
Time_typeテキストコストを計算する期間の種類です。dayhourminutesecondmillisecond のいずれかの値を指定できます。
以下の図は、seeds ファイルの例を示しています。
seeds ファイルの例
詳しくは、「変換」をご覧ください。

期限日を設定する SQL の例

以下に、変換を使用して期限日を設定するために使用できる SQL の例をいくつか示します。
注意:
以下の SQL の例は、イベント ログカスタム プロセスのアプリ テンプレートをベースとし、Case_ID を持つケースを使用します。SQL の例を使用して Purchase-to-Pay アプリ テンプレートまたは Order-to-Cash アプリ テンプレートの期限日を定義する場合は、適切なエンティティと関連する内部 entity_ID を使用してください。Purchase-to-Pay の場合は、Purchase_order_item_end_to_end_events イベント ログ、Purchase_order_items エンティティ、および Purchase_order_item_ID_internalCase_ID として使用できます。Order-to-Cash の場合は、Sales_order_item_end_to_end_events イベント ログ、Sales_order_items エンティティ、および Sales_order_item_ID_internalCase_ID として使用できます。

Activity X done before date Y

この SQL コードは、アクティビティ 'X' の最後の発生が日付 'Y' より前に行われたケースを識別します。

with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

Cases_base as (
    select * from {{ ref('Cases_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done before Case date field Y
Activity_X_done_before_date_Y as (
    select
        Last_activity_X."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before Cases date field Y') }} as "Due_date",
        Last_activity_X."Event_end" as "Actual_date",
        Cases_base."Case_date_field_Y" as "Expected_date",
        Last_activity_X."Event_ID"
    from Last_activity_X
    inner join Cases_base
        on Last_activity_X."Case_ID" = Cases_base."Case_ID"
)

select * from Activity_X_done_before_date_Ywith Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

Cases_base as (
    select * from {{ ref('Cases_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done before Case date field Y
Activity_X_done_before_date_Y as (
    select
        Last_activity_X."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before Cases date field Y') }} as "Due_date",
        Last_activity_X."Event_end" as "Actual_date",
        Cases_base."Case_date_field_Y" as "Expected_date",
        Last_activity_X."Event_ID"
    from Last_activity_X
    inner join Cases_base
        on Last_activity_X."Case_ID" = Cases_base."Case_ID"
)

select * from Activity_X_done_before_date_Y

Activity X done within 5 days after activity Y

この SQL コードは、アクティビティ 'X' の最後の発生がアクティビティ 'Y' の最後の発生後 5 日以内に起きたケースを識別します。

with Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity Y of each case
Last_activity_Y as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'Y'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done at date of last Event Y + 5 days
Activity_X_done_within_5_days_after_activity_Y as (
    select
        Last_activity_Y."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before last activity Y + 5 days') }} as "Due_date",
        {{ pm_utils.dateadd('day', 5, 'Last_activity_Y."Event_end"') }} as "Expected_date",
        Last_activity_X."Event_end" as "Actual_date",
        Last_activity_Y."Event_ID" as "Event_ID"
    from Last_activity_Y
    inner join Last_activity_X
        on Last_activity_Y."Case_ID" = Last_activity_X."Case_ID"
)

select * from Activity_X_done_within_5_days_after_activity_Ywith Event_log_base as (
    select * from {{ ref('Event_log_base') }}
),

-- Last activity X of each case
Last_activity_X as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'X'
    group by Event_log_base."Case_ID"
),

-- Last activity Y of each case
Last_activity_Y as (
    select
        Event_log_base."Case_ID",
        max(Event_log_base."Event_end") as "Event_end",
        max(Event_log_base."Event_ID") as "Event_ID"
    from Event_log_base
    where Event_log_base."Activity" = 'Y'
    group by Event_log_base."Case_ID"
),

-- Last activity X should be done at date of last Event Y + 5 days
Activity_X_done_within_5_days_after_activity_Y as (
    select
        Last_activity_Y."Case_ID",
        {{ pm_utils.as_varchar('Last activity X before last activity Y + 5 days') }} as "Due_date",
        {{ pm_utils.dateadd('day', 5, 'Last_activity_Y."Event_end"') }} as "Expected_date",
        Last_activity_X."Event_end" as "Actual_date",
        Last_activity_Y."Event_ID" as "Event_ID"
    from Last_activity_Y
    inner join Last_activity_X
        on Last_activity_Y."Case_ID" = Last_activity_X."Case_ID"
)

select * from Activity_X_done_within_5_days_after_activity_Y

期限日を分析する

[期限日] ダッシュボード

[期限日] ダッシュボードを使用すると、プロセス内で発生する期限日を分析できます。

[期限日] ダッシュボードを表示するには、以下の手順に従います。

  1. ダッシュボードの左側にあるメニューで [期限日] を選択します。

[期限日] ダッシュボードが表示されます。

以下に、[期限日] ダッシュボードで利用可能なグラフの概要を示します。

グラフ

説明

利用可能なメトリック

期限日の詳細選択したメトリックに基づいて、期限日に関連する詳細を表示する棒グラフです。
ケース数
合計遅延時間
平均遅延時間
期限遵守の割合
合計コスト*
平均コスト*
遅延の履歴選択したメトリックに基づいて、選択した期間の期限日情報を表示する履歴グラフです。
合計遅延時間
平均遅延時間
期限遵守の割合
合計コスト*
平均コスト*
差異の分布遅延日数に関連する期限日の数を示す分布グラフです。 
* [Total cost late] および [Average cost late] は、Due_dates_configuration_raw.csv シード ファイルを使用して Fixed_costCost を入力した場合にのみ利用可能です。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.