process-mining
2022.10
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
UiPath logo, featuring letters U and I in white
Process Mining
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年10月17日

Editing transformations

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. 再次压缩转换的内容,并将其导入到数据转换编辑器中。

Folder structure

流程应用程序的转换包含一个 dbt 项目。 下面是 dbt 项目文件夹内容的说明。

文件夹/文件

包含

dbt_packages\

pm_utils包及其宏。

logs\

运行 dbt时创建的日志。

macros\

自定义宏。

models\

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

models\schema\

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

seed

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

dbt_project.yml

dbt项目的设置。

请参见下图。



数据转换

数据转换在models\目录的.sql文件中定义。 数据转换组织在一组标准的子目录中:
  • 1_input,
  • 2_entities,
  • 3_events,
  • 4_event_logs,
  • 5_business_logic

请参阅转换结构

.sql文件以 Jinja SQL 编写,允许您在普通 SQL 查询中插入 Jinja 语句。 当 dbt 运行所有.sql文件时,每个.sql文件都会在数据库中生成一个新视图或新表。
通常, .sql文件具有以下结构:
  1. With 语句:一个或多个 with 语句,用于包含所需的子表。

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

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

Adding source tables

要将新的源表添加到 dbt 项目,该表必须列在models\schema\sources.yml中。 这样,其他模型可以使用{{ source(var("schema_sources"), 'My_table_raw') }}引用它。 有关示例,请参见下图。


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

加载数据时,会将后缀 _raw 添加到源表的表名称中。 例如,名为 my_table 的表应称为 my_table_raw

有关更多详细信息,请参阅有关来源的 官方 dbt 文档

Data output

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

实际上,这意味着不应删除models\5_business_logic中的表。 此外,不应删除相应查询中的输出字段。

如果要向流程应用程序添加新字段,可以使用可用于流程应用程序的自定义字段。 将转换中的字段映射到自定义字段,以使其在输出中可用。 确保按照流程应用程序的数据模型中的说明在输出中命名自定义字段。

提示:
您可以使用 dbt docs 命令为 dbt 项目生成文档站点,并在默认浏览器中打开该站点。该文档站点还包含一个沿袭图,此图提供了一个实体关系图,以图形方式表示项目中每个数据表之间的沿袭。
有关详细信息,请参阅 dbt docs 上的官方 dbt 文档

宏使重用常见 SQL 结构变得容易。 有关详细信息,请参阅有关 Jinja 宏的 官方 dbt 文档

pm_utils

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


种子

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

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

编辑种子文件后,这些文件不会立即在数据库中自动更新。 要指示 dbt 将新的种子文件内容加载到数据库中,请运行

  • dbt seed - 仅更新种子文件表,或
  • dbt build - 还将运行所有模型和测试。
    注意: 如果种子文件最初没有数据记录,则数据库中的数据类型可能未正确设置。 要解决此问题,请调用run dbt seed --full-refresh 。 这还将更新数据库中的列集。

Activity configuration

activity_configuration.csv文件用于设置与活动相关的其他字段。 当两个事件在同一时间戳上发生时, activity_order将用作决胜局。 有关示例,请参见下图。


测试

models\schema\文件夹包含一组定义测试的.yml文件。 这些验证预期数据的结构和内容。 有关详细信息,请参阅有关测试的 官方 dbt 文档
Process Mining中运行转换时,仅对每次数据提取运行sources.yml中的测试。 这样做是为了检查输入数据的格式是否正确。
注意: 编辑转换时,请确保相应地更新测试。 如果需要,可以删除测试。

此页面有帮助吗?

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