借助 Looker IDE 中的对象浏览器面板,您可以在一个位置查看项目中的所有对象,以及这些对象之间的层次关系。这可以作为一种实用替代方案,让您无需按文件或文件夹浏览项目。
查看项目中的对象
对象浏览器面板会显示项目中定义的模型、探索、视图和字段,以及对象的层次结构和每个对象的类型。如果您的项目还包含导入的文件,您可以在本页稍后部分详细了解如何查看这些对象。
如需使用对象浏览器面板,请点击 IDE 导航栏中的对象浏览器图标
。对象浏览器面板按类型对对象进行分组,并且每种类型中的对象按字母顺序排序。使用对象浏览器面板,您可以通过展开或收起对象来显示或隐藏对象的层次结构。
您可以收起和展开模型、Explore 和视图,以显示或隐藏它们包含的对象。在对象浏览器面板中,选择对象名称左侧的箭头可收起或展开对象。对象浏览器面板中会默认展开项目中的所有模型,显示模型中定义的 Explore 列表。
查看对象的类型
对象浏览器面板会列出以下对象类型:
您可以在对象浏览器面板中将鼠标悬停在项目中的对象名称上,以查看该对象的类型。
对象浏览器面板会同时显示一个图标和一个文本标签来标识对象类型:
- - 模型
- - 探索
- - 查看
- - 维度
- - 维度组
- - 衡量
- - 过滤
- - 参数
将鼠标悬停在对象浏览器面板中的字段名称上,即可显示该字段的 type
子形参的值。在以下示例中,id
对象左侧的图标表示它是一个维度,将光标悬停在 id
维度上会显示它是一个 type: number
维度:
前往对象的 LookML
您可以使用以下方法之一,从对象浏览器面板直接前往对象的 LookML:
点击对象的名称
如需前往对象的 LookML,请按以下步骤操作:
- 在对象浏览器面板中,点击对象的名称。
- IDE 会打开定义该对象的文件,并将光标置于对象声明的第一行。
搜索对象
如需搜索对象或文件,请按以下步骤操作:
在对象浏览器面板中,点击跳转到对象或文件图标
。或者,使用键盘快捷键 Command-J (Mac) 或 Ctrl+J (Windows)。
输入搜索字词。Looker 会显示与您的搜索字词匹配的对象和文件列表。
特殊情况
在对象浏览器面板中查看导入的对象
当您从其他项目导入文件并将这些导入的文件包含在活跃项目中时,也可以使用对象浏览器面板查看导入的对象。
例如,假设您已在项目的清单文件中使用 local_dependency
参数导入名为 e_redlook
的本地项目,该项目包含名为 product_facts
的视图:
# Your project
project_name: "e_thelook"
# The project to import
local_dependency: {
project: "e_redlook"
}
如需使 product_facts
视图可供模型使用,您可以添加该视图并创建 product_facts
Explore:
include: "//e_redlook/views/product_facts.view"
explore: product_facts {}
然后,您可以在对象浏览器面板中查看 product_facts
探索,并展开该探索以显示其中包含的所有视图和字段。
当您从导入的项目中选择对象时,Looker 会打开定义该对象的文件。由于该文件是导入的项目文件,因此将为只读文件。
在对象浏览器面板中查看扩展对象
如果您的项目包含扩展其他视图或探索的视图或探索,您可以使用对象浏览器面板查看并前往扩展对象的 LookML。当您展开扩展另一个视图的视图时,对象浏览器面板会显示基本视图中的字段以及您在扩展视图中添加的任何字段。
例如,以下视图文件定义了一个名为 user_with_age_extension
的视图,该视图扩展了另一个名为 users_extended
的视图并添加了新字段:
include: "/views/users_extended.view"
view: user_with_age_extension {
extends: [users_extended]
dimension: age {
type: number
sql: ${TABLE}.age ;;
}
dimension: zip {
type: zipcode
sql: ${TABLE}.zip ;;
}
}
对象浏览器面板现在会同时显示在基本 users_extended
视图中定义的字段和在 user_with_age_extension
视图中定义的新字段。
您可以在对象浏览器面板中选择扩展对象的名称,从而前往该对象的 LookML。
在对象浏览器面板中查看细化对象
您可以使用对象浏览器面板查看优化后的视图或探索的内容,也可以前往 LookML 查看项目中的优化。
对象浏览器面板会将优化和它们所基于的探索或视图列为单个对象,而不是分别显示优化及其基础对象。如果您使用细化功能向视图添加字段或将视图联接到探索中,那么您添加的字段或视图将与原始视图的内容一起显示。
当您在对象浏览器面板中点击细化视图或细化探索的名称时,IDE 会打开 LookML 中定义细化的相应行。如果某个视图或探索经过多次优化,IDE 会按包含顺序导航到该对象的最后一次优化。
例如,假设您想向名为 user_with_age_extension
的视图添加新维度 country
,但不想修改该视图的原始 LookML。如需优化 user_with_age_extension
视图,请使用 view
参数,并在视图名称前添加一个加号 (+):
view: +user_with_age_extension {
dimension: country {
type: string
map_layer_name: countries
sql: ${TABLE}.country ;;
}
}
在对象浏览器面板中展开 user_with_age_extension
视图时,系统现在会显示 country
字段以及视图的原始字段。
在向项目添加优化时,请注意应用优化的顺序。细化操作在单个文件中按从上到下的顺序逐行应用,如果对象在多个文件中多次细化,则按包含这些文件的顺序应用。如需了解细化功能的应用顺序,请参阅 LookML 细化文档页面。