- 发行说明
- 在开始之前
- 入门指南
- 管理访问权限
- 使用流程应用程序
- 创建流程应用程序
- 正在加载数据
- 自定义流程应用程序
- 数据转换
- TemplateOne 应用程序模板
- “购买到付款”应用程序模板
- “订单到现金”应用模板
- 基本故障排除指南
DBT 项目
数据转换用于将输入数据转换为适合Process Mining 的数据 。Process Mining中的转换将写入dbt项目。
本页介绍了dbt 。有关更详细信息,请参阅官方 dbt 文档。
pm-utils package
Process Mining应用程序模板附带一个名为pm_utils的dbt包。此pm-utils包包含用于 Process Mining dbt项目的实用工具函数和宏。有关pm_utils的更多信息,请参阅ProcessMining-pm-utils 。
更新用于应用程序模板的 pm-utils 版本
UiPath™通过添加新函数,不断改进pm-utils包。
当发布 pm-utils 包的新版本时,建议您更新转换中使用的版本,以确保使用 pm-utils 包的最新函数和宏。
您可以在pm-utils ProcessMining-pm-utils 的“版本” 面板中找到 包最新版的版本号。
请按照以下步骤更新转换中的 pm-utils 版本。
- 下载
pm-utils版本中的源代码 (zip)。 - 提取
zip文件并将文件夹重命名为pm_utils 。 - 从内联数据转换编辑器导出转换并提取文件。
- 将导出转换中的pm_utils文件夹替换为新的pm_utils文件夹。
- 再次压缩转换的内容,然后将其导入到数据转换编辑器中。
文件夹结构
The transformations of a process app consist of a dbt project. Below is a description of the contents of a dbt project folder.
| 文件夹/文件 | 包含 |
|---|---|
dbt_packages\ | pm_utils包及其宏。 |
logs\ | logs created when running dbt. |
macros\ | 自定义宏。 |
models\ | .sql 定义转换的文件。 |
models\schema\ | .yml 定义数据测试的文件。 |
seed | .csv 具有配置设置的 .csv 文件。 |
dbt_project.yml | dbt项目的设置。 |
请参见下图。
数据转换
数据转换在models\目录的.sql文件中定义。 数据转换组织在一组标准的子目录中:
1_input,2_objects,3_events,4_event_logs,5_business_logic。
查看转换结构。
The .sql files are written in Jinja SQL, which allows you to insert Jinja statements inside plain SQL queries. When dbt runs all .sql files, each .sql file results in a new view or table in the database.
通常, .sql文件具有以下结构:
-
“With”语句:一个或多个包含所需子表的“with”语句。
{{ ref(‘My_table) }}引用由另一个 .sql 文件定义的表 文件。{{ source(var("schema_sources"), 'My_table') }}引用输入表。
-
主查询(主查询) :定义新表格的查询。
-
最终查询(一) :通常在末尾使用
Select * from table等查询。这样可以轻松地在调试时进行子选择。
有关如何有效编写转换的更多提示,请参阅“编写 SQL 的提示”
添加源表格
To add a new source table to the dbt project, it must be listed in models\schema\sources.yml. This way, other models can refer to it by using {{ source(var("schema_sources"), 'My_table_raw') }}. See the illustration below for an example.
Each new source table must be listed in sources.yml.
加载数据时,系统会将后缀 _raw 添加到源表的表格名称中。例如,名为 my_table 的表应引用为 my_table_raw。
有关更多详细信息,请参阅有关 来源的 官方 dbt 文档 。
数据输出
数据转换必须输出相应应用程序所需的数据模型;每个预期的表格和字段都必须存在。
实际上,这意味着不应删除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”中,这通常用于简化在转换中配置映射。
After editing seed files, these files are not automatically updated in the database immediately. To instruct dbt to load the new seed file contents into the database, run either
-
dbt seed- 仅更新种子文件表,或 -
dbt build- 还将运行所有模型和测试。备注:If the seed file had no data records initially, the data types in the database might not have been set correctly. To fix this, call
run dbt seed --full-refresh. This will also update the set of columns in the database.
Activity configuration
activity_configuration.csv文件用于设置与活动相关的其他字段。 当两个事件在相同时间戳发生时, activity_order将用作决定性因素。 下图显示了一个activity_configuration.csv文件的示例。
测试
models\schema\文件夹包含一组定义测试的.yml文件。这些将验证预期数据的结构和内容。有关详细信息,请参阅有关测试的官方 dbt 文档。
在Process Mining中运行转换时,仅对每次数据提取运行sources.yml中的测试。这样做是为了检查输入数据的格式是否正确。
When you edit transformations, make sure to update the tests accordingly. The tests can be removed if desired.