采用最佳实践来提高 LookML 项目的易用性

实验 15 分钟 universal_currency_alt 免费 show_chart 中级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP1020

Google Cloud 自学实验的徽标

概览

Looker 是 Google Cloud 中的一个现代化数据平台,支持您以交互方式分析和直观呈现数据。在该平台中,LookML 开发者可以通过创建新字段、表、视图和探索来自定义和整理数据工作流,从而精心挑选供业务用户使用的数据,进而创建自定义数据应用。

在本实验中,您将学习编写 LookML 代码的最佳实践,这些最佳实践可提升业务用户和开发者的体验。其中包括通过重用现有对象和应用描述性命名惯例,来提高 LookML 项目的易用性和可持续性。您还可以使用 LookML 参数来提供更多背景信息并自定义对业务用户可见的对象,从而让探索更易于使用。

前提条件

需要熟悉 LookML。建议您先完成了解在 Looker 中如何使用 LookML 课程,然后开始本实验。

您将执行的操作

  • 使用描述性字段名称来定义维度和测量。
  • 利用附加参数来整理数据,并提供更多相关的背景信息。
  • 创建并显示尽可能少的字段和探索。
  • 编写可持续且模块化的 LookML 代码,以便轻松更新、维护和重复使用。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Looker

  1. 准备就绪时,点击开始实验

    此时您会看到“实验详细信息”窗格,其中包含您在进行该实验时必须使用的临时凭据。

    如果该实验需要付费,系统会打开一个弹出式窗口供您选择支付方式。

    请注意,“实验详细信息”窗格中会显示实验凭据。您需要使用这些凭据来登录 Looker 实例以进行该实验。

    注意:如果您使用其他凭据,将会收到错误消息或承担相关费用
  2. 点击打开 Looker

  3. 电子邮件地址密码字段中输入提供的用户名和密码。

    用户名:

    {{{looker.developer_username | Username}}}

    密码:

    {{{looker.developer_password | Password}}} 重要提示:您必须使用本页面上“实验详细信息”窗格中的凭据。请勿使用您的 Google Cloud Skills Boost 凭据。如果您有自己的个人 Looker 账号,请不要在此实验中使用。
  4. 点击登录

    登录成功后,您会看到用于本实验的 Looker 实例。

编写 LookML 代码的最佳实践

本部分简要介绍了编写 LookML 代码时可以采用的五大最佳实践,这些实践可以提升业务用户和开发者的体验。在本实验中,您将重点了解其中的前四项。

使用描述性字段名称

请使用描述性字段名称来定义维度和测量,这有助于业务用户和开发者找到所需内容(最佳实践中的第 1 项)。此实践的一些示例包括:

  • 根据聚合函数或常用术语命名测量:total_[FIELD](表示总和)、count_[FIELD]avg_[FIELD] 等。
  • 以描述性方式命名比率:percent_orders_by_returning_customerpercent_returning 更清楚明了。
  • 明确命名 yesno 字段:使用 order_is_returnedis_order_returned,而不是 returned
  • 避免在维度组中使用“date”或“time”字样。Looker 已经将每个时间范围附加到维度名称的末尾。例如,created_date 会变为 created_date_date

利用附加参数

利用附加参数有助于整理面向业务用户显示的数据,并提供更多背景信息。您应添加标签说明,以帮助业务用户确定应在工作流中使用哪些字段和探索(最佳实践中的第 1 项和第 4 项)。

您还应使用 group_label 参数对类似的字段和探索进行逻辑归类,以使其便于浏览(最佳实践中的第 2 项)。

最后,您应使用 drill_fields 来挑选业务用户可在点击表单元格中的值后看到的其他选项,以便其探索数据。

创建并显示尽可能少的字段和探索

请在确保业务用户仍可轻松获取所需答案的前提下,创建并显示尽可能少的字段和探索;这是一项非常有用的最佳实践(最佳实践中的第 3 项)。每项业务的最佳字段数和探索数各不相同,但如果字段数和探索数过多,往往会让最终用户感到困惑。

您可以使用 fields 参数来限制在单个探索中向业务用户显示的字段,也可以使用 hidden 参数来在整个模型中隐藏某个字段或探索。

编写可持续且模块化的 LookML 代码

编写可持续且可维护的 LookML 代码是维持项目正常运转的关键,因为这类代码便于更新、维护和重复使用。

底层 LookML 代码的组织方式和质量水平虽然可能并不会产生立竿见影的效果,但同样会影响业务用户的整体体验。具体来说,如果您(作为 LookML 开发者)可以减少编写和维护基础代码的时间,那么就可以更快地修改或实现业务用户请求的属性和功能。

以下几点建议可助您编写可持续且模块化的 LookML 代码:

  • 在代码中统一使用替换运算符,最大限度地减少对底层数据库的硬编码引用。
  • 确定 SQL 派生表与原生派生表的适用情况。
    • 原生派生表利用模型中现有的 LookML 对象来定义底层数据库中尚不存在的新结构或聚合,从而提高代码的可重用性。
    • SQL 派生表用于实现原生派生表无法轻松实现的自定义程度更高或更复杂的聚合。
  • 使用 extends优化结构来扩展现有视图和探索。
    • 您可以扩展视图或探索,以创建原始对象的副本并应用修改。如需了解详情并进行练习,请参阅使用 Extends 实现 LookML 代码模块化实验。
    • 您还可以创建优化结构来调整现有视图或探索,而无需修改包含该视图或探索的 LookML 文件。如需了解详情并进行练习,请参阅优化 LookML 查询的性能实验。

优化探索查询的性能

如需为业务用户优化探索查询的性能,请遵循以下原则:

  • 避免在探索中联接无关的视图。
  • 在视图文件中声明主键,并使用 relationship 参数定义联接关系,以确保生成正确的聚合。
  • 按照从最精细的层级到最高汇总层级的顺序,在视图之间定义 many_to_one 联接。
  • 对于运行时间较长的复杂查询,或者有大量用户或应用频繁使用的查询,请对派生表进行持久化处理。

如需详细了解这些主题,请参阅 Looker 注意事项优化 LookML 查询的性能

任务 1. 创建利用现有字段和描述性命名惯例的字段

创建新的维度和测量时,请务必查看模型中现有的 LookML 对象,考虑是否可以重复使用。为了便于进行代码更新,最佳实践是在代码中统一使用替换运算符,以最大限度减少对底层数据库中对象的硬编码引用。

在创建新对象时,除了利用现有对象之外,还应选择描述性名称,因为这有助于开发者和业务用户找到用于代码或分析的字段。在此任务中,您将利用现有的 status 维度创建一个新的 yesno 维度(用于标识已取消的订单),创建利用现有对象的新测量(用于计算因已取消的订单而损失的收入百分比),并对新维度和新测量应用描述性命名惯例。

基于现有维度创建 yesno 维度

  1. 点击切换按钮进入开发模式

  2. 开发菜单中,选择 qwiklabs_ecommerce 项目。

  3. 打开 views 下的 order_items.view

  4. 查看名为 status 的维度。

    请注意,这里的语法使用了替换运算符 ${TABLE}.column_name,它将引用视图文件顶部的 sql_table_name 参数所标识的表中的某个列。

    在本例中,${TABLE}.status 引用的是 cloud-training-demos.looker_ecomm.order_items 表中的“status”列。您可以利用此现有维度创建一个新的 yesno 维度,用于标识订单是否处于已取消状态。

order_is_canceledis_order_canceled 都遵循了有关描述性名称的最佳实践,因为它们都可以清楚地标识作为订单的被取消对象。这两者之间的选择属于命名惯例层面的决策,可以在团队内部决定。

  1. status 维度下,添加以下代码以创建新的 yesno 维度:
dimension: order_is_canceled { type: yesno sql: ${status} = "" ;; }

请注意,这里的语法使用了替换运算符 ${field_name},它将引用当前视图中的现有维度或测量。在本例中,${status} 引用的是 order_items 视图中的 status 维度。

另请注意,此代码尚未包含 status 值。虽然您可以利用现有的 status 维度,但仍需了解该维度中的哪个值用于标识已取消的订单。

从技术上讲,以上所有方式都可以用于确定正确的值。不过,凭经验猜测的方式效率低下,并且可能会得到错误的值;您必须不断地在相应探索中针对新维度运行查询来测试代码,直到得到预期的结果。

在“订单项”探索的“订单项”视图中针对 status 维度运行查询会得到该维度的值,但探索中显示的值可能会反映通过 LookML 代码所应用的其他格式。

在 SQL Runner 中直接对 order_items 表运行查询,即可查看 status 列中的原始数据值。

  1. 将 IDE 所在的浏览器标签页保持打开状态,然后在新的浏览器标签页中打开一个新的 Looker 窗口。

  2. 依次点击开发 > SQL Runner

  3. 点击“连接”旁边的设置 (“设置”齿轮图标),然后点击搜索公开项目

  4. 项目字段中,输入 cloud-training-demos,然后按 Enter 键。

  5. 数据集字段中,选择 looker_ecomm
    系统会列出此 BigQuery 数据集中的可用表。

  6. 如需选择 status 列中的不同值,请将以下查询添加到 SQL 查询窗口中,然后点击运行

SELECT distinct(status) FROM cloud-training-demos.looker_ecomm.order_items ORDER BY status 注意:这些值包括“Cancelled”,该值采用英式英语拼写(包含两个 L),而不是美式英语拼写的“Canceled”
  1. 关闭 SQL Runner 所在的浏览器标签页,然后返回到 IDE 所在的浏览器标签页。

  2. 完成新 yesno 维度的 LookML 代码:

dimension: order_is_canceled { type: yesno sql: ${status} = "Cancelled" ;; }
  1. 点击保存更改

    请勿关闭此浏览器标签页,以便稍后继续使用 Looker IDE。

  2. 在浏览器标签页中打开一个新的 Looker 窗口。

  3. 依次点击探索 > 订单项

  4. 在“数据”窗格中,点击 SQL 标签页。

  5. 订单项 > 维度下,选择:

  • 订单 ID
  • 订单是否已取消(是/否)

在运行查询之前,请注意 CASE 语句会根据 order_item.status 的值是否等于 Cancelled 来返回“是”或“否”结果:

CASE WHEN order_items.status = "Cancelled" THEN '是' ELSE '否' END
  1. 点击运行

  2. 打开结果标签页以查看结果。

  3. 关闭探索所在的浏览器标签页,然后返回到 IDE 所在的浏览器标签页。

基于现有维度和测量创建新的测量

  1. 打开 order_items.view

  2. 查看名为 total_revenue_from_completed_orders 的测量。

    请注意,该名称遵循了求和测量的最佳实践,因为它以“total”开头,清楚地表明该值是求和值或总计值。另请注意,它包含对现有 status 维度的过滤条件,要求其值为“已完成”

total_canceled_orders 虽然以“total”开头,但却并未明确指出该总和是收入的总和,而不是订单数的总和。相比之下,revenue_from_canceled_orders 包含描述性详细信息,但名称开头却缺少“total”

  1. 参照此测量的定义方式,添加以下代码以创建两个新的测量:
measure: total_revenue_from_canceled_orders { type: sum sql: ${sale_price} ;; filters: [order_is_canceled: "Yes"] value_format_name: usd } measure: percent_revenue_canceled_orders { type: number value_format_name: percent_2 sql: 1.0*${total_revenue_from_canceled_orders} /NULLIF(${total_revenue}, 0) ;; }

第一个测量名为 total_revenue_from_canceled_orders。它遵循了命名求和测量的最佳实践,以“total”一词开头,并明确指明了该总和是已取消订单的收入总和。

但请注意,它使用的过滤条件有所不同。total_revenue_from_canceled_orders 并未使用 status 维度,而是使用了您在之前的步骤中创建的 yesno 维度。这两种方式都符合重复使用现有 LookML 对象的最佳实践,具体取决于模型中可用的对象。

第二个测量遵循了以描述性方式命名比率的最佳实践,在名称中包含了“percent”和“canceled orders”字样。该测量还利用以下两个现有测量来计算归已取消订单所占的收入百分比:第一个测量和 total_revenue 测量。

  1. 点击保存更改

    请勿关闭此浏览器标签页,以便稍后继续使用 Looker IDE。

  2. 在浏览器标签页中打开一个新的 Looker 窗口。

  3. 依次点击探索 > 订单项

  4. 在“数据”窗格中,点击 SQL 标签页。

  5. 订单项 > 测量下,选择:

  • 已取消订单的总收入
  • 总收入
  • 已取消订单的收入百分比

在运行查询之前,请注意 CASE 语句现在与 SUM 结合使用,以计算 order_items.sale_priceorder_items.status 等于“Cancelled”条件下的总和,然后除以 order_items.sale_price 中所有值的总和:

SUM(CASE WHEN order_items.status = "Cancelled" THEN order_items.sale_price ELSE NULL END), 0) / NULLIF(COALESCE(SUM(order_items.sale_price ), 0), 0)
  1. 点击运行

  2. 打开结果标签页以查看结果。

  3. 关闭探索查询所在的浏览器标签页,然后返回到显示 Looker IDE 的浏览器标签页。

  4. 点击项目健康状况图标 (“项目健康状况”图标)。

  5. “项目健康状况”>“LookML 验证”部分中,点击验证 LookML

结果应显示未发现任何 LookML 错误。

提交更改并部署到生产环境

  1. 点击验证 LookML,然后点击提交更改并推送

  2. 添加提交消息,然后点击提交

  3. 最后,点击部署到生产环境

在继续执行下一个任务时,请继续留在 Looker IDE 所在的浏览器标签页中。

点击检查我的进度以验证是否完成了以下目标: 创建利用现有字段和描述性命名惯例的字段

任务 2. 使用标签和说明为字段和探索添加背景信息

为 LookML 对象添加标签说明是一种非常简单的方法,可以帮助业务用户确定要在工作流中使用的字段和探索。在此任务中,您将为上一个任务中创建的新 yesno 维度和各个测量添加标签和说明。你还将为用于向业务用户显示这些字段的现有“订单项”探索添加标签和说明。

为维度添加标签和说明

  1. 在新的浏览器标签页中打开一个新的 Looker 窗口。

  2. 依次点击探索 > 订单项

  3. 展开订单项,然后将指针悬停在名为订单是否已取消(是/否)的维度上,以查看其他选项。

  4. 点击信息图标 (信息图标) 即可查看此维度的详细信息。

    信息控件会提供 SQL 参数等详细信息,但对于 SQL 知识有限的业务用户,则没有额外的说明可帮助他们轻松了解该维度的预期用途。在接下来的步骤中,您将向订单是否已取消维度添加 description 参数,以便为业务用户提供更多背景信息。

  5. 将探索所在的浏览器标签页保持打开状态,然后返回到 Looker IDE 所在的浏览器标签页。

  6. 打开 order_items.view

  7. 为之前创建的 order_is_canceled 维度添加说明:

dimension: order_is_canceled { description: "值为“是”表示订单状态为已取消。值为“否”表示订单状态并非为已取消。" type: yesno sql: ${status} = "Cancelled" ;; }
  1. 点击保存更改,然后点击验证 LookML

  2. 返回“订单项”探索所在的浏览器标签页,然后刷新页面。

  3. 展开订单项,然后将指针悬停在名为订单是否已取消(是/否)的维度上,以查看其他选项。

  4. 点击信息图标 (信息图标) 即可查看此维度的详细信息。

    现在,清晰的说明可帮助业务用户了解如何解读该维度中的值。

  5. 将探索所在的浏览器标签页保持打开状态,然后返回到 Looker IDE 所在的浏览器标签页。

  6. 再次查看 order_is_canceled 维度所对应的 LookML 代码。

    请注意,您未添加 label 参数,因为这里不需要。维度名称已在探索中明确显示为“订单是否已取消(是/否)”。

    在接下来的步骤中,您将为上一个任务中创建的测量同时添加说明和标签,以修改测量在探索中显示的名称,并添加有关如何解读测量值的更多详细信息。

为测量添加标签和说明

  1. order_items.view 中,为名为 total_revenue_from_canceled_orderspercent_revenue_canceled_orders 的测量添加说明和标签:
measure: total_revenue_from_canceled_orders { label: "因已取消的订单而损失的总收入" description: "已取消状态的订单的销售价格总和。" type: sum sql: ${sale_price} ;; filters: [order_is_canceled: "Yes"] value_format_name: usd } measure: percent_revenue_canceled_orders { label: "因已取消的订单而损失的收入百分比" description: "因已取消的订单而损失的总收入占所有订单总收入的百分比。" type: number value_format_name: percent_2 sql: 1.0*${total_revenue_from_canceled_orders} /NULLIF(${total_revenue}, 0) ;; }
  1. 点击保存更改,然后点击验证 LookML

    为这些测量添加标签有助于强调已取消的订单代表的是损失的收入,而说明则提供了有关如何解读测量类型和 SQL 参数的更多背景信息。

  2. 返回“订单项”探索所在的浏览器标签页,然后刷新页面。

  3. 展开订单项,然后注意这两个测量的修订标签:“因已取消的订单而损失的收入百分比”和“因已取消的订单而损失的总收入”。

  4. 点击每个测量旁边的信息图标 (信息图标) 即可查看详细信息。

    除了标签之外,现在还提供了实用的说明,可帮助业务用户了解如何解读这些测量中的值。

  5. 订单项 > 维度下,选择:订单是否已取消(是/否)

  6. 订单项 > 测量下,选择:

  • 因已取消的订单而损失的总收入
  • 总收入
  • 因已取消的订单而损失的收入百分比
  1. 在“数据”窗格中,将鼠标悬停在相应列名称上,即可看到与点击订单是否已取消因已取消的订单而损失的总收入因已取消的订单而损失的收入百分比的“信息”按钮时相同的说明。

  2. 点击运行

    该查询会根据订单是否已取消维度返回两行:一行表示“是”,另一行表示“否”。如果业务用户对这些结果有任何疑问,现在可以参考这些维度和测量的说明,了解更多背景信息。

为探索添加标签和说明

  1. 关闭探索所在的浏览器标签页,然后返回到 Looker IDE 所在的浏览器标签页。

  2. 打开 models 下的 training_ecommerce.model

  3. users 联接之前,为现有的“订单项”探索添加标签和说明:

explore: order_items { label: "订单和用户" description: "此探索可用于查看订单和用户的详细信息, 包括库存、产品和配送中心方面的信息。" join: users { type: left_outer sql_on: ${order_items.user_id} = ${users.id} ;; relationship: many_to_one }
  1. 点击保存更改,然后点击验证 LookML

  2. 将 IDE 所在的浏览器标签页保持打开状态,然后在新的浏览器标签页中打开一个新的 Looker 窗口。

  3. 点击探索以查看包含各种探索的菜单列表。

“订单项”探索的新标签为订单和用户。另请注意,该探索名称旁边现在有一个信息控件。

  1. 将指针悬停在信息图标 (信息图标) 上即可查看该探索的详细信息。

    现在有了清晰的说明,其中详细介绍了该探索中可提供的数据,以便业务用户轻松确定此探索是否适合其工作流。

  2. 关闭该探索所在的浏览器标签页,但保留 IDE 所在的浏览器标签页。

提交更改并部署到生产环境

  1. 点击验证 LookML,然后点击提交更改并推送

  2. 添加提交消息,然后点击提交

  3. 最后,点击部署到生产环境

点击检查我的进度以验证是否完成了以下目标: 使用标签和说明为字段和探索添加背景信息

任务 3. 限制显示的字段:在特定探索中仅显示所需字段

在模型中创建新的 LookML 对象时,需注意应将哪些字段和探索直接提供给业务用户使用。通过仅显示经过精心挑选的部分字段和探索,可让业务用户快速找到所需的数据。

在此任务中,您将使用 hidden 参数在整个 training_ecommerce 模型范围内隐藏额外的字段,并利用 fields 参数限制在现有“订单项”探索中向业务用户显示的字段。

在 LookML 模型中的所有探索内隐藏某个字段

  1. 在新的浏览器标签页中打开一个新的 Looker 窗口。

  2. 依次点击探索 > 事件

  3. 展开用户

  4. 在新的浏览器标签页中打开另一个新的 Looker 窗口。

  5. 依次点击探索 > 订单和用户

  6. 展开用户,然后比较这两个探索。

请注意,您会在“事件”探索中看到与“订单和用户”探索中相同的“用户”维度(包括“纬度”维度和“经度”维度),而您有时可能并不希望向业务用户显示这些维度。

提示:您可以在 Looker 文档中搜索每个参数。
  1. 将这两个探索所在的浏览器标签页保持打开状态,然后返回到 Looker IDE。

  2. 打开 views 下的 users.view

  3. 向 latitude 和 longitude 维度添加 hidden 参数:

dimension: latitude { hidden: yes type: number sql: ${TABLE}.latitude ;; } dimension: longitude { hidden: yes type: number sql: ${TABLE}.longitude ;; }
  1. 点击保存更改,然后点击验证 LookML

  2. 返回到订单和用户探索所在的浏览器标签页,然后刷新页面。

  3. 展开用户,查看可用的维度。

    请注意,latitude 和 longitude 维度不再显示在“订单和用户”探索中。

  4. 返回到事件探索所在的浏览器标签页,然后刷新页面。

  5. 展开用户,查看可用的维度。

    这两个探索中均已不再显示 latitude 和 longitude 维度。不过,假设您并不想在所有探索中都隐藏某个维度或测量,而只想在特定探索中将其隐藏。例如,“事件”探索包含与“订单和用户”探索相同的所有用户信息,但其中许多字段提供的个人身份信息超出了“事件”探索中的实际需求。

    在接下来的步骤中,您将仅在“事件”探索中隐藏“用户”视图中的大部分维度和测量,因为在该探索中,只需极少的信息即可用于选择用户或识别总体趋势。

在特定探索中选择性地隐藏字段

  1. 将探索所在的浏览器标签页保持打开状态,然后返回到 IDE 所在的浏览器标签页。

  2. 打开 training_ecommerce.model

  3. fields 参数添加到现有事件探索中,置于 event_session_facts 联结之前:

explore: events { fields: [ALL_FIELDS*, -users.city, -users.email, -users.first_name, -users.gender, -users.last_name, -users.state] join: event_session_facts { type: left_outer sql_on: ${events.session_id} = ${event_session_facts.session_id} ;; relationship: many_to_one }

fields 参数的语法表明,除了字段名称前带有减号 (-) 的字段(例如 users.city)将在该探索中隐藏之外,所有字段都将在该探索中保持可见。

  1. 点击保存更改,然后点击验证 LookML

  2. 返回到订单和用户探索所在的浏览器标签页,然后刷新页面。

  3. 展开用户,查看可用的维度。

    请注意,“订单和用户”探索中没有隐藏任何其他维度。

  4. 返回到事件探索所在的浏览器标签页,然后刷新页面。

  5. 展开用户,查看可用的维度。

    请注意,在“事件”探索中,只剩少数几个“用户”维度可用,这些维度是未在 fields 参数中使用减号 (-) 明确标记的维度。

    “事件”探索现在支持对用户和事件进行更概括的分析,而“订单和用户”探索包含更具体的用户详细信息,例如个人身份信息。

  6. 用户 > 维度下,选择国家/地区

  7. 用户 > 测量下,选择计数

  8. 事件 > 维度下,选择事件类型

  9. 点击运行

    该查询会针对每种事件类型返回每个国家/地区的用户数量,包括国家/地区值为 null 的用户。

  10. 关闭显示探索的两个浏览器标签页,但保留 IDE 所在的浏览器标签页。

提交更改并部署到生产环境

  1. 点击验证 LookML,然后点击提交更改并推送

  2. 添加提交消息,然后点击提交

  3. 最后,点击部署到生产环境

点击检查我的进度以验证是否完成了以下目标: 限制显示的字段:在特定探索中仅显示所需字段

任务 4. 对类似的字段或探索进行实用归类

作为 LookML 开发者,您可以使用 group_label 参数对类似的字段或探索进行逻辑归类,从而让探索更便于浏览。在此任务中,您会将 users.view 中的各种位置维度归为一组,并使用按团队命名的不同标题,在 training_ecommerce.model 中分别为“订单和用户”探索和“事件”探索创建单独的分组。

将视图中的类似字段归为一组

  1. 打开 users.view 并查看可用的维度。

请注意,有多个维度包含位置信息,例如城市、国家/地区、州/省/直辖市/自治区和邮政编码。

根据介绍字段的 group_label 参数的文档,您可以向多个维度添加 LookML 语法 group_label: "组名称",以将这些维度归入同一类别。

  1. group_label 参数添加到 citycountrystatezip 维度,以将这些维度归入一个名为“位置信息”的类别:
dimension: city { group_label: "位置信息" type: string sql: ${TABLE}.city ;; } dimension: country { group_label: "位置信息" type: string map_layer_name: countries sql: ${TABLE}.country ;; } dimension: state { group_label: "位置信息" type: string sql: ${TABLE}.state ;; map_layer_name: us_states } dimension: zip { group_label: "位置信息" type: zipcode sql: ${TABLE}.zip ;; }
  1. 点击保存更改,然后点击验证 LookML

  2. 将 IDE 所在的浏览器标签页保持打开状态,然后在新的浏览器标签页中打开一个新的 Looker 窗口。

  3. 依次点击探索 > 订单和用户

  4. 展开用户,然后查看可用的维度。

  5. 用户 > 维度 > 位置信息下,选择:

  • 城市
  • 国家/地区
  • 州/省/直辖市/自治区
  • 邮政编码
  1. 点击运行,查看结果。

  2. 关闭订单和用户探索所在的浏览器标签页,然后返回到 IDE 所在的浏览器标签页。

使用不同的标题创建探索组

  1. 打开 training_ecommerce.model

请注意,第 15 行的模型级 label 参数的值为“电子商务培训”。这是“探索”菜单中当前显示的标题。在“探索”菜单中,“订单和用户”探索和“事件”探索均显示在此标题下。

请查看有关探索的 group_label 文档页面,然后回答以下问题。

  1. 在 label 参数的前面,向订单项探索添加一个名为“电子商务 - 库存团队”的 group_label
explore: order_items { group_label: "电子商务 - 库存团队" label: "订单和用户"
  1. 在 fields 参数的前面,向 事件探索添加一个名为“电子商务 - 营销团队”的 group_label
explore: events { group_label: "电子商务 - 营销团队" fields: [ALL_FIELDS*, -users.city, -users.email, -users.first_name, -users.gender, -users.last_name, -users.state]
  1. 点击保存更改,然后点击验证 LookML

  2. 在新的浏览器标签页中打开一个新的 Looker 窗口。

  3. 展开探索菜单,然后查看相关选项。

请注意,每个探索现在都显示在各自的标题下。添加新的探索时,您可以使用相同的 group_label 值来继续扩展现有分组,也可以分配新的 group_label 值来创建具有自己标题的新分组。

提交更改并部署到生产环境

  1. 点击验证 LookML,然后点击提交更改并推送

  2. 添加提交消息,然后点击提交

  3. 最后,点击部署到生产环境

点击检查我的进度以验证是否完成了以下目标: 对类似的字段或探索进行实用归类

恭喜!

在本实验中,您通过重用现有对象、应用描述性命名惯例以及使用 fieldshidden 等附加参数,提高了 LookML 项目的易用性和可持续性。然后,您限制了在特定探索中显示的字段,使其仅显示所需字段;并使用 group_label 参数对类似的字段和探索进行逻辑归类,让探索变得更便于浏览。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2026 年 2 月 2 日

本实验的最后测试时间:2025 年 12 月 3 日

版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。