process-mining
latest
false
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Process Mining

上次更新日期 2025年2月18日

Structure of transformations

概述

下图显示了Process Mining应用程序模板的转换步骤。


“数据转换” 的“转换” 部分中的models\ 文件夹是根据转换步骤的结构进行组织的。

1. 输入

输入步骤用于加载原始数据。 通常会执行以下操作,为下一个转换步骤准备数据:

  • 选择具有可选宏和必选宏的字段。 使用可选宏时,原始数据中不需要存在字段。
  • 将字段类型 转换为适当的数据类型。
  • 在转换的早期筛选 表以减少数据大小。

注意: 建议尽可能减少提取中已存在的数据大小。

命名约定

如果您预计名称会在接下来的转换步骤中与表格名称冲突,最佳实践是为输入表添加后缀_input

可选字段

连接器的输入包含必填数据和可选数据。 对于可选字段,应使用 pm-utils 包中的 optional 宏。 这可确保字段在源数据中不可用时获取值 null 。 这样,所有转换都将正常运行。
  • 如果整个表格都是可选的,请使用 optional_table() 宏。

2. 对象

在对象步骤中,输入表将转换为对象表。 预期事件所需的每个对象都应拥有自己的表格。 请参阅设计事件日志。 此外,支持对象也可在此处定义。

在以下示例中,3 个输入表Invoices_inputInvoice_types_inputCustomers_input联接在一起以创建对象表 Invoices。


准则

创建对象表时,请按照以下准则进行操作。

  • 有一个对象 ID 字段,对于每条数据记录,该字段都是唯一的。
  • 数据分析所需的所有对象字段都存在。
  • 所有对象字段都具有易于理解的名称。
如果适用,对象表会通过“ID”字段与另一个对象相关联。 在以下示例中,发票行通过Invoice_ID字段与发票对象相关联。


Additional transformations

并非所有输入表都会转换为对象表。 此外,其他输入表可能包含相关信息,例如示例中的 Customers 表。 您可以在“对象”步骤中方便地将其定义为单独的表格,以便在数据转换中重用。

命名约定

如果对象表名称稍后会导致名称冲突,请为表添加后缀 _base。

3. 事件

注意:事件日志自定义流程应用程序模板的输入已经是 Process Mining 定义良好的事件日志。 无需在此处将源系统中的数据转换为 Process Mining 的事件。 这意味着事件日志应用程序和自定义流程应用程序的转换中不存在3. events

在此转换步骤中,系统将为每个对象创建事件表。 请查看设计事件日志。 事件表中的每条记录都代表发生的一个事件。 关于数据的结构化方式,有两种情况:

  • 时间戳字段:对象表上具有事件时间戳的字段。 例如, Invoices表中的Invoice_created字段。
  • 事务日志:事件列表。

根据数据的结构,用于创建事件表的转换会有所不同。

Timestamp fields

在这种情况下,必须将时间戳字段的值转换为事件表中单独的记录。 以下示例是包含三个时间戳字段的发票表。



每个时间戳字段用于创建单独的事件表。 对于时间戳字段包含值的每条记录,请创建一个表格,其中包含发票 ID、事件名称(活动)和事件发生的时间戳(事件结束)。



Invoices_input table分为Invoice_events_Create_invoiceInvoice_events_Delete_invoiceInvoices_events_Change_invoice_price
然后,可以将每个对象的单独事件表合并为单个事件表,例如Invoices_events

事务日志

如果事件存储在事务日志中,则应标识每个对象的相关事件。 为每个对象创建一个表,并存储相应的对象 ID、事件(活动)名称和事件发生的时间戳(事件结束)。

在以下示例中,事务日志包含“采购订单”“发票”对象的事件。
事务日志和事件表

在事件表中,以下字段为必填字段。 事件表中的所有记录都应包含这些字段的值。

字段

描述

对象 ID

发生事件的对象的 ID。 例如,发票 ID

活动

活动描述了在对象上发生的操作。

Event end

“事件结束”字段指示特定事件的完成时间。 理想情况下,这应该是日期时间字段,而不是日期。

命名约定

根据[Activity] + _events命名表格,为每个活动创建一个事件文件,或[Object] + _events为每个对象创建一个事件文件。 例如Purchase_order_created_eventsPurchase_order_approved_events或包含所有采购订单活动的一个文件Purchase_order_events

4. 事件日志

单个对象流程

当流程包含一个对象时,此步骤中无需其他转换。 单个对象表和事件表的格式已经正确。

多个对象流程

当一个流程中涉及多个对象时,所有对象的事件都需要链接到流程中被视为“案例”的主对象。 有关详细信息,请参阅定义事件日志。 以下步骤描述了如何将所有事件与主对象相关联,以及如何将它们组合到一个事件日志中。

对象关系

创建“对象关系”表以集中所有对象之间的关系。 此对象关系表将包含相关对象的 ID 字段。

要创建对象关系表,请根据其 ID 字段联接所有对象表:

  • 从主要对象开始
  • 使用左联接将相关对象联接到主对象。
  • 如果对象与主对象不直接直接相关,则将其左联接到已联接到主对象的相关对象。

在以下示例中,存在三个对象:采购订单发票行发票采购订单被视为流程中的主要对象。 “发票”行直接链接到采购订单,而“发票”通过“发票”行间接链接到。





Object_relations as (
	select
		Purchase_orders."Purchase_order_ID"
		Invoice_lines.Invoice_line_ID
		"Invoices.Invoice_ID"
	from Purchase_orders
	left join Invoice_lines
		on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
	left join Invoices
		on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)Object_relations as (
	select
		Purchase_orders."Purchase_order_ID"
		Invoice_lines.Invoice_line_ID
		"Invoices.Invoice_ID"
	from Purchase_orders
	left join Invoice_lines
		on Purchase_orders."Purchase_order_ID" = "Invoice_lines."Purchase_order_ID"
	left join Invoices
		on Invoice_lines."Invoice_ID" = Invoices."Invoice_ID
)

以下示例显示了生成的对象关系表。



Relation tables

使用对象关系表中的合并信息,将主对象与每个其他对象之间的各个关系存储在单独的表中。

Relation_invoice_lines as (
	select
		Object_relations."Purchase_order_ID"
		Object_relations."Invoice_line_ID"
	from Object_relations
	group by "Purchase_order_ID", "Invoice_line_ID"
)Relation_invoice_lines as (
	select
		Object_relations."Purchase_order_ID"
		Object_relations."Invoice_line_ID"
	from Object_relations
	group by "Purchase_order_ID", "Invoice_line_ID"
)


Relation_invoices as (
	select
		Object_relations."Purchase_order_ID"
		Object_relations."Invoice_ID"
	from Object_relations
	group by "Purchase_order_ID", "Invoice_ID"
)Relation_invoices as (
	select
		Object_relations."Purchase_order_ID"
		Object_relations."Invoice_ID"
	from Object_relations
	group by "Purchase_order_ID", "Invoice_ID"
)


事件日志

下一步是使用这些关系向每个事件表添加相应的“案例 ID”。 “案例 ID”是通过关系表获取的,其中事件信息则从事件表中获取。 要创建完整的事件日志,需要合并每个对象的事件表。

Purchase_order_event_log as (
	select
		Purchase_order_events."Purchase_order_ID"
		Purchase_order_events."Activity"
		Purchase_order_events."Event_end"
	from Purchase_order_events
	union all
	select
		Relation_invoice_lines."Purchase_order_ID"
		Invoice_line_events."Activity"
		Invoice_line_events."Event_end"
	from Invoice_line_events
	inner join Relation_invoice_lines
		on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
	union all
	select
		Relation_invoices."Purchase_order_ID"
		Invoice_events. "Activity"
		Invoice_events. "Event_end"
	from Invoice_events
	inner join Relation_invoices
		on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)Purchase_order_event_log as (
	select
		Purchase_order_events."Purchase_order_ID"
		Purchase_order_events."Activity"
		Purchase_order_events."Event_end"
	from Purchase_order_events
	union all
	select
		Relation_invoice_lines."Purchase_order_ID"
		Invoice_line_events."Activity"
		Invoice_line_events."Event_end"
	from Invoice_line_events
	inner join Relation_invoice_lines
		on Invoice_line_events."Invoice_line_ID" = "Relation_invoice_lines."Invoice_line_ID"
	union all
	select
		Relation_invoices."Purchase_order_ID"
		Invoice_events. "Activity"
		Invoice_events. "Event_end"
	from Invoice_events
	inner join Relation_invoices
		on Invoice_events."Invoice_line_ID" = Relation_invoices."Invoice_line_ID"
)

命名约定

如果事件日志表名称可能导致日后出现名称冲突,请在事件日志表的名称中添加后缀_base

5. 业务逻辑

在最后一个转换步骤中,根据需要添加业务逻辑以进行数据分析。 可以在此处将其他派生字段添加到现有表格中。 例如,在仪表板的 KPI 中使用的特定吞吐量时间或布尔值字段。

在 Process Mining中,此转换步骤中定义了两个额外的标准表: TagsDue dates

标签

标签是对象的属性,表示某些业务规则。 通常会添加标签,以便轻松分析这些业务规则。 例如:

  • 由同一人支付和批准的发票。
  • 发票审批时间超过 10 天。
  • 已跳过检查发票活动。
标签表中的每条记录都代表数据中出现的一个特定案例的标签。 此表的必填字段为Object IDTag 。 并非所有对象都有标签,有些对象可能有多个标签。 下图显示了一个“标签”表示例。


备注:

数据模型中仅允许一张标签表。

到期日期

截止日期表示流程中的截止日期。 这些活动将添加到数据中,以分析活动是否在这些截止日期按时执行。

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

  • 付款截止日期。
  • 采购订单的批准截止日期。
此表的必填字段为 Object IDDue dateActual dateExpected date


备注:

数据模型中仅允许一个“到期日期”表。

此页面有帮助吗?

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