使用 Looker 关联工作表

借助 Looker 关联工作表,用户可以通过熟悉的 Google 表格电子表格界面,以交互方式探索来自 LookML 模型的数据。Google 表格用户将能够访问由 Looker 支持的 50 多个数据库中的受治理数据。探索过程非常直观,因为关联工作表会以井然有序的方式呈现模型,其中的视图、字段和测量值与 Looker 中的定义完全一致。通过关联工作表获取的 Looker 数据可用于标准 Google 表格结构(如数据透视表、图表和公式),从而让您能够通过熟悉的结构灵活地进行分析。

启用关联工作表

如需使用关联工作表,您的实例必须满足以下要求:

  • 在 Looker(原始版)中,Looker 管理员必须在管理 OAuth 客户端页面(管理员 > 身份验证 > 管理 OAuth 客户端)的应用库标签页中启用预配置的关联工作表客户端,或者在 Looker 管理员菜单的平台部分中,在 BI 连接器面板上启用所有 Looker BI 连接器或 Google 表格开关。在 Looker (Google Cloud Core) 中,这些选项默认处于启用状态。
  • 您的 Looker(原始版本)实例必须由 Looker 托管。
  • 如果您的 Looker(原版)实例配置了 IP 许可清单,则必须停用 IP 许可清单才能使用关联工作表。没有可添加到许可清单中的特定或精选 Google 表格 IP 地址静态列表。
  • 在 Looker (Google Cloud Core) 中,关联工作表默认处于启用状态。不过,如果您使用的是已配置 IP 许可清单的 Looker (Google Cloud Core)实例,则必须在 Google Cloud 控制台中该实例的实例页面上的详细信息标签页中选中将 Google 服务与此实例关联复选框,才能连接到关联工作表。
  • 每位想要从 Google 表格连接到 Looker 实例的用户,其 Looker 用户账号中使用的邮箱必须与其 Google Workspace 账号中使用的邮箱相同。如果用户的 Google Workspace 账号邮箱和 Looker 账号邮箱不同,则在尝试从 Google 表格连接到 Looker 时会收到错误消息。
  • 您必须在 Google Workspace 管理员控制台中启用对未单独控制的服务的访问权限。此功能通常默认处于启用状态。如需了解详情,请参阅管理用户对无法单独控制的服务的访问权限帮助文章。

从 Google 表格连接到 Look

在 Looker 中,Look 是之前保存的单个查询。您可以将 Look 的结果添加到工作表中,然后在 Google 表格中与 Look 输出进行互动。

  1. 从 Google 表格的数据菜单中,选择数据连接器,然后选择连接到 Looker。

  2. 在关联到 Looker 对话框中,输入 Looker 实例的名称,或选择您最近关联到的实例的名称,然后选择关联到 Look。

  3. 在以下对话框中,选择要添加到 Google 表格的 Look,然后选择连接。您可以使用搜索 Look 字段按名称或 Look ID 搜索已保存的 Look,也可以通过输入 Look 名称中包含的子字符串来过滤对话框中显示的 Look 列表。

  4. 在关联到 Look 对话框中,选择是为 Look 输出创建新工作表,还是将 Look 输出添加到现有工作表中,然后选择创建。

当 Google 表格连接到您的 Looker 实例后,Google 表格会添加您所选 Look 的输出。

Look 无法在 Google 表格中修改,但您可以随时点击刷新来刷新 Look 数据。您可以点击 Look 网址,在 Looker 中打开 Look。您还可以在 Look 边栏中查看 Look 名称、ID 和网址。

从 Google 表格连接到 Looker 探索

探索是查询的起点。“探索”会显示其关联视图文件中的一组指定字段,您可以选择这些字段在工作表中构建查询。

  1. 从 Google 表格的数据菜单中,选择数据连接器,然后选择连接到 Looker。

  2. 在连接到 Looker 对话框中,输入 Looker 实例的名称,或选择您最近连接的实例的名称,然后选择连接到探索。

  3. 在以下对话框中,选择要用于查询的 Looker 模型和探索,然后选择连接。

当 Google 表格连接到您的 Looker 实例时,Google 表格会打开一个新工作表,其中显示所选探索的结构,包括视图、维度、测量以及 Looker 开发者添加的所有字段说明。

使用 Google 表格构建 Looker 查询

Looker 查询是使用 Google 表格数据透视表构建的。如需向工作表中添加 Looker 数据,请执行以下操作:

  1. 在显示“探索”的工作表中,选择数据透视表。

  2. 选择是在新工作表还是现有工作表中插入新的数据透视表,然后选择创建。

    系统会创建一个新的空白数据透视表,并打开数据透视表编辑器窗口。您可以添加行、列、值和过滤条件,以便根据 Looker 探索中的维度和测量字段构建查询。

    数据透视表编辑器中的行、列、值和过滤条件与 Looker 维度和测量值具有以下对应关系:

    • 行等同于 Looker 维度。
    • 列等同于 Looker 透视维度。
    • 值等同于 Looker 测量。您可以选择一个 Looker 维度和一个 Google 表格汇总依据函数,来创建自定义度量。
    • 过滤条件等同于 Looker 过滤条件。

    数据透视编辑器还会显示探索中包含的视图列表,您可以选择这些视图来显示其中包含的维度和测量。

  3. 选择添加,以添加行、列、值或过滤条件。连接工作表会显示“探索”中可用的视图列表。选择一个视图名称,以显示该视图中的维度和测量列表,然后选择为行、列、值或过滤条件提供数据的字段。

  4. 添加 Looker 字段和过滤条件以构建查询后,选择应用。此操作会使用 Looker 实例中的数据填充您的工作表。

将 Looker 数据添加到数据透视表后,您可以使用 Google 表格设置数据格式,或根据 Looker 数据构建新的 Google 表格公式。

过滤选项

自 Looker 关联工作表首次发布以来,我们添加了新的过滤选项。

按值过滤

在 Looker 数据透视表的关联工作表中,您可以查看值列表并选择和取消选择所需的值,从而过滤 Looker 维度。以前,在使用按条件过滤时,您需要手动输入过滤值。

如需使用此功能,请向数据透视表的过滤条件部分添加一个字段,然后点击状态下拉菜单以打开过滤条件选项。然后,点击添加过滤条件:

系统会打开一个边栏,Google 表格会从 Looker 中提取出现频率最高的 500 个值。

然后,您可以在这些内容中进行搜索,选择或清除所有内容,或按频率或字母顺序对内容进行排序。当您点击底部的确定时,Google 表格会存储您的选择。然后,您可以点击应用,照常刷新数据透视表,并应用新的过滤条件。

使用 Looker 过滤表达式的过滤条件

您可以使用 Looker 过滤表达式在关联工作表中应用相对日期过滤条件以及许多其他高级过滤器。例如,您可以在关联工作表中应用“过去 30 分钟内”或“过去 10 天内”等过滤条件。

如需使用 Looker 过滤表达式,请执行以下操作:

  1. 向数据透视表的过滤条件部分添加字段。

  2. 点击状态下拉菜单以显示过滤选项,然后选择过滤表达式。

  3. 在值字段中输入任意 Looker 过滤表达式。

    例如,如需过滤过去 7 天的数据,您可以输入“7 天”或“过去 7 天”。

  4. 点击确定。

除了相对日期过滤之外,现在还可以进行其他过滤,例如:

  • 不以 -FOO% 开头的字符串
  • 包含和排除的数值范围:(12, 20]

如需查看所有可用的过滤表达式,请参阅 Looker 过滤表达式文档页面。

使用 Looker 参数和仅限过滤条件的字段

您现在可以在关联工作表中使用参数和仅限过滤条件的字段。

仅限过滤条件的字段和参数将显示在 Google 表格中字段选择器的仅限过滤条件的字段部分,就像在 Looker 中一样。如需使用这些功能,请按以下步骤操作:

  1. 将所选参数和仅限过滤条件的字段添加或拖动到过滤条件部分,就像按维度或测量过滤一样。
  2. 对于具有允许值的参数,这些值将显示在按条件过滤对话框的下拉菜单中。
  3. 对于仅限过滤条件的字段,您可以使用常规的按条件过滤对话框。如果该字段在 Looker 模型中定义了建议,您还可以使用按值过滤功能。

刷新 Google 表格中的数据

数据透视表中的数据是静态的,但可以随时刷新。刷新数据后,Looker 会查询您的数据库,并使用最新数据更新数据透视表。

数据透视表和显示 Look 或探索的工作表都会显示最近一次刷新的时间。

选择刷新,以更新数据透视表中的数据。

安排定期刷新时间

如需安排自动更新数据,请在数据透视表中选择三点状菜单,然后选择刷新选项,或在“探索”工作表中选择刷新选项。Looker 会显示计划刷新对话框。

修改数据透视表设置

如需修改数据透视表中包含的行、列、值或过滤条件,请选择三点状菜单旁边的铅笔图标,打开数据透视表编辑面板。

监控关联工作表

Looker 管理员可以使用系统活动记录探索中的查询 API 客户端属性字段组查看关联工作表的使用情况。每次运行新查询时,系统都会在历史记录探索中创建一个条目。

在查询 API 客户端属性字段组中,有三个适用于关联工作表的新字段:

  • API 客户端名称 - 此字段将始终显示 Connected Sheets,以标识关联工作表条目。
  • 关联工作表电子表格 ID - 此字段显示工作表 ID,该 ID 包含在相应工作表的 Google 表格网址中。
  • 关联工作表触发器 - 此字段显示查询是由用户在 Google 表格中选择刷新按钮触发,还是由预定刷新触发。

以下是显示关联工作表使用情况的系统活动记录网址示例。将 <instance_name.looker.com> 替换为您的实例网址。

https://<instance_name.looker.com>/explore/system__activity/history?fields=query_api_client_context.name,query_api_client_context.cs_spreadsheet_id,query_api_client_context.cs_trigger,user.name,history.created_date,history.created_time_of_day&f[query_api_client_context.cs_spreadsheet_id]=-NULL&sorts=history.created_time_of_day+desc&limit=5000

Connected Sheets API 支持

您可以通过 AppsScript 和 Google Sheets API 获得 Looker 关联工作表的 API 支持。

您可以通过 API 支持以编程方式执行的操作包括:

  • 自动数据刷新:您可以安排定期更新由 Looker 提供支持的电子表格,以确保您使用的是最新信息。
  • 自定义工作流:您可以构建复杂流程,将 Looker 数据整合到现有的 Google 表格工作流中。
  • 与其他应用集成:您可以使用 AppsScript 或 Google 表格 API 将 Looker 数据连接到外部工具和服务。

如需使用 Google Sheets API 将 Looker 指定为数据源,请将 looker 对象与 DataSourceSpec REST 资源搭配使用。

注意事项

  • 数据透视表中显示的数据是否区分大小写,取决于模型的大小写区分设置。不过,如果过滤条件对原生 Google 表格数据不区分大小写,则数据透视表上的过滤条件也会强制不区分大小写。
  • 对工作表拥有查看者访问权限的任何人都可以查看数据透视表中的缓存数据。
  • 除了对工作表的编辑者访问权限之外,任何需要修改或刷新数据透视表的用户都需要在 Looker 中拥有正确的权限才能访问数据模型。这包括对数据透视表所基于的模型的访问权限、查看数据的权限,以及通过任何访问权限过滤条件或访问权限授予对数据的适当访问权限。
  • 如果用户使用 OAuth 向 BigQuery 数据库进行身份验证,则可能需要获得对底层数据库的权限。

关联工作表的行数和数据限制

使用关联工作表创建的查询最多可返回 100,000 行。如果查询结果包含更多行,Google 表格会向用户显示错误。如果用户没有 download_without_limit 权限,则无论表格限制如何,结果都会被截断为最多 5,000 行。

此外,关联工作表查询还受数据大小限制。返回过多数据的查询也会导致错误。

如果您看到上述任一错误,请考虑在查询中添加过滤条件,或使用更少和/或精细程度较低的维度。

排查关联工作表问题

尝试从 Google 表格连接到 Looker 时,您可能会遇到一些问题。本部分介绍了这些问题以及如何更正这些问题。

错误:连接到您的 Looker 实例时出错。请重试。如果该问题仍然存在,请发送反馈。

此错误可能是由多种原因造成的:

  • 输入的 Looker 实例名称不正确。在这种情况下,请验证您的 Looker 实例名称,然后尝试重新连接。
  • Google 表格无法连接到 Looker API。如果您的 Looker 实例未使用默认 API 主机网址,就可能会发生这种情况。如需更正此问题,请将 API 管理控制台中的 API 主机网址字段留空。

错误:Looker 实例未正确配置,因此无法使用此功能。请联系您的 Looker 管理员,确认此实例是否符合条件。

此错误可能是由多种原因造成的:

  • 您正在尝试连接到新创建的 Looker 实例。新的 Looker 实例最长可能需要 24 小时才能在关联工作表中显示。
  • 您正在尝试连接到非 Looker 托管的 Looker 实例。关联到由 Looker 托管的其他 Looker 实例。

连接到 Looker 实例后未显示任何模型

这表示您没有在实例上查看模型所需的权限。

拥有查看者角色的 Looker 用户没有足够的权限在 Google 表格中创建连接,就像他们没有足够的权限在 Looker 中使用“探索”界面一样。如果用户想要使用 Looker 关联工作表,则需要拥有 explore 权限。管理员、开发者和用户角色包含 explore 权限。Looker 管理员可以向用户授予 explore 权限,这样用户应该就能看到实例上的模型。

错误:您关联的 Looker 账号邮箱与您的 Google 账号邮箱不同。

这表示您的 Looker 账号邮箱与 Google 账号邮箱不一致。确保您登录的 Google 账号具有与您的 Looker 账号匹配的邮箱。或者,Looker 管理员可以创建一个使用您当前 Google 邮箱的新 Looker 用户账号。

错误:请求有误:未找到启用的客户端。

此错误表示关联工作表连接器尚未启用。Looker 管理员必须在管理 OAuth 客户端页面(管理员 > 身份验证 > 管理 OAuth 客户端)的应用库标签页中启用预配置的关联工作表客户端,或者在 Looker 管理员菜单的平台部分中的 BI 连接器面板上启用所有 Looker BI 连接器或 Google 表格开关。

错误:403 Forbidden

如果您的 Looker 实例配置了 IP 许可清单,该许可清单可能会阻止 Google 表格连接到 Looker API。如需确定许可清单是否是导致问题的原因,请尝试前往 Looker 实例网址,看看是否会收到 IP 地址不在许可清单中错误。

  • 对于使用 IP 许可清单的 Looker(原始版)实例,没有可添加到许可清单中的特定或精选 Google 表格 IP 地址静态列表。如需使用关联工作表,您必须停用 IP 许可清单。
  • 对于使用 IP 许可清单的 Looker (Google Cloud Core) 实例,您必须在 Google Cloud 控制台中该实例的详细信息标签页上选中将 Google 服务与此实例关联复选框。