最佳实践:LookML 注意事项

这些最佳实践反映了由经验丰富的 Looker 组成的跨职能团队分享的建议。这些数据洞见来自多年与 Looker 客户合作的丰富经验,包括从实施到取得长期成功。这些做法适用于大多数用户和情况,但与往常一样,在实施本页面中分享的任何建议时,请根据您的判断力做出决定。

LookML 正确做法

  • 正确做法:为所有联接定义 relationship 参数。

    这将确保指标在 Looker 中正确汇总。默认情况下,对于未定义关联的任何联接,Looker 都会使用 many_to_one 联接关系。如需详细了解如何正确定义 relationship 参数,请参阅正确获取 relationship 参数的“最佳实践”页面。
  • 正确做法:在每个视图(包括派生表)中定义一个主键

    所有视图(无论是派生视图还是直接来自数据库的视图)都应包含主键。此主键应该是唯一值,以使 Looker 能够对任何给定记录进行唯一标识。此主键可以是单个列或列串联,只需是表或派生表的唯一标识符即可。
  • 正确做法:为维度测量值和其他 LookML 对象命名时,请使用全小写字母,并使用下划线代替空格。

    label 参数可用于对名称字段进行额外格式设置,还可用于自定义视图名称探索名称模型名称的外观。例如,在以下 LookML 中,label 参数用于将标签客户数量分配给 customer_count_distinct 度量。
          measure: customer_count_distinct {
            label: "Number of Customers"
            type: count_distinct
            sql: ${customer.id} ;;
          }
  • 正确做法:使用 datagroups 调整永久性派生表 (PDT) 的生成,并探索使用底层 ETL 流程进行缓存。数据集还可用于触发信息中心外观的传送,以确保向收件人发送最新数据。

LookML 中的禁忌做法

  • 错误做法:使用 from 参数重命名“探索”中的视图。

    请改用 view_label 参数。如需详细了解 fromview_label 之间的区别,请参阅 from(适用于探索)参数文档页面。from 参数应主要在以下情况下使用:
    • 多态联接(多次联接同一表)
    • 自联接(将表与自身联接)
    • 将扩展视图的范围重新调整回其原始视图名称
  • 不建议:在维度组名称中使用“日期”或“时间”字样。

    Looker 会将每个时间范围附加到维度组名称的末尾。这意味着,名为 created_date 的维度组会生成名为 created_date_datecreated_date_month 等的字段。只需将 created 用作维度组名称,因为这会生成名称为 created_datecreated_month 等的字段。
  • 错误做法:在联接中使用格式化的时间戳。

    请改用原始时间范围选项,以便按任何日期或时间字段进行联接。这样可以避免在联接谓词中包含类型转换和时区转换。