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

Process Mining

上次更新日期 2025年3月19日

转换

Folder structure

流程应用程序的转换包含一个dbt项目。 下表描述了dbt项目文件夹的内容。

文件夹/文件

包含

dbt_packages\

pm_utils包及其宏。

macros\

自定义宏的可选文件夹

models\

.sql文件,用于定义转换。

models\schema\

.yml文件,用于定义数据测试。

seed

.csv包含配置设置的文件。

dbt_project.yml

dbt项目的设置。

备注:

事件日志自定义流程应用程序模板具有简化的数据转换结构。 使用这些应用程序模板创建的流程应用程序不具有此文件夹结构。

dbt_project.yml

dbt_project.yml 文件包含用于定义转换的 dbt 项目的设置。 vars 部分包含转换中使用的变量。

日期/时间格式

每个应用程序模板都包含用于确定解析日期/时间数据的格式的变量。 如果输入数据的日期/时间格式与预期不同,则必须调整这些变量。

数据转换

数据转换在models\目录下的.sql文件中定义。数据转换组织在一组标准的子目录中。

有关详细信息,请查看转换结构

.sql文件以 Jinja SQL 编写,允许您在普通 SQL 查询中插入 Jinja 语句。 当 dbt 运行所有.sql文件时,每个.sql文件都会在数据库中生成一个新视图或新表。
通常, .sql文件具有以下结构: Select * from {{ ref('Table_A') }} Table_A

以下代码显示了一个 SQL 查询示例。

 select
    tableA."Field_1" as "Alias_1",
    tableA."Field_2",
    tableA."Field_3"
from {{ ref('tableA') }} as tableAselect
    tableA."Field_1" as "Alias_1",
    tableA."Field_2",
    tableA."Field_3"
from {{ ref('tableA') }} as tableA
备注:
在某些情况下,对于使用旧版应用程序模板创建的流程应用程序, .sql文件具有以下结构:
  1. With 语句:一个或多个 with 语句,用于包含所需的子表。

    • {{ ref(‘My_table) }}引用由另一个 .sql 文件定义的表 文件。
    • {{ source(var("schema_sources"), 'My_table') }}引用输入表。
  2. 主查询:定义新表的查询。
  3. 最终查询:通常在最后使用Select * from table等查询。 这样可以在调试时轻松进行子选择。
    SQL 查询示例

有关如何有效编写转换的更多提示,请参阅编写 SQL 的提示

Adding source tables

要将新的源表添加到dbt项目,它必须在models\schema\sources.yml中列出。 这样,其他模型就可以使用{{ source(var("schema_sources"), 'My_table') }}引用它。 下图显示了一个示例。


重要提示: 必须在sources.yml中列出每个新的源表。

有关在查询中使用源表的更多信息,请参阅转换结构1. 输入。 有关更详细信息,请参阅有关 来源的 官方 dbt 文档

Data output

数据转换必须输出相应应用程序所需的数据模型;每个预期的表格和字段都必须存在。

如果要向流程应用程序添加新字段,可以在转换中添加这些字段。

宏可以轻松地重用常见的 SQL 结构。 有关详细信息,请参阅有关 Jinja 宏的官方 dbt 文档

pm_utils

pm-utils包中包含一组通常在 Process Mining 转换中使用的宏。 有关pm_utils宏的更多信息,请查看ProcessMining-pm-utils
下图显示了调用pm_utils.optional()宏的 Jinja 代码示例。


种子

种子是csv文件,用于将数据表添加到转换。 有关详细信息,请参阅有关 Jinja 种子的官方 dbt 文档

Process Mining中,这通常用于在转换中轻松配置映射。

编辑种子文件后,通过选择“运行文件”“运行全部”来运行文件,以更新相应的数据表。

Activity configuration

当两个事件在相同时间戳发生时, activity_order将用作决定性因素。

使用 SQL 查询

您可以在数据转换中使用 SQL 查询来设置与活动相关的其他字段。以下代码显示了用于定义activity_order示例 SQL 查询。
 case
            when tableA."Activity" = 'ActivityA'
                then 1
            when tableA."Activity" = 'ActivityB'
                then 2
            when tableA."Activity" = 'ActivityC'
                then 3
            when tableA."Activity" = 'ActivityD'
                then 4
    end as "Activity_order"    case
            when tableA."Activity" = 'ActivityA'
                then 1
            when tableA."Activity" = 'ActivityB'
                then 2
            when tableA."Activity" = 'ActivityC'
                then 3
            when tableA."Activity" = 'ActivityD'
                then 4
    end as "Activity_order"
备注:
大多数应用程序模板都具有一些用于活动配置的预定义字段,您可以根据业务需求进行调整。对于没有这些预定义字段的流程应用程序,您可以使用activity_configuration.csv种子文件。

使用 Activity_configuration.csv 种子文件

activity_configuration.csv文件还可用于设置与活动相关的其他字段。 下图显示了一个activity_configuration.csv文件的示例。


备注:
activity_configuration.csv不能用于事件日志自定义流程应用程序模板。

测试

models\schema\文件夹包含一组用于定义测试的.yml文件。 这些将验证预期数据的结构和内容。 有关详细信息,请参阅有关测试的官方 dbt 文档
注意: 编辑转换时,请确保相应地更新测试。 如果需要,可以删除测试。

DBT 项目

数据转换用于将输入数据转换为适合Process Mining的数据。 Process Mining中的转换将写入dbt项目。

本页介绍dbt 。 有关更详细信息,请参阅官方 dbt 文档

pm-utils package

Process Mining应用程序模板附带一个名为pm_utilsdbt包。 此pm-utils包包含用于 Process Mining dbt项目的实用工具函数和宏。 有关pm_utils的更多信息,请参阅ProcessMining-pm-utils

更新用于应用程序模板的 pm-utils 版本

UiPath™ 通过添加新函数,持续改进 pm-utils 包。
当发布 pm-utils 包的新版本时,建议您更新转换中使用的版本,以确保使用 pm-utils 包的最新函数和宏。
您可以在 ProcessMining-pm-utils的 “版本”面板中找到 pm-utils 包的最新版本的版本号。
请按照以下步骤更新转换中的 pm-utils 版本。
  1. 下载pm-utils版本中的源代码 (zip)。
  2. 提取zip文件并将文件夹重命名为pm_utils
  3. 从内联的数据转换编辑器导出转换并提取文件。

  4. 将导出的转换中的pm_utils文件夹替换为新的pm_utils文件夹。

  5. 再次压缩转换的内容,并将其导入到数据转换编辑器中。

此页面有帮助吗?

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