- 发行说明
- 在开始之前
- 入门指南
- 集成
- 使用流程应用程序
- 创建应用程序
- 正在加载数据
- 自定义流程应用程序
- 发布流程应用程序
- 应用程序模板
- 其他资源
Process Mining
到期日期
“ 截止日期 ”仪表板显示有关是否符合截止日期的案例以及相关成本的信息。 可以预定义截止日期,以在流程中设置重要的阶段或活动截止日期。 截止日期 仪表板可用于分析流程中截止日期的各个方面。 使用此仪表板,可以检查流程中预定义的到期日期,例如付款截止日期或需要按时满足的 SLA。
截止日期可能具有与逾期截止日期相关联的成本。
如果要使用“ 到期日期 ”仪表板来分析到期日期,则必须为应用程序模板定义到期日期。
如果您的应用程序模板有开箱即用的到期日期,则这些到期日期将显示在到期日期仪表板中。 在特定应用程序模板的文档中,您可以找到可用截止日期的概述。 “应用程序模板”页面包含指向所有可用应用程序模板的文档的链接。
models\5_business_logic\Due_dates_base.sql
文件中配置自己的到期日期。 您还可以在此处根据业务需求配置任何默认到期日期。
Due_dates_raw.csv
文件上传截止日期。 请参阅自定义流程输入字段。
在最后一个转换步骤中,根据需要添加业务逻辑以进行数据分析。
到期日期表中的每条记录代表特定事件的一个到期日期。到期日期示例如下:
- 付款事件的付款截止日期。
- 批准事件的批准截止日期。
Event_ID
、Due_date
、Actual_date
和 Expected_date
。
并非所有活动都有截止日期,有些活动可能有多个截止日期。
有关更多信息,请参阅数据转换。
您可以使用 dbt 种子文件提供其他输入数据,以用于“到期日期”仪表板中的计算。 应用程序模板的应用程序转换的 seed \ 文件夹包含一个 Due_dates_configuration_raw.csv 文件。 对于所有到期日期,您可以提供以下字段。
名称 |
类型 |
描述 |
Due_date | 文本 | 到期日期的名称
。 |
Due_date_type | 文本 | 截止日期类型。 |
Fixed_costs |
布尔值 | 指示成本是固定的还是基于时间的。 |
成本 |
浮动 |
固定成本:成本金额。
可变成本:每个 Time 和 Type_type的成本金额。
|
时间 |
整数 | 一个数字,指示在基于时间的成本情况下的时间量。 |
Time_type | 文本 | 成本计算的时间段类型。 这可以是以下任何值: 天、 小时、 分钟、 秒、 毫秒。 |
Case_ID
的用例。 如果要使用 SQL 示例为“采购到付款”应用程序模板或“订单到现金”应用程序模板定义到期日期,请确保使用适当的实体和相关的内部“entity_ID”。 对于购买到付款,您可以将Purchase_order_item_end_to_end_events
事件日志、 Purchase_order_items
实体和Purchase_order_item_ID_internal
用作Case_ID
。 对于Order-to-Cash ,您可以将Sales_order_item_end_to_end_events
事件日志、 Sales_order_items
实体和Sales_order_item_ID_internal
用作Case_ID
。
活动 X 在日期 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
活动 X 在活动 Y 后 5 天内完成
此 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
“ 截止日期 ”仪表板使您能够分析流程中发生的截止日期。
请按照以下步骤显示“ 截止日期 ”仪表板。
-
在仪表板左侧的菜单中选择“ 截止日期 ”。
系统将显示“到期日期”仪表板。
下面概述了“ 到期日期 ”仪表板上的可用图表。
图表 |
描述 |
可用指标 |
Due dates details | 条形图,显示与基于所选指标的到期日期相关的详细信息。 |
案例数
总延迟时间
平均延迟天数
时间百分比
总成本*
平均成本*
|
延迟的历史记录 | 历史记录图表,根据所选指标显示所选期间的到期日期信息。 |
总延迟时间
平均延迟天数
时间百分比
总成本*
平均成本*
|
差异分布 | 一个分布图,显示与延迟天数相关的到期日期数。 |