最佳实践:使用 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} ;;
          }
  • 正确做法:使用数据集来协调永久性派生表 (PDT) 的生成,并将探索缓存与底层 ETL 流程结合使用。数据集还可用于触发信息中心外观的传送,以确保向收件人发送最新数据。

请勿使用 LookML 执行此操作

  • 不建议:使用 from 参数重命名探索中的视图。

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

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

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