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

Tips for writing SQL

简介

本页包含有关编写 SQL 转换的提示和技巧。

常规

  • 在并集中,字段的名称和顺序必须完全匹配。 可能需要在并集的各部分上创建空字段,以使所有字段与select语句对齐( null as `Field_X` 。 根据 SQL 方言,您可能需要使用null as "Field_X"
  • 为 SQL Server 编写 dbt 时,所有 Jinja 语句都将编译为 SQL 代码,无论它们是否在 SQL 注释中。 例如,在以下-- {{ ref('Table1') }}中,Jinja 将被编译为 SQL 代码。
  • 不要对数字进行四舍五入,这可能会导致不一致。 只要显示值需要,平台就会自动执行此操作。

转换结构

在 SQL 中,并非所有转换都可以在同一个表中计算。原因可能是无法在单个 SELECT 语句中表示聚合或属性。您可以为此创建支持表格。在数据库中创建支持表可让您在多个转换中使用该模型。如果不需要重用模型,也可以将支持转换添加为现有表中的预处理查询。

要区分支持转换和其他转换,可以将它们分组到单独的子目录中。

性能

要加快查询执行速度,请执行以下操作:

  • 在使用where子句也可以构建聚合并仅获取一条记录的情况下,请避免使用select distinct
  • 使用union all而不是union 。 使用union all可连接表格中的记录,而union可删除重复项。
  • 如果您正在处理大型数据集,则可以限制在开发期间使用的数据。
  • dbt 会将所有模型( 1_input目录中的模型除外)具体化为表格。 这是所有 Process Mining 连接器的默认设置。 有关更多信息,请参阅有关具体 dbt 文档。
  • 生成 ID 字段时,请使用 pm-utils中提供的id()宏。 示例可在 devkit-connector中找到。

SQL 样式指南

以下样式指南用于开发Process Mining应用程序模板。 为保持一致性和可读性,建议遵循这些准则。

  • 以小写形式编写 SQL 命令和函数。
  • selectfromwherejoin 等使用相同级别的缩进,以便更轻松地理解模型的结构。
    • 如果这样可以提高可读性,请在使用函数时使用缩进。例如,对 case 函数中的每个语句使用缩进。
  • 对表和字段使用一致的命名约定,以防止 SQL 错误指示数据库中不存在表或字段。 请遵守以下准则:

    • 表格和字段以大写字母开头。
    • 在表格和字段中的单独单词之间使用下划线 _
    • 所有字段都包含引号。
    • 表格没有引号。 与带引号的字段结合使用时,这可以提高可读性。
  • 所有字段均以其来源表作为前缀,以使模型更易于理解和扩展。
  • 用于分隔字段的逗号放置在行尾。
  • 当需要解释某些结构时,请使用内联注释。 完成此操作后,请确保注释增加了价值。
  • 为提高可读性和可维护性,请在查询的转换部分使用显式选择语句,并且不要使用select * 。 尤其是对于并集,使用select *可能会产生错误。
  • 简介
  • 常规
  • 转换结构
  • 性能
  • SQL 样式指南

此页面有帮助吗?

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