process-mining
2024.10
true
UiPath logo, featuring letters U and I in white
Process Mining
Automation CloudAutomation Cloud Public SectorAutomation SuiteStandalone
Last updated 2024年11月11日

转换

Folder structure

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

文件夹/文件

包含

dbt_packages\

pm_utils包及其宏。

logs\

运行 dbt时创建的日志。

macros\

自定义宏。

models\

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

models\schema\

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

seed

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

dbt_project.yml

dbt项目的设置。

请参见下图。



dbt_project.yml

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

日期/时间格式

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

数据转换

数据转换在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') }}引用它。 有关示例,请参见下图。


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

有关在查询中使用源表的更多信息,请参阅转换结构1. 输入。 有关更详细的信息,请参阅有关 来源 的 官方 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中的测试。 这样做是为了检查输入数据的格式是否正确。
注意: 编辑转换时,请确保相应地更新测试。 如果需要,可以删除测试。

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-2024 UiPath。保留所有权利。