使用对象浏览器面板浏览项目

借助 Looker IDE 中的对象浏览器面板,您可以在一个位置查看项目中的所有对象以及它们之间的层次结构关系。这对于按文件或文件夹浏览项目非常有用,因为这样可能更容易找到特定的 LookML 对象并了解它们之间的关系。

查看项目中的对象

对象浏览器面板会显示项目中定义的模型、探索、视图和字段,以及对象层次结构和每个对象的类型。如果您的项目还包含导入的文件,您可以阅读下文,详细了解如何查看这些对象

要使用对象浏览器面板,请选择 IDE 导航栏中文件夹图标下方的对象浏览器图标:

对象浏览器面板会按 type 对对象进行分组,并且对象会在每种类型中按字母顺序排序。使用对象浏览器面板,您可以通过展开或收起对象来显示或隐藏对象的层次结构。

您可以收起和展开模型、探索和视图,以显示或隐藏它们包含的对象。在对象浏览器面板中,点击对象名称左侧的箭头,可收起或展开对象。默认情况下,项目中的所有模型都会在对象浏览器面板中展开,并显示模型中定义的“探索”列表。

查看对象的类型

对象浏览器面板会列出以下对象类型:

在对象浏览器面板中,将鼠标悬停在项目中的名称上,可以查看对象的类型:

每个对象名称左侧的图标也可标识对象类型:

  • - 型号
  • - 探索
  • - 查看
  • - 维度
  • - 维度组
  • - 衡量
  • - 过滤条件
  • - 参数

将鼠标悬停在对象浏览器面板中的字段名称上,系统会显示字段的 type 子参数的值。在以下示例中,id 对象左侧的图标表示该维度是一个维度,将鼠标悬停在 id 维度上可看到它是一个 type: number 维度:

在 Looker IDE 中,您可以使用跳转到对象或文件功能进行快速搜索,直接导航到 LookML 对象和项目文件。在对象浏览器中,点击跳转到对象或文件图标,或使用键盘快捷键 Command-J(适用于 Mac)或 Ctrl+J(适用于 Windows):

如需了解详情,请参阅访问和修改项目信息文档页面。

您也可以在对象浏览器面板中选择对象的名称,以导航到该对象。选择对象后,Android Studio 会显示定义该对象的文件,并将光标放在对象声明的第一行。

在此示例中,选择 events Discover 会在 IDE 中打开 e_thelook.model 文件,并将光标放在 eventsexplore 声明的顶部:

对象浏览器面板会显示 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 查看项目中的优化。

对象浏览器面板会将优化项以及作为基础构建的探索或视图作为单个对象列出,而不是单独显示优化项及其基础对象。如果您使用优化来向视图添加字段或将视图联接到“探索”中,那么您添加的字段或视图会与原始视图的内容一起显示。

当您在对象浏览器面板中选择优化视图的名称或探索时,Android Studio 会打开 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 优化文档页面。