LookML 项目中的文件类型

LookML 项目是一个 LookML 文件集合,用于告知 Looker 如何连接到数据库、如何查询数据以及如何控制界面的行为。您可以通过 Looker 中的开发部分或界面访问 LookML 项目文件,如访问 LookML 项目文件文档页面中所述。

项目文件由 Looker 开发者使用 IDE 中的文件夹进行整理。

LookML 项目至少包含一个模型文件和一个视图文件,可能还包含本页中介绍的其他一些类型的文件。所有项目文件都有扩展名,但如果您的项目未为 IDE 中的文件夹启用扩展名,则扩展名会隐藏在 IDE 列表中。

请选择以下链接,详细了解可在 LookML 项目中使用的各类文件:

创建 LookML 项目后,您可以使用 Looker IDE 访问项目文件向项目添加新文件和文件夹

模型文件

模型文件可指定数据库连接以及使用该连接的探索集。模型文件还定义了“探索”本身及其与其他视图的关系。探索是查询数据的起点。在 SQL 术语中,探索是查询的 FROM 子句。当用户查看 Looker 的探索菜单时,会看到您在模型中定义的探索。

换句话说,您可以在模型文件中定义应使用哪些数据表(作为包含的视图),以及视需要如何将它们联接在一起。

如需了解如何创建 LookML 项目文件(包括模型文件),请参阅管理 LookML 文件和文件夹文档页面。

结构和一般语法

在探索的大括号 { } 中,您可以为探索定义参数。您可以使用 join 参数将其他视图联接到模型文件中的“探索”。

在以下示例中,示例模型文件中的 LookML 定义了一个名为 inventory_items 的探索以及其联接视图:

connection: "thelook_events"

explore: inventory_items {
  join: products {
    type: left_outer
    sql_on: ${inventory_items.product_id} = ${products.id} ;;
    relationship: many_to_one
  }

  join: distribution_centers {
    type: left_outer
    sql_on: ${products.distribution_center_id} = ${distribution_center.id} ;;
    relationship: many_to_one
  }
}

此 LookML 定义会导致商品目录项显示在 Looker 导航栏探索部分,并将 productsdistribution_centers 视图中的数据联接到 inventory_items 视图。

您可以通过“商品目录项探索”的字段选择器访问“配送中心”“商品目录项”和“商品”视图。

如需详细了解模型文件中的 LookML 结构,请参阅 LookML 术语和概念文档页面。

如需详细了解模型文件中的 LookML 参数,请参阅模型参数探索参数联接参数文档页面。

查看文件

视图文件通常在 Looker 中定义单个“视图”。视图对应于数据库中的单个表或单个派生表。视图文件指定要查询的表以及要从该表中包含的字段(维度和测量),以便用户可以在 Looker 界面中使用这些字段创建查询。

如需了解如何创建 LookML 项目文件(包括视图文件),请参阅管理 LookML 文件和文件夹文档页面。

结构和一般语法

每个视图的大括号 { } 中包含字段定义,这些定义通常对应于底层表中的列或 Looker 中的计算。Looker 会将其中大多数定义归类为维度测量

在以下视图文件示例中,orders.view 文件包含 idstatususer_id 维度、created 维度组和 count 测量的定义:

view: orders {
  sql_table_name: demo_db.orders ;;
  drill_fields: [id]

  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

  dimension: status {
    type: string
    sql: ${TABLE}.status ;;
  }

  dimension: user_id {
    type: number
    # hidden: yes
    sql: ${TABLE}.user_id ;;
  }

    dimension_group: created {
    type: time
    timeframes: [
      raw,
      time,
      date,
      week,
      month,
      quarter,
      year
    ]
    sql: ${TABLE}.created_at ;;
  }

  measure: count {
    type: count
    drill_fields: [id, users.id, users.first_name, users.last_name, order_items.count]
  }
}

orders 视图中这些字段的定义会在“订单”探索的字段选择器中显示创建日期ID状态用户 ID计数字段。

有权访问订单探索的用户可以通过选择和过滤这些字段来查询订单探索。

除了维度和测量指标之外,您还可以使用维度组一次创建多个基于时间的维度,或使用过滤字段为用户指定过滤条件。如需详细了解视图文件中的 LookML 参数,请访问视图参数文档页面;如需了解用于在 LookML 中定义维度、测量值、维度组和过滤器字段的 LookML 参数,请访问字段参数文档页面。

信息中心文件

Looker 支持两种类型的信息中心:

  • 用户定义的信息中心,非开发者用户无需使用 LookML 即可创建此类信息中心。如需了解详情,请参阅创建用户定义的信息中心文档页面。
  • LookML 信息中心,以与项目关联的版本控制文件的形式存储。

如果您的项目包含 LookML 信息中心,则这些信息中心将在 IDE 中的专用信息中心文件中定义,扩展名为 .dashboard.lookml

如需详细了解 LookML 信息中心,请参阅创建 LookML 信息中心文档页面。

文档文件

借助 Looker 文档文件,您可以使用 GitHub 风格的 Markdown 编写有关 Looker 数据模型的文档或其他备注。这有助于用户熟悉贵组织使用 Looker 的方式。

如需了解如何创建 LookML 项目文件(包括文档文件),请参阅管理 LookML 文件和文件夹文档页面。

在 IDE 之外查看文档

如需在 IDE 之外查看文档(您需要执行此操作才能使用本页介绍的导航功能),请针对文档文件从查看文件操作菜单中选择查看文档选项:

您可以将生成的页面的网址分发给其他用户,以便他们直接访问该文档,而无需浏览 Looker 的开发菜单。

向文档添加导航结构

您可以为文档文件添加边栏,以便用户查看信息的结构并在文档之间导航。

如需为文档添加边栏导航栏,请从文档的第一行开始创建导航部分。使用三个短划线 (---) 标记导航栏的开头和结尾。

您可以在导航部分使用以下参数:

您可以在文档文件中使用 navigation: true 向该文档添加导航边栏。例如,您可以将以下代码添加到 Markdown 文件的顶部:

---
navigation: true
---

此代码会向文档添加一个导航侧边栏,其中包含指向项目所有文档的链接。如果您在文档中仅包含 navigation: true,则该文档的边栏会按文件名按字母顺序列出项目的所有文档。

此外,您可能会发现按文件名字母顺序进行整理并不理想,或者您可能有一些不想显示在导航栏中的文档:

边栏会按字母顺序列出“Document Four”“Document One”“Document Three”和“Document Two”,以及标题为“Do Not Display”的文档。

在此示例中,您可能希望按数字顺序(而非字母顺序)列出文档 Document OneDocument TwoDocument ThreeDocument Four,并从导航侧边栏中隐藏文档 Do Not Display

如需更改导航侧边栏中文档的顺序,或仅在侧边栏中显示部分文档,您可以使用以下格式:

---
navigation:
  - document_one
  - document_two
  - document_three
  - document_four
---

现在,导航栏只会显示您要显示的文档文件,并且这些文件会以更合理的顺序显示:

边栏会按编号列出文档,并且不再显示“不显示”文档。

title

默认情况下,边栏会显示文档的标题(如果文档以标题开头),如果文件中没有标题,则显示文档的文件名。您可以在文档顶部添加 title 参数,以更改文档在导航边栏中的显示方式:

---
title: New Title for Users
---

除非您在文档的导航部分指定了其他 label,否则此标题将用作所有文档导航边栏中的链接文字。

label

如果您想更改文档在导航侧边栏中的列出方式,可以使用 documentlabel 参数,如下所示:

---
navigation:
  - document_one
  - document: document_two
    label: Customized Label for Document Two
  - document_three
  - document_four
---

label 值用于定义文档在文档边栏导航栏中的显示方式,即使它所引用的文档有自己的 title 参数也是如此。

上例在文档边栏中的显示效果如下所示:

边栏中将页面 document_two 列为“自定义标签 - 文档二”。

section

如果您想将导航侧边栏拆分为多个部分,可以使用 section 参数,如下所示:

---
navigation:
  - document_one
  - document_two
  - section: My Section Name
  - document_three
  - document_four
---

在此示例中,section 参数会向边栏添加分节插入点和文本标题 My Section Name

文本标题本身不是链接,也不会引用您的任何文档文件。

数据文件

数据文件是文件扩展名为 .json.topojson.geojsonJSON 文件。

借助 map_layer 参数,您可以将 JSON 文件用作自定义地图,然后在 Looker 中使用该地图绘制数据。

然后,您可以将 map_layer_name 参数与维度搭配使用,以便将数据值(例如“巴黎”)与自定义地图上的地理区域相关联。

您可以在 LookML IDE 中修改 JSON 文件,然后选择保存

如需进行调试,您可以选择文件名称旁边的查看文件操作菜单,然后选择查看原始内容以查看原始格式的文件。如果您在浏览器中安装了适用于查看 JSON 的扩展程序,则还可以选择以解析格式查看文件。

如需了解如何将 JSON 文件上传到 LookML 项目,请参阅管理 LookML 文件和文件夹文档页面。

项目清单文件

您的项目可能包含项目清单文件,该文件用于执行以下任务:

每个项目只能有一个清单文件,该文件必须命名为 manifest.lkml,并位于项目目录结构的根级别以及 Git 代码库中。

如需了解如何创建 LookML 项目文件(包括项目清单文件),请参阅管理 LookML 文件和文件夹文档页面。

清单锁定文件

远程依赖项添加到项目清单文件时,系统会自动创建清单锁定文件。Looker 使用清单锁定文件来跟踪清单文件中指定的远程项目的版本。清单锁定文件列在 Looker IDE 的文件浏览器面板中,文件名为 manifest_lock.lkml

Looker 开发者无需创建或修改清单锁定文件,因为锁定文件由 Looker 自动管理。

如需了解详情,请参阅从其他项目导入文件文档页面。

语言区域字符串文件

如果您要本地化数据模型,则需要为要本地化的每个语言区域(包括默认语言区域,例如美国通常使用英语)创建语言区域字符串文件。

语言区域字符串文件会列出您要在模型中本地化的每个标签和说明的键值对。每个语言区域的字符串文件应提供该语言区域的每个标签或说明的翻译。如需详细了解如何创建语言区域字符串文件,请参阅将 LookML 模型本地化文档页面。

如需了解如何创建 LookML 项目文件(包括语言区域字符串文件),请参阅管理 LookML 文件和文件夹文档页面。

浏览文件

探索是用户可以查询的视图。探索是查询的起点,或者用 SQL 术语来说,就是 SQL 语句中的 FROM。如需了解用户如何与探索互动以查询您的数据,请参阅在 Looker 中查看和与探索互动文档页面。

探索通常在模型文件中定义。不过,有时您需要为派生表单独创建一个探索文件,或者跨模型扩展优化探索。

如需了解如何创建 LookML 项目文件(包括“探索”文件),请参阅管理 LookML 文件和文件夹文档页面。

数据测试文件

您的项目可能包含用于验证 LookML 模型逻辑的数据测试文件。数据测试可以包含在模型文件或视图文件中,但如果开发者希望在多个不同的模型中使用相同的数据测试,则最好将数据测试保存在自己的专用文件中。

如需了解如何创建 LookML 项目文件(包括数据测试文件),请参阅管理 LookML 文件和文件夹文档页面。

优化文件

您的项目可能包含用于优化 LookML 的文件。借助 LookML 优化功能,您无需修改包含相应视图或探索的 LookML 文件,即可调整现有视图探索。LookML 优化项可以包含在模型、视图或“探索”文件中,也可以包含在自己的专用文件中。

如需了解如何创建 LookML 项目文件(包括优化文件),请参阅管理 LookML 文件和文件夹文档页面。

其他文件

许多 LookML 元素可以存储在项目中的不同文件中,也可以存储在自己的专用文件中。例如,数据测试可以存储在模型文件、视图文件或它们自己的专用 .lkml 文件中。