LookML 项目是一组 LookML 文件,用于告诉 Looker 如何连接到您的数据库、如何查询您的数据以及如何控制界面的行为。您可以通过 Looker 的开发部分或界面访问 LookML 项目文件,如访问 LookML 项目文件文档页面中所述。
项目文件由 Looker 开发者使用 IDE 中的文件夹进行整理。
LookML 项目至少包含一个模型文件和一个视图文件,可能还包含本页中介绍的其他一些类型的文件。所有项目文件都有扩展名,但如果您的项目未启用 IDE 中的文件夹,扩展名将隐藏在 IDE 列表中。
请选择以下链接,详细了解可在 LookML 项目中使用的各类文件:
- 模型文件,扩展名为
.model.lkml
- 查看扩展名为
.view.lkml
的文件 - 扩展名为
.dashboard.lookml
的信息中心文件 - 数据文件,扩展名为
.topojson
、.geojson
或.json
- 文档文件(扩展名为
.md
) - 始终命名为
manifest.lkml
的项目清单文件 - 清单锁定文件,扩展名为
.lkml
- 语言区域字符串文件,扩展名为
.strings.json
- 浏览扩展名为
.explore.lkml
的文件 - 数据测试文件,扩展名为
.lkml
- 优化文件(扩展名为
.lkml
) - 其他文件,扩展名为之前未列出的任何扩展名
创建 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 导航的“探索”部分,并将 products
和 distribution_centers
视图中的数据与 inventory_items
视图联接起来。
如需详细了解模型文件中的 LookML 结构,请参阅 LookML 术语和概念文档页面。
阅读模型参数、探索参数和联接参数文档页面,详细了解模型文件中的 LookML 参数。
查看文件
视图文件通常会定义一个“视图”。一个视图对应于数据库中的一个表或单个派生表。视图文件指定要查询的表以及要在该表中包含的字段(维度和测量),以便用户在 Looker 界面中创建包含这些字段的查询。
如需了解如何创建 LookML 项目文件(包括视图文件),请参阅管理 LookML 文件和文件夹文档页面。
结构和常规语法
每个视图的大括号 { }
中包含字段定义,这些定义通常对应于底层表中的列或 Looker 中的计算。Looker 会将其中的大多数指标归类为维度或测量。
在下面的视图文件示例中,orders.view
文件包含 id
、status
和 user_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 Date、ID、Status、User ID 和 Count 字段。
有权访问订单探索的用户可以通过选择这些字段并进行过滤来查询订单探索。
除了维度和衡量指标之外,您还可以使用维度组一次创建多个基于时间的维度,或使用过滤条件字段为用户指定过滤条件。访问查看参数文档页面,详细了解视图文件中的 LookML 参数,并访问字段参数文档页面,了解用于在 LookML 中定义维度、测量值、维度组和过滤字段的 LookML 参数。
信息中心文件
Looker 支持两种类型的信息中心:
- 用户定义的信息中心,非开发者用户无需使用 LookML 即可创建此类信息中心。如需了解详情,请参阅创建用户定义的信息中心文档页面。
- LookML 信息中心,存储为与项目关联的受版本控制的文件。
如果您的项目包含 LookML 信息中心,它们将在 IDE 的专用信息中心文件(扩展名为 .dashboard.lookml
)中定义。
如需详细了解 LookML 信息中心,请参阅创建 LookML 信息中心文档页面。
文档文件
借助 Looker 文档文件,您可以使用 GitHub 风格的 Markdown 撰写有关 Looker 数据模型的文档或其他备注。这有助于您的用户熟悉贵组织的 Looker 使用情况。
如需了解如何创建 LookML 项目文件(包括文档文件),请参阅管理 LookML 文件和文件夹文档页面。
在 IDE 外部查看文档
要在 IDE 之外查看文档(您需执行这些操作才能利用本页介绍的导航功能),请从文档文件的查看文件操作菜单中选择查看文档选项:
您可以将结果页面的网址分发给其他用户,这样他们无需浏览 Looker 的开发者部分即可访问该网址。
向文档添加导航结构
您可以在文档文件中添加边栏,以便用户轻松查看信息的结构并在文档之间导航。
要为文档添加边栏导航,请从文档的第一行开始创建导航部分。用三个短划线 (---
) 标记导航部分的开头和结尾。
您可以在导航部分中使用以下参数:
navigation
您可以在文档文件中使用 navigation: true
向该文档添加导航边栏。例如,您可以将以下代码添加到 Markdown 文件的顶部:
---
navigation: true
---
此代码会向文档添加一个导航边栏,其中包含指向项目的所有文档的链接。如果您在文档仅包含 navigation: true
,则该文档的边栏会按文件名的字母顺序列出项目的所有文档。
此外,您可能会发现按字母顺序进行文件名整理并不理想,或者您可能会有一些不希望在导航中显示的文档:
在此示例中,您可能希望按数字顺序(而不是按字母顺序)列出文档 Document One、Document Two、Document 3 和 Document Four,并在导航边栏中隐藏文档 Do Not Display(不显示)。
要更改文档在侧边导航栏中的顺序,或者要在边栏中仅显示一部分文档,您可以使用以下格式:
---
navigation:
- document_one
- document_two
- document_three
- document_four
---
现在,导航栏只会显示您要显示的文档文件,并且这些文件会以更合理的顺序显示:
title
默认情况下,边栏会显示文档的标题(如果文档以标题开头),如果文件中没有标题,则会显示文档的文件名。您可以在文档顶部添加 title
参数,以更改文档在导航边栏中的显示方式:
---
title: New Title for Users
---
除非您在文档的导航部分指定了其他 label
,否则此标题将用作所有文档导航边栏中的链接文字。
label
如果您希望更改文档在导航边栏中的显示方式,可以使用 document
和 label
参数,如下所示:
---
navigation:
- document_one
- document: document_two
label: Customized Label for Document Two
- document_three
- document_four
---
label
值用于定义文档在文档的边栏导航中的显示方式,即使它引用的文档有自己的 title
参数也是如此。
上述示例在文档的边栏中如下所示:
section
如果您想将导航边栏拆分为多个部分,可以按如下方式使用 section
参数:
---
navigation:
- document_one
- document_two
- section: My Section Name
- document_three
- document_four
---
在此示例中,section
参数用于向边栏添加分节符和文本标题 My Section Name。
文本标题本身不是链接,也不会指向您的任何文档文件。
数据文件
数据文件是文件扩展名为 .json
、.topojson
或 .geojson
的 JSON 文件。
借助 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 中查看和与探索互动文档页面。
探索通常在模型文件中定义。但有时,您需要单独的“探索”文件才能创建派生表,或者在不同模型之间extend或优化“探索”。
如需了解如何创建 LookML 项目文件(包括“探索”文件),请参阅管理 LookML 文件和文件夹文档页面。
数据测试文件
您的项目可能包含用于验证 LookML 模型逻辑的数据测试文件。数据测试可以包含在模型文件或视图文件中,但如果您的开发者想要在多个不同的模型中使用相同的数据测试,将数据测试保存在各自的专用文件中可能会很有帮助。
如需了解如何创建 LookML 项目文件(包括数据测试文件),请参阅管理 LookML 文件和文件夹文档页面。
优化文件
您的项目可能包含用于 LookML 优化的文件。通过 LookML 优化,您可以调整现有视图或探索,而无需修改包含该视图的 LookML 文件。LookML 优化可包含在模型、视图或探索文件中,也可以包含在它们自己的专用文件中。
如需了解如何创建 LookML 项目文件(包括优化文件),请参阅管理 LookML 文件和文件夹文档页面。
其他文件
许多 LookML 元素可存储在项目中的不同文件中,或者存储在它们自己的专用文件中。例如,数据测试可存放在模型文件、视图文件或它们自己的专用 .lkml
文件中。