关于 lookml-sets
面向 LookML 开发者的 Sets 指南,介绍如何将维度、度量和筛选器组织为可复用字段列表。Sets 可用于配置钻取字段、控制 Explore 中的字段可见性及排除字段。
主要功能
- 01定义可复用字段列表
- 02组合或排除其他 Set 中的字段
- 03设置度量的钻取字段
- 04控制 Explore 字段可见性
适用场景
- 01为度量配置点击后的明细字段
- 02限制用户在 Explore 字段选择器中的可见字段
- 03从 Explore 排除特定字段而不全局隐藏
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ looker-open-source/ looker-skills --skill lookml-sets安装后在 Claude Code 中输入/lookml-sets确认已加载。
详细介绍
LookML 集合
集合是在视图或模型中定义的字段(维度、度量和筛选器)可复用列表。它们主要用于将字段分组,以便用于下钻路径、Explore 字段可见性等用途。
语法
set: set_name {
fields: [field_name1, field_name2, view_name.field_name3, ...]
}
主要特性
- 可复用性:只需定义一次字段列表,即可在多个位置使用。
- 组合:
- 包含全部:
[set_name*]会包含另一个集合中的所有字段。 - 排除:
[-field_name]会排除指定字段。 - 外部引用:
view_name.set_name*引用另一个视图中的集合(请确保视图已联接)。
- 包含全部:
使用场景
1. 下钻字段(主要用途)
集合是定义用户点击度量值后所发生行为的标准方式。无需反复列出字段,只需定义一个集合并引用它即可。
view: orders {
# ... dimensions ...
set: order_details {
fields: [id, created_date, status, user.email]
}
measure: count {
type: count
drill_fields: [order_details*]
}
}
2. 控制 Explore 可见性(字段选择器)
你可以在 Explore 层级使用集合,明确指定用户可见的字段。这是精心整理 Explore 的最佳实践。
explore: orders {
fields: [ALL_FIELDS*] # Start with everything (default)
# OR
fields: [orders.order_details*, users.user_info*] # Allowlist specific sets
}
3. 排除字段
使用集合可从 Explore 中排除特定字段,而无需在视图层级隐藏这些字段(这样会全局隐藏它们)。
explore: orders {
fields: [ALL_FIELDS*, -users.password_hash]
}
最佳实践
1. detail 集合
理想情况下,每个视图都应有一个默认集合(通常命名为 detail 或 drill_set),其中包含从该视图下钻到记录时最相关的字段。
view: users {
dimension: id { primary_key: yes ... }
dimension: name { ... }
dimension: email { ... }
# Standard set for drilling
set: detail {
fields: [id, name, email]
}
}
2. 命名约定
- 集合名称使用
snake_case。 - 使用描述性名称,如
user_info、financial_metrics、drill_detail。
3. 避免视图集合中的跨视图依赖
虽然你可以在视图的集合中引用 other_view.field,但这会产生依赖关系。请确保每次使用该集合时,other_view 都已联接。
- 更好的做法:在视图内部定义集合(仅包含该视图自身的字段)。
- Explore 层级:在 Explore 层级组合不同视图中的集合(例如,
fields: [orders.detail*, users.detail*])。
4. 累积集合
你可以基于其他集合构建集合。
set: basic_info {
fields: [id, name]
}
set: extended_info {
fields: [basic_info*, email, created_date]
}
评论
支持 Markdown