Looker 项目是一组 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 术语来说,“探索”是查询的 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
视图中,这些字段的定义会在 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 Three 和 Document Four,并在导航栏中隐藏不显示文档。
要更改边栏在文档中的顺序,或仅在边栏中显示部分文档,您可以使用以下格式:
---
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
参数用于将分节符和标题我的版块名称添加到边栏中。
文本标题本身不是链接;它并不引用您的任何文档文件。
数据文件
数据文件是扩展名为 .json
、.topojson
或 .geojson
的 JSON 文件。
借助 map_layer
参数,您可以将 JSON 文件用作自定义地图,之后便可在 Looker 中绘制数据图表。
然后,您可以将 map_layer_name 参数与维度结合使用,以便将数据值(如“巴黎”)与自定义地图上的地理区域相关联。
您可以在 LookML IDE 中修改 JSON 文件,然后选择 Save。
如需调试,您可以选择查看原始文件,方法是选择查看文件操作菜单名称旁边的文件名以查看原始格式的文件。如果您有合适的扩展程序可在浏览器中查看 JSON,您还可以选择以已解析格式查看文件。
如需了解如何将 JSON 文件上传到 LookML 项目,请参阅管理 LookML 文件和文件夹文档页面。
项目清单文件
您的项目可能包含项目清单文件,用于以下任务:
每个项目只能有一个清单文件,并且必须采用 manifest.lkml
名称,且位于项目目录结构的根级别和 Git 代码库中。
如需了解如何创建 LookML 项目文件(包括项目清单文件),请参阅管理 LookML 文件和文件夹页面。
清单锁定文件
当远程依赖项添加到项目清单文件时,系统会自动创建清单锁定文件。Looker 使用清单锁定文件来跟踪清单文件中指定的远程项目版本。
Looker 开发者无需创建或修改清单锁定文件,因为锁定文件由 Looker 自动管理。
如需了解详情,请参阅从其他项目导入文件文档页面。
语言区域字符串文件
如果要本地化您的数据模型,您需要为每个要本地化的语言区域创建语言区域字符串文件,包括您的默认语言区域(例如,通常是美国的英语)。
语言区域字符串文件会列出模型中要本地化的每个标签和说明的键值对。每个语言区域的字符串文件都应为每个标签或说明提供该语言区域的翻译。如需详细了解如何创建语言区域字符串文件,请参阅本地化您的 LookML 模型文档页面。
如需了解如何创建 LookML 项目文件(包括语言区域字符串文件),请参阅管理 LookML 文件和文件夹页面。
浏览文件
探索通常在模型文件中定义。不过,有时您需要为派生表创建单独的探索文件,或者跨模型扩展或优化探索任务。
如需了解如何创建 LookML 项目文件(包括“探索”文件),请参阅管理 LookML 文件和文件夹页面。
数据测试文件
您的项目可能包含用于验证 LookML 模型的逻辑的数据测试文件。数据测试可以包含在模型文件或视图文件中,但如果您的开发者想要针对多个不同的模型使用相同的数据测试,将数据放在专门的文件中会很有帮助。
如需了解如何创建 LookML 项目文件(包括数据测试文件),请参阅管理 LookML 文件和文件夹页面。
优化文件
您的项目可能包含用于 LookML 优化的文件。借助 LookML 优化,您可以调整现有的视图或探索,而无需修改包含它的 LookML 文件。LookML 优化可包含在模型、视图或探索文件中,也可以包含在它们自己的专用文件中。
如需了解如何创建 LookML 项目文件(包括优化文件),请参阅管理 LookML 文件和文件夹页面。
其他文件
许多 LookML 元素可以放入项目中的不同文件中,也可以放在它们自己的专用文件中。例如,数据测试可以放在模型文件、视图文件或专属的 .lkml
文件中。