- 发行说明
 - 在开始之前
 - 入门指南
 - 集成
 - 使用流程应用程序
 - 创建应用程序
 - 正在加载数据
 - 自定义流程应用程序
 - 应用程序模板
 - 其他资源
 

Process Mining
“到期日期”仪表板显示有关是否满足截止日期的对象以及相关成本的信息。 可以预定义到期日期,以在流程中设置重要的阶段或活动截止日期。 到期日期仪表板可用于分析流程中到期日期的各个方面。 使用此仪表板,可以检查流程中预定义的到期日期,例如付款截止日期或需要按时满足的 SLA。
截止日期可能具有与逾期截止日期相关联的成本。
有关“购买到付款”应用程序模板和“订单到现金”应用程序模板的开箱即用到期日期的更多信息,请查看开箱即用标签和到期日期。
有关如何在数据转换中配置截止日期的更多信息,请查看配置截止日期。
如果要使用“ 到期日期 ”仪表板来分析到期日期,则必须为应用程序模板定义到期日期。
如果您的应用程序模板有开箱即用的到期日期,则这些到期日期将显示在到期日期仪表板中。 在特定应用程序模板的文档中,您可以找到可用截止日期的概述。 “应用程序模板”页面包含指向所有可用应用程序模板的文档的链接。
models\5_business_logic\Due_dates_base.sql 文件中配置自己的到期日期。 您还可以在此处根据业务需求配置任何默认到期日期。
               Due_dates_raw.csv文件上传到期日期。 请查看自定义流程输入字段。
               在转换中添加业务逻辑
在最后一个转换步骤中,根据需要添加业务逻辑以进行数据分析。
到期日期表中的每条记录代表特定对象的一个到期日期。 到期日期示例如下:
- 付款对象的付款截止日期。
 - 采购申请的批准截止日期。
 
Event_ID、Due_date、Actual_date 和 Expected_date。
                  并非所有活动都有截止日期,有些活动可能有多个截止日期。
有关更多信息,请参阅数据转换。
Providing due date configuration input using dbt seeds
您可以使用 dbt 种子文件提供其他输入数据,以用于“到期日期”仪表板中的计算。 应用程序模板的应用程序转换的 seed \ 文件夹包含一个 Due_dates_configuration_raw.csv 文件。 对于所有到期日期,您可以提供以下字段。
| 
                                     名称  | 
                                     类型  | 
                                     描述  | 
| Due_date | 文本 | 到期日期的名称
                                     。  | 
| Due_date_type | 文本 | 截止日期类型。 | 
| Fixed_costs | 
                                     布尔值  | 指示成本是固定的还是基于时间的。 | 
| 
                                     成本  | 
                                     浮动  | 
                                     固定成本:成本金额。 
                                    可变成本:每个 Time 和 Type_type的成本金额。
                                     
                                  | 
| 
                                     时间  | 
                                     整数  | 一个数字,指示在基于时间的成本情况下的时间量。 | 
| Time_type | 文本 | 成本计算的时间段类型。 这可以是以下任何值: 天、 小时、 分钟、 秒、 毫秒。 | 
配置截止日期的 SQL 示例
Case_ID 。 如果要使用 SQL 示例来为“采购到付款”应用程序模板或“订单到现金”应用程序模板定义到期日期,请确保使用适当的对象和相关的内部 object_ID。 对于“购买到付款”,您可以使用Purchase_order_item_end_to_end_events事件日志、 Purchase_order_items对象和Purchase_order_item_ID_internal作为Case_ID 。 对于订单到收款,您可以使用Sales_order_item_end_to_end_events事件日志、 Sales_order_items对象,并将Sales_order_item_ID_internal用作Case_ID 。
                        以下代码块显示了用于定义到期日期的 SQL 查询示例。
select
    tableA."Case_ID",
    {{ pm_utils.as_varchar('Name of Due date') }} as "Due_date",
    tableB."SLA_date" as "Expected_date",
     tableA."Executed_date" as "Actual_date"
from {{ ref('tableA') }} as tableA
left join {{ ref('tableB') }} as tableB
on tableA."Case_ID" = tableB."Case_ID"select
    tableA."Case_ID",
    {{ pm_utils.as_varchar('Name of Due date') }} as "Due_date",
    tableB."SLA_date" as "Expected_date",
     tableA."Executed_date" as "Actual_date"
from {{ ref('tableA') }} as tableA
left join {{ ref('tableB') }} as tableB
on tableA."Case_ID" = tableB."Case_ID"以下代码块显示了用于配置截止日期的 SQL 查询示例。
select
        Due_dates_base."Case_ID",
        Due_dates_base."Due_date",
        Due_dates_base."Actual_date",
        Due_dates_base."Expected_date",
        {{ pm_utils.as_varchar('Type of Due date') }} as "Due_date_type",
        case
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_boolean('true') }}
            else {{ pm_utils.to_boolean('false') }}
        end as "On_time",
        case
            -- when actual or expected date are null
            when Due_dates_base."Actual_date" is null or Due_dates_base."Expected_date" is null
                then {{ pm_utils.to_double('null') }}
            -- when the due date is on time, the cost is 0
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_double('0') }}
            -- when the due date is late, configure a cost
            when Due_dates_base."Expected_date" > Due_dates_base."Actual_date"
                then {{ pm_utils.to_double('10') }}
        end as "Cost",
        {{ pm_utils.datediff('millisecond', 'Due_dates_base."Expected_date"', 'Due_dates_base."Actual_date"') }} as "Difference"
    from Due_dates_baseselect
        Due_dates_base."Case_ID",
        Due_dates_base."Due_date",
        Due_dates_base."Actual_date",
        Due_dates_base."Expected_date",
        {{ pm_utils.as_varchar('Type of Due date') }} as "Due_date_type",
        case
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_boolean('true') }}
            else {{ pm_utils.to_boolean('false') }}
        end as "On_time",
        case
            -- when actual or expected date are null
            when Due_dates_base."Actual_date" is null or Due_dates_base."Expected_date" is null
                then {{ pm_utils.to_double('null') }}
            -- when the due date is on time, the cost is 0
            when Due_dates_base."Actual_date" <= Due_dates_base."Expected_date"
                then {{ pm_utils.to_double('0') }}
            -- when the due date is late, configure a cost
            when Due_dates_base."Expected_date" > Due_dates_base."Actual_date"
                then {{ pm_utils.to_double('10') }}
        end as "Cost",
        {{ pm_utils.datediff('millisecond', 'Due_dates_base."Expected_date"', 'Due_dates_base."Actual_date"') }} as "Difference"
    from Due_dates_base活动 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
Due dates dashboard
“ 截止日期 ”仪表板使您能够分析流程中发生的截止日期。
请按照以下步骤显示“ 截止日期 ”仪表板。
- 
                        
在仪表板左侧的菜单中选择“ 截止日期 ”。
 
系统将显示“到期日期”仪表板。
下表描述了“到期日期”仪表板上的可用图表。
| 
                                     图表  | 
                                     描述  | 
                                     可用指标  | 
| Due dates details | 条形图,显示与基于所选指标的到期日期相关的详细信息。 | 
                                     对象数 
                                    总延迟时间 
                                    平均延迟天数 
                                    时间百分比 
                                    总成本* 
                                    平均成本* 
                                  | 
| 延迟的历史记录 | 历史记录图表,根据所选指标显示所选期间的到期日期信息。 | 
                                     总延迟时间 
                                    平均延迟天数 
                                    时间百分比 
                                    总成本* 
                                    平均成本* 
                                  | 
| 差异分布 | 一个分布图,显示与延迟天数相关的到期日期数。 | 
“概述”选项卡
“概述”选项卡上的图表会高亮显示为流程定义的到期日期。系统将显示每个到期日期的案例(延迟案例)数量和所选时间段内延迟的总时间。
Details tab
“ 详细信息 ” 选项卡包含多个图表,使您能够更详细地分析延迟的活动。 请参见下图。
| 
                                        图表  | 
                                        描述  | 
                                        可用指标  | 
| 可能节省 | 饼图,显示在数据集中定义的截止日期内可能节省的时间。 | 
                                        总延迟时间 
                                       平均延迟天数 
                                       总成本* 
                                       平均成本* 
                                     | 
| 延迟的历史记录 | 历史记录图表,根据所选指标显示所选期间的到期日期信息。 | 
                                        总延迟时间 
                                       平均延迟天数 
                                       时间百分比 
                                       总成本* 
                                       平均成本* 
                                     | 
| Due dates details | 条形图,显示与基于所选指标的到期日期相关的详细信息。 | 
                                        案例数 
                                       总延迟时间 
                                       平均延迟天数 
                                       时间百分比 
                                       总成本* 
                                       平均成本* 
                                     | 
| 差异分布 | 一个分布图,显示与延迟天数相关的到期日期数。 | 
Due dates details
The Due dates details chart enables you to view detailed due dates information based on different metrics and fields. You can select the following fields.
| 
                                           字段  | 
                                           描述  | 
| 到期日期 | 到期日的名称。 | 
| 截止日期类型* | 到期日期的类型。 | 
| 成本* | 与到期日期相关的成本。 | 
| 预期日期 | 预计执行活动的日期。 | 
| 实际日期 | 活动实际执行的日期。 | 
| On time | 准时 或 迟到的活动。 
                                           备注: 延迟 活动是指 实际日期 晚于 预期日期的活动。
                                           
                                          
                                        | 
| 差异 | 预期日期 和 实际日期之间的时间量。 |