LookML 项目中的文件类型

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

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

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

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

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

模型文件

模型文件会指定数据库连接以及使用该连接的一组 Explore。模型文件还定义了“探索”本身以及它们与其他视图的关系。探索是查询数据的起点。在 SQL 术语中,Explore 是查询的 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 定义会导致 Inventory items 显示在 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 视图中,这些字段的定义在 Orders 探索的字段选择器中显示 Created DateIDStatusUser IDCount 字段。

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

除了维度和衡量指标之外,您还可以使用维度组一次创建多个基于时间的维度,或使用过滤条件字段为用户指定过滤条件。访问查看参数文档页面,详细了解视图文件中的 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 3Document 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,则还可以选择以 Parsed 格式查看文件。

如需了解如何将 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 文件中。