这些最佳实践体现了由经验丰富的 Looker 跨职能团队分享的建议。这些见解源自我们与 Looker 客户合作的多年经验,从实施到长期成功,这些经验总结得出。这些做法适用于大多数用户和情况,但与往常一样,在实施本页面上分享的任何建议时,请运用您的最佳判断。
LookML Do
-
正确做法:为所有联接定义
relationship
参数。这将确保在 Looker 中正确汇总指标。默认情况下,对于未定义关系的任何联接,Looker 都会使用many_to_one
联接关系。如需详细了解如何正确定义relationship
参数,请参阅有关正确使用relationship
参数的最佳实践页面。 - 正确做法:在每个视图(包括派生表)中定义主键。所有视图(无论是派生的还是直接来自数据库的视图)都应包含一个主键。此主键应为唯一值,以便 Looker 能够唯一标识任何给定记录。此主键可以是单个列,也可以是列的串联,只需是表或派生表的唯一标识符。
-
正确做法:为维度、测量值和其他 LookML 对象命名,空格全部使用小写字母和下划线。
label
参数可用于设置名称字段的其他格式,还可用于自定义视图名称、探索名称和模型名称的外观。例如,在下面的 LookML 中,label
参数用于将标签 Number of 顾客评价分配给customer_count_distinct
测量。measure: customer_count_distinct { label: "Number of Customers" type: count_distinct sql: ${customer.id} ;; }
- 正确做法:使用数据组使永久性派生表 (PDT) 的生成保持一致,并探索通过底层 ETL 流程进行缓存。数据组还可用于触发信息中心或 Look 的传送,以确保向收件人发送最新数据。
LookML 错误做法
-
错误做法:使用
from
参数重命名探索中的视图。 请改用view_label
参数。如需详细了解from
和view_label
之间的区别,请参阅from
(适用于探索)参数文档页面。from
参数应主要用于以下情况:- 多态联接(多次联接同一表)
- 自联接(将表与自身联接)
- 将扩展视图的范围重新限定为原始视图名称
-
错误做法:在维度组名称中使用“日期”或“时间”一词。
Looker 会将每个时间范围附加到维度组名称的末尾。这意味着,名为
created_date
的维度组会生成名为created_date_date
、created_date_month
等的字段。只需使用created
作为维度组名称即可,因为这样会生成名为created_date
、created_month
等的字段。 - 错误做法:在联接中使用格式化的时间戳。 而是在任何日期或时间字段上使用原始时间范围选项进行联接。这样可避免在联接谓词中包含类型转换和时区转换。