准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Create the view file for SQL derived table
/ 30
Add measures to answer business questions
/ 40
Update a SQL derived table to generate dynamic values using templated filters
/ 30
Looker 是 Google Cloud 中的现代化数据平台,支持您以交互方式分析和可视化数据。您可以使用 Looker 展开深入数据分析、整合来自不同数据源的分析洞见,构建切实可行的数据驱动型工作流,以及创建自定义数据应用。
在本实验中,您将学习如何创建和更新 SQL 派生表,以生成动态值并满足多种应用场景的需要。
需要熟悉 LookML。建议您先完成了解在 Looker 中如何使用 LookML 课程,然后再开始本实验。
请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。
此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。
为完成此实验,您需要:
准备就绪时,点击开始实验。
此时您会看到“实验详细信息”窗格,其中包含您在进行该实验时必须使用的临时凭据。
如果该实验需要付费,系统会打开一个弹出式窗口供您选择支付方式。
请注意,“实验详细信息”窗格中会显示实验凭据。您需要使用这些凭据来登录 Looker 实例以进行该实验。
点击打开 Looker。
在电子邮件地址和密码字段中输入提供的用户名和密码。
用户名:
密码:
点击登录。
登录成功后,您会看到用于本实验的 Looker 实例。
在 LookML 中,您可以使用 SQL 查询来定义 SQL 派生表,也可以使用“探索”查询来定义原生派生表。对于 SQL 开发者而言,使用 SQL 派生表往往更易于理解,也更便于快速上手 Looker 中的派生表功能。
在此任务中,您将创建一个名为 user_facts 的 SQL 派生表,该表足够灵活,可回答多个客户行为问题,例如:
点击开发标签页,然后点击 SQL Runner。
在 SQL 查询窗口中,添加以下查询:
在本例中,目标查询会选择 user_id,统计该用户的终身订单数,并将消费金额求和,得出该用户的终身收入。它还会将 created_at 列的最小值和最大值分别确定为首次订单日期和末次订单日期。
GROUP BY 子句用于按 user_id 对结果进行分组,LIMIT 子句用于限制结果,因为您只需要查看一部分记录,以确保查询正常运行。
在本例中,查询确实返回了用户 ID、终身订单数、用户带来的终身收入以及首次和末次订单日期。
请注意,LIMIT 子句用于减少此测试期间返回的数据量;在后续步骤中,您将为 SQL 派生表创建一个新的视图文件,届时将移除 LIMIT 子句。
点击运行(页面右上角)旁边的设置 (),然后选择添加到项目。
对于项目,选择 qwiklabs-ecommerce。
在视图名称部分,输入:user_facts。
点击添加。
您将被重定向到 Looker IDE,以查看为 SQL 派生表新创建的视图文件。您可以看到,Looker 会根据您在 SQL Runner 中输入的查询自动为 SQL 派生表生成视图文件。视图文件的前 12 行如下所示:
在 Looker 中,您的文件应如下所示:
请注意,新的 user_facts 视图已在 views 文件夹之外创建。最佳实践是让视图文件在项目中井然有序。
点击 views 旁边的箭头,查看视图列表。
点击 user_facts.view 并将其拖放到 views 文件夹下。
点击 user_facts.view,查看 SQL 派生表的视图文件。
Looker 会为 SQL 查询的 SELECT 子句中的每一列自动生成一个维度,并生成一个新的计数度量。在接下来的步骤中,您将修改视图文件,以移除不再需要的 LIMIT 子句,隐藏新的计数度量,并为视图添加主键。
LIMIT 10 对应的代码行。如前所述,Looker 会自动生成计数度量以及派生表中使用的维度。有时,如果您在另一个视图中已经有一个提供相同数量的计数,那么自动生成的计数度量可能没有价值。
在此示例中,自动生成的计数度量在计算订单 ID 的数量,而 order_items 视图中已经有订单计数。
您可以删除计数度量,或者使用 hidden: yes 参数将其隐藏。如果您想保留该度量以验证此计数与另一个计数是否相同,将其隐藏是不错的想法。
type: count 前添加新的一行,并插入以下内容:最后的一项最佳实践是确保新视图具有主键。
在此示例中,您可以将 primary_key: yes 参数添加到 user_id 维度。该维度是此视图的中心组织 ID,提供有关每个订单的详细信息。
type: number 前添加新的一行,并插入以下内容:现在,您可以使用名为 user_facts 的新视图创建新的维度和度量,将其联接到模型文件中的“探索”,和/或完成 Git 工作流,将更改发送到生产环境。在接下来的部分中,您将继续在此基础上进行构建。
在 Looker 中,您的文件应如下所示:
点击验证 LookML,然后点击提交更改并推送。
添加提交消息,然后点击提交。
最后,点击部署到生产环境。
点击“检查我的进度”,验证已完成以下目标:
在本部分中,您将添加两个度量来回答您最初感兴趣的客户行为问题:美国各州所有客户的平均终身收入和平均终身订单数分别是多少?
average_lifetime_revenue 和 average_lifetime_order_count,分别用于计算平均终身收入和平均终身订单数:在本部分中,您将检查并测试新的派生表。首先,您需要将此“探索”与模型文件中的 order_items“探索”定义联接,然后使用 Order Items“探索”来确认将更改推送到生产环境后业务用户会看到什么。
在同一页面中,点击 model 文件夹中的 training_ecommerce.model 文件,修改其内容。
找到 explore: order_items 定义。请注意,实验中已经有定义的多个联接,例如 users 视图的联接。
explore: order_items 定义中,在现有 users 联接的上方,通过指定以下内容添加一个新的 user_facts 联接:sql_on 参数将联接字段识别为 user_id。relationship 参数识别出 order_items 中可能存在 user_id 的多个实例,但 user_facts 中每个 user_id 只有一个实例,该表以每个订单一行摘要的形式显示。
在 Looker 中,您的视图现在应如下所示:
现在,您已将视图联接到“探索”,接下来请前往 Order Items 的“探索”页面。
在 User Facts 视图下,选择 User ID 维度,以及 Average Lifetime Order Count 和 Average Lifetime Revenue 度量。
将“行数上限”设置为 100。
点击运行。结果应如下所示:
现在,移除 User ID 维度,并在“Users”视图中添加 State 维度。
点击 Country 维度,然后为其添加过滤条件。
选择 USA。
您可以看到,如何利用这些相同的度量来计算每个用户和每个州对应的平均终身收入以及平均终身订单数!
点击验证 LookML,然后点击提交更改并推送。
添加提交消息,然后点击提交。
最后,点击部署到生产环境。
点击“检查我的进度”,验证已完成以下目标:
正如您在之前的实验中所见,模板化过滤条件遵循与参数相同的逻辑模式。同样,主要区别在于,模板化过滤条件允许最终用户从多种过滤条件运算符中进行选择。对于数字数据类型,这可以是“等于”“大于”“介于”等。
在模板化过滤条件中,值不是硬编码的,而是由用户输入,然后传递给生成的 SQL 查询。不过,您可以在过滤条件定义中指定“探索”和维度,以显示包含选项的下拉菜单。
在本部分中,您将修改第一部分中的 SQL 派生表定义,以便根据用户选择的时间范围重新计算所有值。
返回到 Looker IDE 中的 user_facts 视图。
首先,如下所示修改 SQL 派生表定义,以包含 WHERE 条件子句:
derived_table 定义下添加一个新过滤条件,以便用户选择日期:视图文件的前 18 行现在应如下所示:
现在,您将通过重复上一个任务中的查询来测试 Order Items“探索”中的动态 SQL 派生表,以查看添加过滤条件后值是否会发生变化。
返回到 Order Items“探索”。
在“User Facts”视图下,选择 Average Lifetime Order Count 和 Average Lifetime Revenue 度量。
在“Users”视图下选择 State 维度。
在“User Facts”视图下,点击名为 Select Date 的新的“只有过滤条件的字段”旁边的过滤图标。
对于界面顶部的第一个过滤条件值,请保留“是过去的时间”处于选中状态。
对于第二个过滤条件值,请选择 complete years,然后在空白值框中添加 1。
在“Users”视图中,添加 Country 过滤条件,并将其设置为等于 USA。
点击运行,查看结果。
您将看到过去一整个年度内每个州或国家/地区对应的 Average Lifetime Order Count 和 Average Lifetime Revenue。
点击 SQL 标签页,查看 SQL。
此时,您可以尝试使用不同的过滤条件值,并查看 SQL 标签页,了解模板化过滤条件如何相应地更改值。
返回到 user_facts 视图。
点击验证 LookML,然后点击提交更改并推送。
添加提交消息,然后点击提交。
最后,点击部署到生产环境。
点击“检查我的进度”,验证已完成以下目标:
在本实验中,您创建了 SQL 派生表,以使用 Liquid 的模板化过滤条件生成动态值,并利用动态 SQL 派生表回答复杂问题。
…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。
上次更新手册的时间:2024 年 4 月 24 日
上次测试实验的时间:2024 年 4 月 24 日
版权所有 2026 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验