使用 Looker 的关联工作表功能

借助 Looker 关联工作表功能,用户可以通过熟悉的 Google 表格电子表格界面以交互方式探索 LookML 模型中的数据。表格用户将能够访问 Looker 支持的 50 多个数据库中受治理的数据。关联工作表会以直观方式呈现模型,其中包含视图、字段和测量指标,这些视图与 Looker 中的定义完全相同。通过关联工作表获取的 Looker 数据可用于标准 Google 表格构建块(例如数据透视表、图表和公式),从而通过熟悉的构建块灵活地进行分析。

启用关联工作表

如需使用关联工作表,请执行以下操作:

  • 在 Looker(原始版本)中,您的 Looker 管理员必须在 Looker 管理菜单的平台部分的 BI 连接器面板中启用 All Looker BI ConnectorsConnected Sheets 切换开关。在 Looker (Google Cloud Core) 中,这些选项默认处于启用状态。
  • 您的 Looker 实例必须由 Looker 托管。
  • 如果您的 Looker 实例托管在 Google Cloud 上,则必须运行 Looker 22.20 或更高版本。如果您的 Looker 实例未托管在 Google Cloud 上,则该实例必须运行 Looker 23.4 或更高版本。
  • 每位希望通过 Google 表格连接到您的 Looker 实例的用户,其 Looker 用户账号中的电子邮件地址必须与其 Google Workspace 账号中的电子邮件地址相同。如果 Google Workspace 和 Looker 账号电子邮件地址不同,则当他们尝试从 Google 表格连接到 Looker 时,会收到错误消息。
  • 您必须在 Google Workspace 管理员控制台中启用用户对无法单独控制的服务的访问权限。此功能通常默认处于启用状态。有关详情,请参阅管理用户对无法单独控制的服务的访问权限帮助文章。

从 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 关联工作表首次发布以来,我们添加了新的过滤选项。

按值过滤 - 2023 年 8 月添加

您可以在 Looker 关联工作表中过滤 Looker 维度,方法是查看值列表,然后选择和取消选择感兴趣的值。以前,使用按条件过滤时,您需要手动输入过滤条件值。

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

系统会打开一个边栏,并且 Google 表格会从 Looker 提取 500 个最常出现的值。

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

使用 Looker 过滤表达式的过滤条件 - 已于 2023 年 9 月添加

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

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

  1. 在数据透视表的过滤器部分添加一个字段。

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

  3. 字段中输入任何 Looker 过滤条件表达式。

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

  4. 点击 OK(确定)。

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

  • 字符串开头不是:-FOO%
  • 包含并不包含的数字范围:(12, 20]

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

使用 Looker 参数和仅限过滤条件的字段 - 已于 2023 年 10 月添加

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

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

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

在 Google 表格中刷新数据

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

您的数据透视表和显示“探索”的工作表均会显示最近刷新的时间。

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

安排定期刷新时间

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

修改数据透视表设置

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

监控关联工作表

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

Query API Client Properties 字段组中,新增了三个关联工作表字段:

  • API 客户端名称 - 此字段将始终显示 Connected Sheets,以标识关联工作表条目。
  • 关联工作表电子表格 ID - 此字段显示工作表 ID,该 ID 包含在相应工作表的 Google 表格网址中。
  • 关联工作表触发器 - 此字段显示查询是由用户在 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

关联工作表 API 支持

您可以通过 AppsScriptGoogle Sheets API 获取对 Looker 关联工作表的 API 支持。

使用 API 支持,您可以通过编程方式实现的一些操作包括:

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

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

注意事项

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

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

使用关联工作表创建的查询的行数上限为 30,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 管理员必须在 Looker 管理菜单的平台部分的 BI 连接器面板中启用 All Looker BI ConnectorsConnected Sheets 切换开关。

错误:403 禁止

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