通过 Looker IDE 中的对象浏览器面板,您可以在一个位置查看项目中的所有对象,以及这些对象之间的层次结构关系。这对于按文件或文件夹导航项目是一种非常有用的替代方案。
查看项目中的对象
对象浏览器面板会显示项目中已定义的模型、探索、视图和字段,以及对象的层次结构和每个对象的类型。如果您的项目还包含导入的文件,请参阅下文中有关如何查看这些对象的更多详情。
要使用对象浏览器面板,请选择 IDE 导航栏中文件夹图标下方的 ObjectBrowser 图标。
对象浏览器面板会按 type 对对象进行分组,并在每个类型中按字母顺序对对象进行排序。借助对象浏览器面板,您可以通过展开或收起对象显示或隐藏对象的层次结构。
您可以收起和展开模型、探索和视图,以显示或隐藏它们包含的对象。在对象浏览器面板中选择对象名称左侧的箭头,即可收起或展开对象。默认情况下,项目中的所有模型会在对象浏览器面板中展开,以显示模型中定义的探索列表。
查看对象的类型
对象浏览器面板会列出以下对象类型:
您可以将鼠标悬停在项目中某个对象的名称上,查看该对象的类型。
- - 型号
- - 探索
- - 视图
- - 维度
- - 维度组
- - 衡量
- - 过滤条件
- - 参数
将鼠标悬停在对象浏览器面板中的字段名称上,即可查看字段的 type
子参数的值。在以下示例中,id
对象左侧的图标表示该维度是一个维度,将鼠标悬停在 id
维度上可以表明它是一个 type: number
维度:
导航到对象的 LookML
在 Looker IDE 中,您可以使用跳转到对象或文件功能快速搜索,直接导航到 LookML 对象和项目文件。点击对象浏览器中的跳转到对象或文件图标,或者使用键盘快捷键 Command-J (Mac) 或 Ctrl+J (Windows):
如需了解详情,请参阅访问 LookML 项目文件文档页面。
通过在对象浏览器面板中选择对象的名称,您还可以导航到该对象。当您选择某个对象时,IDE 会显示定义该对象的文件,并将光标置于对象声明的第一行。
例如,选择名为 events
的探索会打开模型文件(该文件在 IDE 中定义),而光标位于 events
的 explore
声明的顶部。对象浏览器面板会显示 events
“探索”定义,包括合并的 users
视图。
特殊情况
在对象浏览器面板中查看导入的对象
当您从其他项目中导入文件并在活跃项目中添加这些导入的文件时,也可以使用对象浏览器面板查看导入的对象。
例如,假设您在项目的清单文件中使用过 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
探索:
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 优化文档页面。