- リリース ノート
- はじめる前に
- 基本情報
- Integrations
- プロセス アプリを使用する
- アプリを作成する
- データを読み込む
- プロセス アプリをカスタマイズする
- プロセス アプリをパブリッシュする
- アプリ テンプレート
- その他のリソース

Process Mining
期限日
The Due dates dashboard displays information regarding objects meeting or not meeting deadlines and the related costs. Due dates can be predefined to set a significant stage or activity deadline in processes. The Due dates dashboard can be used to analyze various aspects of due dates in the processes. Using this dashboard, predefined due dates in the process can be examined, such as a payment deadline or an SLA that needs to be met on time.
期限日には、期限日を超過した場合のコストを関連付けることができます。
[期限日] ダッシュボードを使用して期限日を分析するには、アプリ テンプレートに期限日が定義されている必要があります。
アプリ テンプレートにすぐに使える期限日がある場合、その期限日が [期限日] ダッシュボードに表示されます。特定のアプリ テンプレートに関するドキュメントに、利用可能な期限日の概要が記述されています。[アプリ テンプレート] ページには、利用可能なすべてのアプリ テンプレートに関するドキュメントへのリンクがあります。
models\5_business_logic\Due_dates_base.sql
ファイル内に独自の期限日を設定する必要があります。ここでは、業務の必要性に応じて既定の期限日を設定することもできます。
Due_dates_raw.csv
ファイルを使用して期限日をアップロードすることもできます。「カスタム プロセスの入力フィールド」をご覧ください。
最後の変換手順では、データ分析に必要なビジネス ロジックが追加されます。
期限日テーブルの各レコードは、特定のイベントの 1 つの期限日を表します。期限日の例は次のとおりです。
- 支払イベントの支払期限。
- 承認イベントの承認期限。
Event_ID
、Due_date
、Actual_date
、Expected_date
です。
すべてのイベントに期限日が設定されているわけではありません。また、複数の期限日が設定されているイベントもあります。
詳しくは「データ変換」をご覧ください。
[期限日] ダッシュボードの計算に使用する追加の入力データは、dbt シード ファイルを使用して提供できます。アプリ テンプレートのアプリ変換の seeds\ フォルダーには、 Due_dates_configuration_raw.csv ファイルが含まれています。すべての期限日に対して、以下のフィールドを指定できます。
名前 |
入力 |
説明 |
Due_date | テキスト | 期限日の名前
. |
Due_date_type | テキスト | 期限日の種類です。 |
Fixed_costs |
Boolean | コストが固定か、時間ベースかを示します。 |
コスト |
フローティング |
固定コスト: コストの金額です。
変動コスト: Time および Type_type あたりのコストの金額です。
|
Time |
Integer | 時間ベースのコストの場合の時間を示す数値です。 |
Time_type | テキスト | コストを計算する期間の種類です。day、hour、minute、second、millisecond のいずれかの値を指定できます。 |
Case_ID
. If you want to use the SQL examples to define Due dates for Purchase-to-Pay app templates or Order-to-Cash app templates, make sure to use the appropriate object and the related internal object_ID. For Purchase-to-Pay you can use the Purchase_order_item_end_to_end_events
event log, the Purchase_order_items
object and the Purchase_order_item_ID_internal
as Case_ID
. For Order-to-Cash you can use the Sales_order_item_end_to_end_events
event log, the Sales_order_items
object and the Sales_order_item_ID_internal
as Case_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_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_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_Y
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_Y
[期限日] ダッシュボードを使用すると、プロセス内で発生する期限日を分析できます。
[期限日] ダッシュボードを表示するには、以下の手順に従います。
-
ダッシュボードの左側にあるメニューで [期限日] を選択します。
[期限日] ダッシュボードが表示されます。
次の表で、[期限日] ダッシュボードで利用可能なグラフについて説明します。
グラフ |
説明 |
利用可能なメトリック |
期限日の詳細 | 選択したメトリックに基づいて、期限日に関連する詳細を表示する棒グラフです。 |
Number of objects
合計遅延時間
平均遅延時間
期限遵守の割合
合計コスト*
平均コスト*
|
遅延の履歴 | 選択したメトリックに基づいて、選択した期間の期限日情報を表示する履歴グラフです。 |
合計遅延時間
平均遅延時間
期限遵守の割合
合計コスト*
平均コスト*
|
差異の分布 | 遅延日数に関連する期限日の数を示す分布グラフです。 |