这些最佳实践反映了由经验丰富的 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
参数。如需详细了解from
和view_label
之间的区别,请参阅from
(适用于探索)参数文档页面。from
参数应主要在以下情况下使用:- 多态联接(多次联接同一表)
- 自联接(将表与自身联接)
- 将扩展视图的范围重新调整回其原始视图名称
-
不建议:在维度组名称中使用“日期”或“时间”字样。
Looker 会将每个时间范围附加到维度组名称的末尾。这意味着,名为
created_date
的维度组会生成名为created_date_date
、created_date_month
等的字段。只需将created
用作维度组名称,因为这会生成名称为created_date
、created_month
等的字段。 - 错误做法:在联接中使用格式化的时间戳。 请改用原始时间范围选项,以便按任何日期或时间字段进行联接。这样可以避免在联接谓词中包含类型转换和时区转换。