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 访问项目文件以及将新文件和文件夹添加到项目中。
模型文件
模型文件可指定数据库连接以及使用该连接的探索集。模型文件还定义了探索本身及其与其他视图的关系。探索是查询数据的起点。在 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 中定义单个“视图”。视图对应于数据库中的单个表或单个派生表。视图文件指定要查询的表以及要在该表中包含的字段(维度和测量),以便用户在 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
视图中这些字段的定义会在“订单”探索的字段选择器中显示创建日期、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
您可以在文档文件中使用 navigation: true
来为该文档添加导航边栏。例如,您可以将以下代码添加到 Markdown 文件的顶部:
---
navigation: true
---
此代码会向文档添加一个导航边栏,其中包含指向项目的所有文档的链接。如果您在文档仅包含 navigation: true
,则该文档的边栏会按文件名的字母顺序列出项目的所有文档。
此外,您可能会发现按字母顺序进行文件名整理并不理想,或者您可能有一些不希望在导航中显示的文档:
在此示例中,您可能希望按数字顺序(而非字母顺序)列出文档 Document One、Document Two、Document Three 和 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 中查看和与探索互动文档页面。
探索通常在模型文件中定义。不过,有时您需要为派生表单独创建一个探索文件,或者跨模型扩展或优化探索。
如需了解如何创建 LookML 项目文件(包括“探索”文件),请参阅管理 LookML 文件和文件夹文档页面。
数据测试文件
您的项目可能包含用于验证 LookML 模型逻辑的数据测试文件。数据测试可以包含在模型文件或视图文件中,但如果您的开发者想要在多个不同的模型中使用相同的数据测试,将数据测试保存在各自的专用文件中可能会很有帮助。
如需了解如何创建 LookML 项目文件(包括数据测试文件),请参阅管理 LookML 文件和文件夹文档页面。
优化文件
您的项目可能包含用于 LookML 优化的文件。通过 LookML 优化,您可以调整现有视图或探索,而无需修改包含该视图的 LookML 文件。LookML 优化可包含在模型、视图或探索文件中,也可以包含在它们自己的专用文件中。
如需了解如何创建 LookML 项目文件(包括优化文件),请参阅管理 LookML 文件和文件夹文档页面。
其他文件
许多 LookML 元素可以存储在项目中的不同文件中,也可以存储在自己的专用文件中。例如,数据测试可存放在模型文件、视图文件或它们自己的专用 .lkml
文件中。