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

Process Mining
自动化数据
您可以将 Process Mining 应用程序中的数据与 UiPath Platform 中运行的自动化中的数据连接起来。 这为您提供了通过 UiPath 监控的流程的端到端视图。
将自动化数据连接到流程数据时,您可以更详细地了解端到端流程。这样可以更深入地了解流程中发生的“人机回圈”操作。此外,它使您能够更好地了解自动化步骤和手动步骤之间以及系统步骤之间的延迟,并跟踪特定目标。
Process Mining 项目和自动化数据中都存在的对象信息(对象类型和对象 ID )用于将自动化数据连接到您的流程数据。
例如,您可以使用对象类型销售订单对象 ID SalesOrderID 作为连接 ID,将“采购到付款”流程的 Coupa 系统数据与用于发票处理流程(“采购到付款”流程的子流程)的自动化数据联接跨数据源。
假设您拥有利用流程跟踪服务的自动化数据,并且具有一个或多个与自动化中的任务相关联的业务对象。 有关更多信息,请参阅流程跟踪。
请按照以下步骤将自动化数据添加到输入数据中。
-
选择“添加数据” 图标
在“数据转换” 编辑器的“输入数据” 部分中的“自动化数据” 旁边,
“选择自动化业务流程”窗口将打开,显示可用的流程自动化。
备注:您也可以从“管理自动化数据”窗口中选择“添加数据” ,以打开“选择自动化业务流程”窗口。
-
选择要连接到Process Mining应用程序数据的一个或多个流程。
-
选择“配置”。
自动化数据已上传,并将以下表格添加到“输入数据” 部分的“自动化数据” 列表中:
-
Automation_events
-
Queue_items
-
Action_center_tasks
-
Automation_due_dates
选择“设置”图标以打开“管理自动化数据”窗口。
从自动化中排除表格
Automation_events
、 Queue_items
、 Action_center_tasks
和Automation_due_dates
表。
您可以选择要从输入中排除的表格。
设置自动化数据的日期范围
如果要为自动化设置有限或特定的时间范围,则可以指定定义该时间范围的开始日期和结束日期。 指定的时间范围适用于输入数据中的所有表格。
如果追踪在所选结束日期之后继续(或结束),则这仍可能包括时间范围之外的数据。这是因为时间范围限制适用于追踪的开始时间,而不是持续时间或结束时间。因此,在所选结束日期之后追踪生成的任何数据仍将包含在结果中。
刷新数据
为流程应用程序加载数据时,自动化数据会自动刷新。
您也可以从“管理自动化数据”窗口中刷新数据。请执行以下步骤。
-
选择“刷新数据” 。系统会显示确认消息。
-
选择“重新加载”以重新加载所有可用的自动化数据。
Automation_events
表存储自动化事件和相关的业务对象。
Automation_events
表的字段。
字段 |
类型 |
描述 |
| text |
追踪的唯一标识符。 |
| text | 流程的名称。 由用户在连接自动化数据时选择。 可以选择一个或多个追踪。 |
|
text | 事件的唯一标识符。 |
Parent_event_ID |
text |
父事件的
Event_ID 。
|
| text | 自动化事件的名称。 |
| text | 与自动化事件相关的业务对象标识符。 这由用户在自动化工作流中显式设置。 |
Object_type |
text | 业务对象类型。 例如,销售订单、发票或客户。 |
Object_interaction | text | 与事件相关的对象的信息。 例如,创建交互或批准。 |
Object_properties | text | 一个 JSON 值,存储与对象相关的所有属性 (键值对) 。 |
Automation_name | text |
记录自动化事件的作业的作业属性。如果是“等待作业”事件,则这是正在等待的作业的属性。 |
|
text | 机器人将执行的任务类型。 |
Job_source | text | 指示作业的启动位置。 |
Job_info | text | 作业的简短说明。 |
|
text | 自动化的版本。 |
Host_machine_name | text | 执行作业的计算机或服务器的名称。 |
Robot_name |
text | 执行作业的机器人的名称。 |
Robot_type |
text | 负责执行作业的机器人类型。 例如,“有人值守”、“无人值守”或“非生产”。 |
| text | 自动化事件标识符。当多个对象与事件相关时,一个事件可能会多次发生。 |
Queue_item_ID |
text | 队列项目与自动化事件相关时,队列项目的标识符。 |
|
text | 任务与自动化事件相关时的任务标识符。 |
Event_start | 时间戳 | 自动化事件开始的时间戳。 此选项始终可用。 |
Event_end | 时间戳 | 自动化事件结束的时间戳。这仅在事件完成时可用。 |
Queue_items
表存储与自动化事件相关的队列项目。
Queue_items
表的字段。
字段 | 类型 |
描述 |
|
text |
用于将队列项目链接到自动化事件的标识符。 |
|
text |
队列项目所属的队列名称。 |
|
timestamp |
队列项目可进行处理的日期和时间。 |
|
timestamp |
队列项目应完成的日期和时间。 |
|
timestamp |
队列项目添加到队列中的日期和时间。 |
|
timestamp |
开始处理队列项目的日期和时间。 |
|
timestamp |
队列项目完成的日期和时间。 |
|
duration/integer |
Start_processing 和End_processing 之间的毫秒数。
|
|
text |
指示无法成功完成或处理队列项目的原因。 |
|
text |
队列项目的进度指示。 |
|
text |
队列项目的唯一标识符。 |
|
integer |
如果队列项目最初失败,则系统将再次尝试队列项目的次数。 |
|
text |
负责验证队列项目是否已成功完成的用户。 |
|
text |
审核指示的队列项目的状态。 |
|
text |
处理队列项目的机器人的名称。 |
|
text |
队列中项目的优先级。 |
|
text |
正在处理时的队列项目状态。 |
|
text |
指示处理项目时是否发生错误。 |
|
text |
负责处理队列项目的机器人的类型。 例如,“有人值守”、“无人值守”或“非生产”。 |
|
boolean |
从处理状态派生的属性。 当处理状态为“新”或“正在进行”时,队列项目视为打开。 |
Action_center_tasks
表存储来自 Action Center 的与自动化事件相关的任务。
Action_center_tasks
表的字段。
字段 |
类型 |
描述 |
|
text |
用于将任务链接到自动化事件的标识符。 |
|
text |
任务的说明。 |
Catalog |
text | 完成工作流需要执行的任务列表。 |
|
text |
负责完成任务的用户或系统。 |
|
text |
完成该任务所需执行的活动或活动集。 |
Priority |
text | 工作流中任务的优先级。 |
Status |
text | 工作流中任务的实际状态。 |
Type |
text | 任务的分类。 |
|
timestamp |
任务的创建日期和时间。 |
|
timestamp |
上次分配任务的日期和时间。 |
|
timestamp |
完成任务的日期和时间。 |
Is_completed | boolean | 指示任务是否已完成。 |
|
integer |
基于创建时间戳和上次分配时间戳之间的差异的派生字段。 |
|
integer |
基于创建时间戳和完成时间戳之间的差异派生字段。 |
|
integer |
基于参与查看任务事件的用户数量的派生字段。 |
Automation_due_dates
表存储队列项目和任务的到期日期。
Automation_due_dates
表的字段。
字段 |
类型 |
描述 |
|
text |
仅包含到期日期与队列项目相关的值。 |
|
text |
仅包含截止日期与任务相关时的值。 |
|
text |
到期日期的名称:
<queue name> 、 <task type> 任务分配或<task type> 任务完成。
|
Due_date_status | text | 根据预期完成时间确定的任务状态指示。 |
Action_on_overdue | text | 任务逾期时要执行的操作。 仅在与任务相关的到期日期可用。 |
Actual_timestamp | 时间戳 | 队列项目或任务完成的日期和时间。 |
|
timestamp |
队列项目或任务应完成的日期和时间。 |
|
boolean |
指示是否在到期日期。 |
|
integer |
实际时间与预期时间之间的差异。 |
sources.yml
文件中。然后,您可以像引用任何其他输入表一样,在dbt
项目中引用这些源表。
sources.yml
文件中。
sources:
- name: sources
schema: "{{ var('schema_sources', target.schema) }}"
# Enabled quoting for databases, schemas, and identifiers where the sources are located.
quoting:
database: true
schema: true
identifier: true
tables:
- name: Automation_events
- name: Queue_items
- name: Action_center_tasks
- name: Automation_due_dates
sources:
- name: sources
schema: "{{ var('schema_sources', target.schema) }}"
# Enabled quoting for databases, schemas, and identifiers where the sources are located.
quoting:
database: true
schema: true
identifier: true
tables:
- name: Automation_events
- name: Queue_items
- name: Action_center_tasks
- name: Automation_due_dates
您可以使用以下代码来引用 dbt 项目中的表。
with Automation_events as (
select * from {{ source('sources', 'Automation_events') }}
),
Queue_items as (
select * from {{ source('sources', 'Queue_items') }}
),
Action_center_tasks as (
select * from {{ source('sources', 'Action_center_tasks') }}
),
Automation_due_dates as (
select * from {{ source('sources', 'Automation_due_dates') }}
),
with Automation_events as (
select * from {{ source('sources', 'Automation_events') }}
),
Queue_items as (
select * from {{ source('sources', 'Queue_items') }}
),
Action_center_tasks as (
select * from {{ source('sources', 'Action_center_tasks') }}
),
Automation_due_dates as (
select * from {{ source('sources', 'Automation_due_dates') }}
),
如果Process Mining转换涵盖多个业务对象,则可以将自动化中的事件添加到事件日志中。 在此场景中,您只需将自动化数据连接到流程应用程序,以更深入地了解流程的特定部分。
Sales order
对象。 您可以通过根据需要调整相关引用来使用其他对象。
请按照以下步骤将自动化添加到事件日志。
-
添加新的 SQL 文件
Sales_order_automation_events
。 -
复制以下 SQL 示例,在其中执行以下操作:
-
根据销售订单对象类型筛选
Automation_events
。 -
将
Object_ID
重命名为Sales_order_ID
,以标识这是一个销售订单事件。 -
使用
Task
中存储的值作为Activity
。 -
至少包含必填字段
Event_end
。with Automation_events as ( select * from {{ source('sources', 'Automation_events') }} ), Sales_order_automation_events as ( select Automation_events."Object_ID" as "Sales_order_ID", Automation_events."Task" as "Activity", Automation_events."Event_end", Automation_events."Event_ID", 'null' as "Parent_event_ID" from Automation_events where Automation_events."Object_type" = 'Sales order' ) select * from Sales_order_automation_events
with Automation_events as ( select * from {{ source('sources', 'Automation_events') }} ), Sales_order_automation_events as ( select Automation_events."Object_ID" as "Sales_order_ID", Automation_events."Task" as "Activity", Automation_events."Event_end", Automation_events."Event_ID", 'null' as "Parent_event_ID" from Automation_events where Automation_events."Object_type" = 'Sales order' ) select * from Sales_order_automation_events
-
-
将
Sales_order_automation_events
与 Process Mining 项目中定义的其他事件合并。备注:使用“自定义”或“事件日志”应用程序模板时,您的“Process Mining”项目仅跟踪一个感兴趣对象。 您可以直接将对象上的自动化事件与事件日志合并。
-
确保对合并的事件生成唯一的
Event_ID
,以确保事件日志中的事件标识符唯一。
-
-
验证您在Process Mining项目中定义的对象 ID 是否与自动化事件中的对象 ID 匹配。 相应地更新转换,以便将两个数据源中的事件连接到正确的对象。
在这种情况下,您可以从自动化数据中提取对象属性信息,以使用它来丰富流程应用程序中的仪表板。
Object_properties
字段存储在自动化中添加的业务对象的属性。此字段中的值是具有键值对的 JSON 格式。
{"Claim_number": 216, "Client": "Alex Smith"}
json()
函数提取各个属性。
json()
函数提取Claim_number
和Client
属性。
select
Automation_events."Object_ID",
{{ pm_utils.json('Automation_events."Object_properties"', 'Claim_number') }} as "Claim_number",
{{ pm_utils.json('Automation_events."Object_properties"', 'Client') }} as "Client",
from Automation_events
select
Automation_events."Object_ID",
{{ pm_utils.json('Automation_events."Object_properties"', 'Claim_number') }} as "Claim_number",
{{ pm_utils.json('Automation_events."Object_properties"', 'Client') }} as "Client",
from Automation_events
Queue_items
中。 使用此表格在Queue_item_ID
上联接自动化事件,以获取以下信息:
- 执行的优先级。
- 异常。
- 到期日期。
Priority
和Processing_exception_type
丰富自动化事件。
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Priority",
Queue_items."Processing_exception_type"
from Automation_events
left join Queue_items
on Automation_events."Queue_item_ID" = Queue_items."Queue_item_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Priority",
Queue_items."Processing_exception_type"
from Automation_events
left join Queue_items
on Automation_events."Queue_item_ID" = Queue_items."Queue_item_ID"
Automation_due_dates
表中。 一个队列项目至多有一个到期日期。 以下 SQL 代码显示了如何获取可用的到期日期信息。 select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Due_date",
Queue_items."Expected_timestamp",
Queue_items."Actual_timestamp"
from Automation_events
left join Automation_due_dates
on Automation_events."Queue_item_ID" = Automation_due_dates."Queue_item_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Queue_items."Due_date",
Queue_items."Expected_timestamp",
Queue_items."Actual_timestamp"
from Automation_events
left join Automation_due_dates
on Automation_events."Queue_item_ID" = Automation_due_dates."Queue_item_ID"
Tasks
中。 使用此表格在Task_ID
上联接自动化事件,以获取以下信息:
- 任务的受分配人。
- 任务的优先级
- 截止日期(任务 SLA)
Assignee
和Priority
丰富自动化事件。
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Action_center_tasks."Assignee",
Action_center_tasks."Priority"
from Automation_events
left join Action_center_tasks
on Automation_events."Event_ID" = Action_center_tasks."Action_center_tasks_ID"
select
Automation_events."Event_ID",
Automation_events."Object_ID",
Action_center_tasks."Assignee",
Action_center_tasks."Priority"
from Automation_events
left join Action_center_tasks
on Automation_events."Event_ID" = Action_center_tasks."Action_center_tasks_ID"
Automation_due_dates
表中。 一个任务可以与多个截止日期相关。您可以将截止日期应用于应分配任务和完成任务时。
Action_center_task_ID
上将Automation_events
与Action_center_tasks
不进行任何筛选地联接可能会导致重复。
以下 SQL 代码示例说明了如何通过仅考虑任务完成截止日期来用任务截止日期信息丰富自动化事件。
with Task_completion_due_dates as (
select * from Automation_due_dates
where pm_utils.charindex('task completion', '"Due_date"') > 0
)
select
Automation_events."Action_center_tasks_ID",
Automation_events."Object_ID",
Action_center_tasks."Due_date",
Action_center_tasks."Expected_timestamp",
Action_center_tasks."Actual_timestamp"
from Automation_events
left join Task_completion_due_dates
on Automation_events."Task_ID" = Task_completion_due_dates."Task_ID"
with Task_completion_due_dates as (
select * from Automation_due_dates
where pm_utils.charindex('task completion', '"Due_date"') > 0
)
select
Automation_events."Action_center_tasks_ID",
Automation_events."Object_ID",
Action_center_tasks."Due_date",
Action_center_tasks."Expected_timestamp",
Action_center_tasks."Actual_timestamp"
from Automation_events
left join Task_completion_due_dates
on Automation_events."Task_ID" = Task_completion_due_dates."Task_ID"