- 发行说明
- 在开始之前
- 入门指南
- 集成
- 使用流程应用程序
- 创建应用程序
- 正在加载数据
- 自定义流程应用程序
- 应用程序模板
- 其他资源
数据转换
从应用程序模板创建流程应用程序时,您需要确保流程应用程序中使用的数据以正确的方式反映您的业务流程。 通过 数据转换 ,您可以自定义用于 Process Mining的数据。
您可以使用数据转换在 Process Mining 中自定义转换,也可以在桌面上进行本地编辑,请参阅在本地环境中编辑数据转换
本页介绍如何在 Process Mining 中自定义数据转换。数据转换已集成在仪表板编辑器中。请参阅使用仪表板编辑器。
数据转换 使您能够:
-
为
group by
和筛选器添加新字段。例如,质量检查类型。 -
添加事件。 例如,“ 发票质量检查已完成”。
-
添加标签。例如,无法满足 SLA,违反四眼原则。
-
添加用于计算 KPI 的业务逻辑。例如,
Case_has_maverick_buying
。
-
选择“转换”以查看转换的结构并显示
.sql
文件。
有关转换结构的更多信息,请参见转换结构。
.sql
文件都会在数据模型中定义一个新表格。如果在“转换”面板中选择 .sql
文件,则“转换”中将显示 SQL 查询,并在“预览”面板中显示正在编辑的数据文件的预览。
编辑查询时,您可以在“预览”面板中看到上次运行查询的数据预览。
如果转换中有任何未保存的更改,则会启用“保存”按钮。选择“保存”以保存更改。转换的状态将设置为“最新”。
始终确保您的数据模型符合要求。 请参阅数据模型要求。
-
选择“数据模型”以查看流程应用程序的数据模型。
有关如何更改数据模型的更多信息,请参阅编辑和测试数据转换。
-
选择“ + 添加表格” 。 系统将显示“添加表格”对话框。
-
选择定义新输出表的表。
-
选择新表格的“主键”,然后选择“完成” 。
-
选择要与另一个表格相关的表格。
系统将显示“编辑表格”面板。
-
在“编辑表格” 面板中,选择“ + 新增” 以创建新关系。
-
从“键”列表中选择要在此表中使用的字段。
-
选择要连接的“表格”,然后从“键”列表中选择用于连接的字段。
-
选择“应用” 。
-
选择要更改密钥的表格。
系统将显示“编辑表格”面板。
-
在“编辑表格” 面板中,找到要更改键的关系。
-
选择要用作联接表的键的新字段。
-
选择“应用”。
日志级别 | 描述 |
数据运行状态 |
信息 |
“ Information ”消息包含有关数据运行进度的有用信息。 |
成功 |
Warning |
警告 是指数据中的潜在问题,该问题可能会影响已发布流程应用程序的图表上显示的内容。 建议解决所有警告,以防止将来出现任何潜在的问题。 |
成功 |
错误 | 错误 是指数据中的错误,导致流程应用程序无法加载数据或运行转换。
您必须解决所有错误才能成功运行数据运行。 |
失败 |
有关编辑数据转换的更多信息,请参阅下面列出的页面。
对于 2023.10.3 之前的版本, “运行全部”限制为 10 分钟。从 2023.10.4 开始, “运行全部”限制为 1 小时。 因此,强烈建议使用小型数据集来开发和测试数据转换,以确保您的转换不会超过此时间限制。 另请参阅: Process Mining 门户。
cases_input.sql
。“运行查询”命令将运行 cases_input.sql
和 cases.sql
,后者使用 cases_input.sql
的结果。
生成的数据仅在“数据转换”编辑器中可用,而在仪表板编辑器中不可用。
有两种类型的运行:
-
运行查询: 启动数据运行,重新计算所有修改后的查询及其依赖项。
-
运行文件: 启动运行以仅重新计算当前选定的 SQL 文件及其父查询。 此选项使您能够测试和调试对特定 SQL 文件的自定义。
您可以随时选择“取消运行”以取消转换运行。
“运行查询”通常比启动完整数据运行的“应用到仪表板”快得多。
运行查询不会影响已发布流程应用程序中的数据。
您可以在转换中创建新文件夹并添加新文件。
命名约定
-
对于文件、文件夹、字段和表格的名称:
-
只能使用小写 (az) 字符、大写 (AZ) 字符和数字 (0-9);
-
不能对文件、文件夹、字段和表格的名称使用特殊字符
|*:?"<>\/
。
-
-
对于文件名,您只能使用
_:.
作为特殊字符。 -
文件名不能以
_
(下划线)开头。
从转换菜单创建新的文件夹或文件
请按照以下步骤创建新的文件夹或文件。
步骤 |
操作 |
---|---|
1 |
导航到转换中要添加新文件或文件夹的位置。 |
2 |
转到“转换”面板,然后选择菜单图标以打开转换菜单。 |
3 |
从菜单中选择适用的选项。 |
4 |
输入新文件夹或文件的描述性名称,然后按“Enter”。 |
系统将在所选文件夹中创建新文件夹或文件。
从上下文菜单创建新文件夹或文件
请按照以下步骤从上下文菜单中创建新的文件夹或文件。
步骤 |
操作 |
---|---|
1 |
右键单击转换中要在其中添加新文件或文件夹的文件夹。 |
2 |
从菜单中选择适用的选项。 |
3 |
输入新文件夹或文件的描述性名称,然后按“Enter”。 |
未保存的文件更改
.sql
文件时,“转换”文件夹结构中会指示存在未保存的更改。
在上述示例中,“ models”->“5_business_logic”文件夹中的Tags.sql
文件存在未保存的更改。
请按照以下步骤创建新的文件夹或文件。
步骤 |
操作 |
---|---|
1 |
右键单击要重命名的文件夹或文件以打开上下文菜单。 |
2 |
选择“重命名” 。 |
3 |
根据需要编辑名称,然后按“Enter”。 |
文件夹或文件已重命名。
请按照以下步骤创建新的文件夹或文件。
步骤 |
操作 |
---|---|
1 |
右键单击要删除的文件夹或文件,打开上下文菜单。 |
2 |
选择“删除”。 系统会显示确认消息。 |
3 |
选择“删除”以确认删除。 |
{# ... #}
的 Jinja 注释语法。这也使您能够注释宏。
SQL
{# {{ pm_utils.optional(ref('Cases_base'), '"Case_status"') }} as "Case_status", #}
{# case
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 1000000
then {{ pm_utils.as_varchar('>= 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 0
then {{ pm_utils.as_varchar('0 - 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} is not null
then {{ pm_utils.as_varchar('< 0') }}
end as "Case_value_group", #}
{# {{ pm_utils.optional(ref('Cases_base'), '"Case_status"') }} as "Case_status", #}
{# case
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 1000000
then {{ pm_utils.as_varchar('>= 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} >= 0
then {{ pm_utils.as_varchar('0 - 1M') }}
when {{ pm_utils.optional(ref('Cases_base'), '"Case_value"', 'double') }} is not null
then {{ pm_utils.as_varchar('< 0') }}
end as "Case_value_group", #}
在“数据转换”编辑器中,您可以查找和替换单个文件中的文本。
查找文本
-
在代码编辑器中单击随机位置,或选择要在其他文本中搜索的文本。
-
按
CTRL+F
。 -
在“查找”字段中输入要搜索的测试。
当前文件中所有出现该文本的路径都将高亮显示。
-
选择
ENTER
可跳至下一个匹配项。
查找和替换
要在数据转换编辑器中查找文本,请执行以下操作:-
在代码编辑器中单击随机位置,或选择要在其他文本中搜索的文本。
-
按
CTRL+H
。 -
在“查找”字段中输入要搜索的测试,然后在“替换”字段中输入新测试。
当前文件中所有出现该文本的路径都将高亮显示。
-
选择
ENTER
以替换文本并跳到下一个匹配项。
-
单击代码编辑器。
-
按
CTRL+H
。 -
在“查找”字段中输入要搜索的测试,然后在“替换”字段中输入新测试。
当前文件中所有出现该文本的路径都将高亮显示。
-
按
Crtl+Alt+Enter
。
在多个文件中查找/替换
如果要在多个文件中查找/替换文本,则只能在外部编辑器中执行此操作。
请按照以下步骤在多个文件中查找/替换文本:
-
从流程应用程序导出转换。
备注:如果“数据转换”编辑器中有待定更改,请首先使用“应用到仪表板”,并在数据运行完成后导出转换。
-
解压缩转换文件。
-
在您喜欢的代码编辑器中打开转换,例如 Notepad++ 或 Visual Studio Code。
-
使用这些工具的功能查找或替换多个文件中的文本。
-
保存文件。
-
将转换文件添加到 .zip 文件。
-
在流程应用程序中导入转换。
当系统询问您将哪些数据用于数据运行时,如果要在执行新的数据运行之前继续编辑转换,请选择“取消”。
dbt_project.yml
。
vars
部分。不应更改 dbt_project.yml
的其他部分,以确保转换继续正常工作。
有关 dbt 的详细信息,请参阅官方 dbt 文档。
如果您的事件日志分为多个事件日志文件,则可以在数据转换中将事件日志合并为单个事件日志。
要合并多个事件日志, Case_ID应为所有文件指向同一对象。 例如,所有案例 ID 都指向销售订单 ID,这样Case_ID 就指向所有事件日志的同一张表。
-
基于事件日志应用程序模板创建一个新应用程序。 请参阅应用程序模板。
-
使用“ 选择数据源” 步骤中的“ 上传数据 ” 选项,然后选择要合并的事件日志文件。
-
继续执行“新建应用程序”向导,以创建应用程序并转换数据。
数据运行将失败,应用程序状态将显示为运行失败。
-
选择“查看日志”以查看日志文件。
系统将显示一条错误消息,指示未找到所需的Event_log_raw.sql
文件。 -
转到“数据转换”编辑器。
-
对于每个输入文件:
-
创建一个
.sql
文件,其内容与现有Event_log_input.sql
相同。 -
调整文件以选择所需的输入字段,并正确进行类型转换。
-
将新的源表名称添加至
sources.yml
。现在,所有新的输入文件都可以合并到一个事件日志中。
注意:确保输入文件都具有完全相同的字段集。
-
-
选择
Event_log_input.sql
文件,并将内容替换为:-- The following code merges 3 input tables. select * from {{ ref('Event_log_input_1') }} union all select * from {{ ref('Event_log_input_2') }} union all select * from {{ ref('Event_log_input_3') }}
-- The following code merges 3 input tables. select * from {{ ref('Event_log_input_1') }} union all select * from {{ ref('Event_log_input_2') }} union all select * from {{ ref('Event_log_input_3') }}注意:调整代码以匹配所需输入表的名称。 -
选择“应用到仪表板”以运行数据转换,并使生成的表格可在仪表板中使用。