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,则该文档的边栏会按文件名列出项目的所有文档(按字母顺序)。

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

边栏按字母顺序列出了“文档 4”“文档 1”“文档 3”和“文档 2”,以及一个名为“请勿显示”的文档。

在此示例中,您可能希望按数字顺序(而非字母顺序)列出文档 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 列为“文档 2 的自定义标签”。

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 文件和文件夹文档页面。

项目清单文件

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

如需查看示例清单文件以及清单文件的可能参数,请参阅项目清单参数文档页面。如需了解如何创建 LookML 项目文件(包括项目清单文件),请参阅管理 LookML 文件和文件夹文档页面。

请注意以下有关项目清单文件的事项:

  • 每个项目只能有一个清单文件,且该文件必须命名为 manifest.lkml,并位于项目目录结构的根级别和 Git 代码库中。
  • Looker 不支持空的项目清单文件。如果清单文件为空,请删除该文件
  • 每个项目只能有一个清单文件。
  • 项目清单文件必须命名为 manifest.lkml,并且位于项目目录结构的根级别。

清单锁定文件

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

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

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

语言区域字符串文件

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

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

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

探索文件

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

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

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

数据测试文件

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

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

优化文件

您的项目可能包含用于 LookML 细化的文件。借助 LookML 细化,您可以调整现有的视图探索,而无需修改包含它们的 LookML 文件。LookML 细化可以包含在模型、视图或探索文件中,也可以包含在自己的专用文件中。

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

其他文件

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