process-mining
2024.10
true
UiPath logo, featuring letters U and I in white
Process Mining
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年11月11日

到期日期

简介

截止日期 ”仪表板显示有关是否符合截止日期的案例以及相关成本的信息。 可以预定义截止日期,以在流程中设置重要的阶段或活动截止日期。 截止日期 仪表板可用于分析流程中截止日期的各个方面。 使用此仪表板,可以检查流程中预定义的到期日期,例如付款截止日期或需要按时满足的 SLA。

截止日期可能具有与逾期截止日期相关联的成本。

配置截止日期

如果要使用“ 到期日期 ”仪表板来分析到期日期,则必须为应用程序模板定义到期日期。

如果您的应用程序模板有开箱即用的到期日期,则这些到期日期将显示在到期日期仪表板中。 在特定应用程序模板的文档中,您可以找到可用截止日期的概述。 “应用程序模板”页面包含指向所有可用应用程序模板的文档的链接。

如果到期日期仪表板中没有可用的数据,则需要使用数据转换在 models\5_business_logic\Due_dates_base.sql 文件中配置自己的到期日期。 您还可以在此处根据业务需求配置任何默认到期日期。
对于自定义流程,您还可以使用Due_dates_raw.csv文件上传截止日期。 请参阅自定义流程输入字段

在转换中添加业务逻辑

在最后一个转换步骤中,根据需要添加业务逻辑以进行数据分析。

到期日期表中的每条记录代表特定事件的一个到期日期。到期日期示例如下:

  • 付款事件的付款截止日期。
  • 批准事件的批准截止日期。
此表的必填字段为 Event_IDDue_dateActual_dateExpected_date


并非所有活动都有截止日期,有些活动可能有多个截止日期。

有关更多信息,请参阅数据转换

Providing due date configuration input using dbt seeds

您可以使用 dbt 种子文件提供其他输入数据,以用于“到期日期”仪表板中的计算。 应用程序模板的应用程序转换的 seed \ 文件夹包含一个 Due_dates_configuration_raw.csv 文件。 对于所有到期日期,您可以提供以下字段。

名称

类型

描述

Due_date文本到期日期的名称

Due_date_type文本截止日期类型。
Fixed_costs

布尔值

指示成本是固定的还是基于时间的。

成本

浮动

固定成本:成本金额。
可变成本:每个 TimeType_type的成本金额。

时间

整数

一个数字,指示在基于时间的成本情况下的时间量。
Time_type文本成本计算的时间段类型。 这可以是以下任何值: 小时分钟毫秒
下图显示了一个种子文件示例。
种子文件示例
请参阅转换

配置截止日期的 SQL 示例

以下是一些 SQL 示例,您可用于通过转换配置到期日期
注意:
以下 SQL 示例基于事件日志自定义流程应用程序模板,以及具有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_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

活动 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_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

Analyzing Due dates

Due dates dashboard

截止日期 ”仪表板使您能够分析流程中发生的截止日期。

请按照以下步骤显示“ 截止日期 ”仪表板。

  1. 在仪表板左侧的菜单中选择“ 截止日期 ”。

系统将显示“到期日期”仪表板。

下面概述了“ 到期日期 ”仪表板上的可用图表。

图表

描述

可用指标

Due dates details条形图,显示与基于所选指标的到期日期相关的详细信息。
案例数
总延迟时间
平均延迟天数
时间百分比
总成本*
平均成本*
延迟的历史记录历史记录图表,根据所选指标显示所选期间的到期日期信息。
总延迟时间
平均延迟天数
时间百分比
总成本*
平均成本*
差异分布一个分布图,显示与延迟天数相关的到期日期数。 
* 仅当使用Due_dates_configuration_raw.csv种子文件提供了“固定成本” 和“成本” 时,延迟 总成本和延迟 平均成本 才可用。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。