在 Looker 中探索数据时,您可能需要计算数据模型中未定义的计算指标,例如计算累计总和、比较行或列中的值,或查找一段时间内的百分比变化。您无需等待 LookML 开发者更新模型,而是可以直接在“探索”中创建表计算,以便即时分析查询结果。
借助表计算,您可以创建临时指标,在从数据库中检索数据后,对查询中的维度、测量和其他表计算进行操作。这项功能类似于 Google 表格等电子表格工具中的公式。在数据表中,表计算显示为绿色列,以区别于蓝色维度和橙色测量。
例如,下表中的最后一列使用与上一行相比变化的百分比 快捷计算来计算航班数量与上一行相比变化的百分比:

如需创建和使用表计算,您必须拥有 create_table_calculations 权限。
您可以根据分析目标,通过以下两种方式创建表计算:
- 快捷计算:直接对数值字段应用常见计算(例如上一行的百分比、累计总数、列总计的百分比或移动平均值),而无需编写公式。
- 自定义表达式:使用 Looker 表达式 (Lexp) 针对查询结果中的任何字段构建数学、逻辑(是真是假)、基于文本或基于日期的计算。
表计算与 LookML 定义的字段和自定义字段不同
表计算与 LookML 中定义的 LookML 字段之间存在一些差异:
- 表计算让拥有适当权限的用户能够创建基于 LookML 定义的字段的计算,而不是创建 LookML 定义的字段,后者需要用户拥有开发权限并了解 LookML。
- 表计算在查询运行后根据查询结果进行操作,而 LookML 定义的字段或自定义字段则是针对数据库运行的查询的一部分。换句话说,您需要先选择一组维度和测量并照常运行查询,然后根据查询结果中的数据进行表计算。
- 与 LookML 定义的字段相比,表计算创建起来更快,但不太好掌控。由于任何用户都可以创建表计算,因此可能不是经核准的“正式”计算。在决定是要使用 LookML 定义的字段还是表计算时,请做好取舍,毕竟 Looker 利用 LookML 来维护单一事实来源。
表计算与自定义字段之间存在一些差异:
- 自定义字段会生成将针对数据库运行的 SQL,类似于 LookML 定义的字段。表计算在查询后执行,不会针对数据库运行。
- 表计算依赖于数据表中的数据,而自定义字段则不依赖。
在该表中,表计算字段会显示在维度和测量旁边。如果您想在日后重复使用表计算,请务必将“探索”保存为 Look 或信息中心图块。
创建表计算
如需允许用户或群组创建表计算,您的 Looker 管理员必须向这些用户或群组授予 create_table_calculations 权限,以便他们能够使用该功能。
Looker 的“探索”页面内置了 Looker 表达式编辑器,可帮助您创建表计算、自定义字段和自定义过滤条件。如果您是 Looker 开发者,正在创建数据测试来验证模型的逻辑,则还可以使用 Looker 表达式编辑器构建 Looker 表达式,然后将该表达式复制到数据测试的 expression 参数中。
创建表计算的方法因您使用的是默认探索界面还是传统探索界面而异。
在默认的“探索”界面中创建表计算
如需在默认的“探索”界面中创建表计算,请按以下步骤操作:
在配置面板中,选择 + 添加,然后选择表计算,以打开创建表计算对话框。
在创建表计算对话框中,从计算下拉菜单中选择计算类型。系统会默认显示自定义表达式的选项。
添加计算定义,包括选择快捷计算的来源列。只有“探索”的数据表中显示的数值字段才符合自定义表达式以外的计算类型的条件。
- 如果从计算下拉菜单中选择自定义表达式,请在大字段中输入 Looker 表达式,创建用于执行计算的表达式。您只能基于“探索”的数据表中显示的字段创建表计算。Looker 表达式的计算结果可以是数字、日期、字符串(文本)或布尔值 (true/false)。
- 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何提供帮助。
(可选)从格式下拉菜单中选择默认格式以外的格式。
(可选)在名称字段中输入新的计算名称,而不是默认名称。计算名称会显示在配置面板和数据表中。
选择 + 添加说明,即可添加可选说明(最多 255 个字符),为其他用户提供有关表计算的更多背景信息。
选择保存。
您也可以直接从数据窗格创建快捷计算,具体步骤如下:
- 在数据窗格中,选择数值字段的数据列 更多菜单。
- 选择 计算,然后选择快捷计算。
新计算结果会自动显示为数据表中的绿色列,并显示在配置面板中的自定义字段视图中。
与其他字段一样,您可以选择计算名称,在查询中添加或移除该计算。您还可以将光标悬停在该字段上,以显示该计算的更多可用选项。
在传统探索中创建表计算
在传统版“探索”中,您可以通过以下方式从“探索”页面访问 Looker 表达式编辑器:
使用字段选择器的自定义字段部分中的 + 添加按钮创建表计算
如果您拥有创建表计算的权限,则可以使用字段选择器的自定义字段部分打开创建表计算对话框。
如需使用自定义字段部分创建表计算,请按以下步骤操作:
- 在字段选择器的自定义字段部分中,选择 + 添加。
选择表计算,打开创建表计算对话框。
然后,针对每个表计算,按照以下步骤操作:
- 从计算下拉菜单中选择计算类型。系统会默认显示自定义表达式的选项。
- 添加计算定义,包括选择快捷计算的来源列。只有“探索”的数据表中显示的数值字段才适用于自定义表达式以外的计算类型。
- 如果从计算下拉菜单中选择自定义表达式,请在大文本字段中输入 Looker 表达式,创建用于执行计算的表达式。您只能基于“探索”的数据表中显示的字段创建表计算。您可以创建基本的 Looker 表达式,也可以根据您的业务逻辑需求使用多个字段、函数和运算符。您创建的表达式的计算结果可以是数字、日期、字符串(文本)或布尔值 (true/false)。
- 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何提供帮助。
- (可选)从格式下拉菜单中选择默认格式以外的格式。
- (可选)在名称字段中输入新的计算名称,而不是默认名称。计算名称会显示在字段选择器和数据表中。
- 选择 + 添加说明,即可添加可选说明(最多 255 个字符),为其他用户提供有关表计算的更多背景信息。
- 选择保存。
新计算结果会自动显示在数据表中,以及字段选择器的自定义字段部分。与其他字段一样,您可以选择计算的名称,在查询中添加或移除该计算。您还可以将光标悬停在该字段上,以显示该计算的更多选项。
使用“数据”窗格创建表计算
除了使用字段选择器的自定义字段部分之外,您还可以通过点击数据窗格中的添加计算按钮,打开创建表计算对话框。
然后,针对每个表计算执行以下步骤:
- 从计算下拉菜单中选择计算类型。系统会默认显示自定义表达式的选项。
- 添加计算定义,包括选择快捷计算的来源列。只有“探索”的数据表中显示的数值字段才适用于自定义表达式以外的计算类型。
- 如果从计算下拉菜单中选择自定义表达式,请在大字段中输入 Looker 表达式,创建用于执行计算的表达式。您只能基于“探索”的数据表中显示的字段创建表计算。您可以创建基本的 Looker 表达式,也可以根据您的业务逻辑需求使用多个字段、函数和运算符。您创建的表达式的计算结果可以是数字、日期、字符串(文本)或布尔值 (true/false)。
- 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何提供帮助。
- (可选)从格式下拉菜单中选择默认格式以外的格式。
- (可选)在名称字段中输入新的计算名称,而不是默认名称。计算名称会显示在字段选择器和数据表中。
- 选择 + 添加说明,即可添加可选说明(最多 255 个字符),为其他用户提供有关表计算的更多背景信息。
- 选择保存。
新计算结果会自动显示在数据表中,以及字段选择器的自定义字段部分。与其他字段一样,您可以选择计算的名称,在查询中添加或移除该计算。您还可以将光标悬停在该字段上,以显示该计算的更多选项。
常见计算的快捷方式
如果您有权创建和修改表计算,则可以对“探索”的数据表中的某些数字字段(包括其他表计算)执行快捷计算。
您可以通过以下任一方式执行快捷计算:
第二种方法可让您在创建表计算时对其进行自定义,例如重命名、添加可选说明或选择默认格式以外的格式。
以下部分介绍了可用的计算选项类型。
常见计算快捷方式的类型
有多种类型的计算可作为快捷选项。下表列出了每种可用计算方式及其说明、输入和 Looker 表达式 (Lexp),以及计算方式的默认值格式和默认名称。您可以通过修改计算来指定其他名称或值格式。
如需了解仅适用于透视结果的常见计算快捷方式,请参阅本页面上的常见透视计算快捷方式表格。
| 计算 | 说明 | 输入 | Lexp 表达式 | 格式 | 名称 |
|---|---|---|---|---|---|
占列的百分比占列的百分比 |
行值除以相应列中各值之和。达到行数上限后,此计算仅包含数据表中的值。 |
field_1
|
field_1/sum(field_1)
|
%(0 位小数) |
view_name field_name 所占百分比
|
与上一行相比的百分值与上一行相比的百分值 |
当前行的值除以下一行的值。 |
field_1
|
field_1/offset(field_1, 1)
|
%(0 位小数) |
与前一个相比的百分比 - view_name field_name
|
与上一行相比变化的百分比与上一行相比变化的百分比 |
当前行的值与下一行的值之差除以下一行的值。 |
field_1
|
field_1/offset(field_1, 1) - 1
|
%(0 位小数) |
与前一个相比变化的百分比 - view_name field_name
|
累计列总计累计列总计 |
当前行的值与该列中前面所有行的值的累计总和。 |
field_1
|
running_total(field_1)
|
默认格式 |
view_name field_name的累计总计
|
列排名列排名 |
行的值在相应列所有值中的排名。达到行数上限后,此计算仅包含数据表中的值。 |
field_1
|
rank(field_1,field_1)
|
默认格式 |
view_name field_name排名
|
如果探索结果经过透视,则透视后的测量会有更多常见的计算快捷方式。
下表列出了每种可用计算方式及其说明、输入和 Looker 表达式 (Lexp),以及计算方式的默认值格式和默认名称。您可以通过修改计算来指定其他名称或值格式。
使用数据表中的快捷方式进行常见计算
如果您有权创建和修改表计算,则可以通过以下方式在数据表的字段列中创建快捷计算:
在默认的“探索”界面中:
- 在数据窗格中,选择数值字段的数据列 更多菜单。
- 选择 计算。
- 选择计算类型。
在传统版“探索”页面中:
- 在数据表中,选择相应字段名称旁边的齿轮菜单。
- 选择计算。
- 选择计算类型。
除非对探索结果进行透视,否则透视计算类型不会显示。
新计算会自动在数据表中显示为绿色列。
新计算也会显示在配置面板的自定义字段视图中(或传统探索中字段选择器的自定义字段部分)。
与其他字段一样,您可以选择计算名称,在查询中添加或移除该计算。您还可以将光标悬停在该字段上,以显示该计算的更多可用选项,包括修改计算。
使用“创建或修改表计算”对话框,通过快捷方式执行常见计算
通过此方法,您可以在创建计算时选择默认格式或名称以外的格式或名称,也可以添加说明。
- 如果您要创建表计算,请打开创建表计算对话框;如果您要修改表计算,请打开修改表计算对话框。
- 从计算下拉菜单中选择计算类型。
- 除非对探索结果进行透视,否则透视计算类型不会显示。
- 在源列下拉菜单中,选择要对其执行计算的字段。只有在探索的数据表中显示的数值字段可供选择。
- 或者,使用格式下拉菜单为结果选择预定义的格式或创建自定义格式。如要创建自定义格式,请使用电子表格样式格式,详情请参阅向数字字段添加自定义格式文档页面。如果未做出选择,Looker 会使用默认格式。
- (可选)在名称字段中,将表计算的默认名称重命名。计算名称会显示在字段选择器和数据表中。
- 选择 + 添加说明,即可添加可选说明(最多 255 个字符),为其他用户提供有关表计算的更多背景信息。
- 如果您已完成表计算的创建,请选择保存,将计算添加到“探索”中。
新计算会自动在数据表中显示为绿色列。
新计算也会显示在配置面板的自定义字段部分(或传统探索中字段选择器的自定义字段部分)。
与其他字段一样,您可以选择计算名称,在查询中添加或移除该计算。您还可以将光标悬停在该字段上,以显示该计算的更多可用选项,包括修改计算。
复制表计算
如果您有权创建表计算,则还可以复制您或其他用户创建的现有表计算。如果您想创建多个只有细微差异的表计算(例如 30 天、60 天或 90 天的总和),复制然后修改表计算会很有帮助。
复制表计算的方法因您使用的是默认探索界面还是传统探索界面而异。
在默认的“探索”界面中复制表计算
您可以通过以下任一方式在默认的“探索”界面中复制表计算:
- 在配置面板中,展开自定义字段视图,选择相应计算的 更多菜单,然后选择复制。
- 在数据窗格中,选择计算的数据列 更多菜单,然后选择 复制。
复制的表计算会显示在配置面板的自定义字段视图中以及数据表中,其名称为原始表计算的名称加上末尾附加的“Copy”一词。
接下来,您可以修改复制的表计算。
在传统版“探索”中复制表计算
在传统版“探索”中,您可以通过以下方式复制表计算:
- 使用字段选择器自定义字段部分中计算的三点状更多菜单
- 使用计算的数据表齿轮菜单
如需在传统版“探索”中复制表计算,请按以下步骤操作:
- 在字段选择器中,展开自定义字段部分。
- 选择要复制的表计算的三点状更多菜单。
- 选择复制。
或者,从计算的数据表齿轮菜单中选择复制。
复制的表计算会显示在字段选择器的自定义字段部分中,位于原始表计算之后,其名称为原始表计算的名称加上末尾附加的“Copy”一词。
接下来,您可以修改复制的表计算。
修改表计算
如果您有权创建表计算,则还可以修改您或其他用户创建的现有表计算。
修改表计算的方法因您使用的是默认“探索”界面还是传统“探索”界面而异。
在默认的“探索”界面中修改表计算
您可以通过以下任一方式在默认的“探索”界面中修改表计算:
- 在配置面板中,展开自定义字段视图,选择相应计算的 更多菜单,然后选择修改。
- 在数据窗格中,选择计算的数据列 更多菜单,然后选择 修改或修改计算。
无论选择哪个选项,系统都会打开修改表计算对话框。如需修改表计算,请按以下步骤操作:
- 从计算下拉菜单中选择新的计算类型。
- 更改计算定义,包括快捷计算的来源列。只有“探索”的数据表中显示的数值字段才适用于自定义表达式以外的计算类型。
- 如果从计算下拉菜单中选择自定义表达式,请在大型文本字段中添加 Looker 表达式或修改现有 Looker 表达式。您只能基于“探索”的数据表中显示的字段创建表计算。如果可用,您可以使用 Gemini 协助创建 Looker 表达式。
- 从格式下拉菜单中选择新格式。
- (可选)在名称字段中输入新的计算名称。计算名称会显示在配置面板和数据表中。如果您对表计算进行了任何更改,请考虑修改名称以使其保持一致。
- 添加或更新可选的字段说明(最多 255 个字符),其中包含有关表计算的详细信息,包括其预期用途。
- 如果已有说明,系统会自动显示说明框。如果不存在说明,请选择 + 添加说明以添加可选说明。
- 选择保存。
在传统版探索中修改表计算
在传统版“探索”中,您可以通过以下方式修改表计算:
- 使用字段选择器自定义字段部分中计算的三点状更多菜单
- 使用计算的数据表齿轮菜单
如需在传统版“探索”中修改表计算,请按以下步骤操作:
- 展开字段选择器的自定义字段部分,或从计算的数据表齿轮菜单中选择修改计算,以打开修改表计算对话框。
- 选择要修改的表计算旁边的三点状更多菜单。
- 选择修改以打开修改表计算对话框。
- 从计算下拉菜单中选择新的计算类型。
- 更改计算定义,包括快捷计算的来源列。只有“探索”的数据表中显示的数值字段才适用于自定义表达式以外的计算类型。
- 如果从计算下拉菜单中选择自定义表达式,请在大型文本字段中添加 Looker 表达式或修改现有 Looker 表达式。您只能基于“探索”的数据表中显示的字段创建表计算。
- 从格式下拉菜单中选择新格式。
- (可选)在名称字段中输入新的计算名称。计算名称会显示在字段选择器和数据表中。如果您对表计算进行了任何更改,请考虑修改名称以使其保持一致。
- 添加或更新可选的字段说明(最多 255 个字符),其中包含有关表计算的详细信息,包括其预期用途。
- 如果已有说明,系统会自动显示说明框。如果不存在说明,请选择 + 添加说明以添加可选说明。
- 选择保存。
移除和删除表计算
如果您有权创建表计算,则可以从查询中移除表计算,也可以从“探索”中删除表计算。
删除表计算后,该计算会从“探索”中消失,但不会从使用该计算的任何 Look 或信息中心图块中消失。此外,任何使用包含表计算的“探索”网址的用户仍会看到该计算。
您可以选择移除或删除:
- 移除:从“探索”查询和数据表中移除表计算,但将计算定义保留在配置面板中的自定义字段视图中,以便您日后可以将其重新添加到查询中。
- 删除:从“探索”查询和配置面板中的自定义字段视图中永久删除表计算。
移除和删除表计算的方法因您使用的是默认“探索”界面还是传统“探索”界面而异。
在默认的“探索”界面中移除表计算
如需从查询中移除表计算,但将其保留在配置面板中,请使用以下任一方法:
- 在数据窗格中,选择计算的数据列 更多菜单,然后选择 移除。
- 在配置面板中,展开自定义字段视图,然后点击表计算的名称以取消选择。
表计算将不再显示在数据表或查询结果中,但仍可在配置面板中的自定义字段视图下找到。
在默认的“探索”界面中删除表计算
如需从“探索”查询和配置面板中永久删除表计算,请使用以下任一方法:
- 在配置面板中,展开自定义字段视图,选择相应计算的 更多菜单,然后选择 删除。
- 在数据窗格中,选择计算的数据列 更多菜单,然后选择 删除。
您还可以使用键盘快捷键 Command-K (Mac) 或 Ctrl+K (Windows) 从探索查询中删除表计算和清除字段。
您可以通过选择浏览器上的后退箭头来恢复已删除的表计算。
移除传统版“探索”中的表计算
在传统版“探索”中,您可以通过以下方式移除表计算:
- 使用字段选择器自定义字段部分中计算的三点状更多菜单
- 使用计算的数据表齿轮菜单
如需在传统版“探索”中移除表计算,请按以下步骤操作:
- 展开字段选择器的自定义字段部分。
- 在要移除的表计算旁边,选择三点状更多菜单。
- 选择移除。
或者,从表计算的数据表齿轮菜单中选择移除。
在传统版探索中删除表计算
在传统版“探索”中,您可以通过以下方式删除表计算:
- 使用字段选择器自定义字段部分中计算的三点状更多菜单
- 使用计算的数据表齿轮菜单
如需在传统版“探索”中删除表计算,请按以下步骤操作:
- 展开字段选择器的自定义字段部分。
- 选择要删除的表计算旁边的三点状更多菜单。
- 选择删除。
或者,从表计算的数据表齿轮菜单中选择删除。
您还可以使用键盘快捷键 Command-K (Mac) 或 Ctrl+K (Windows) 从探索查询中删除表计算和清除字段。
您可以通过选择浏览器上的后退箭头来恢复已删除的表计算。
对表计算进行排序
如需对表计算进行排序,请选择列顶部的字段名称,就像对维度或测量进行排序一样。如需详细了解排序,请参阅创建和修改探索文档页面。
无法对表计算进行排序的情况
对表计算进行排序的方式与在 Looker 中对维度或测量进行排序的方式类似。不过,有两点重要差异会导致在某些情况下无法排序:
- 表计算是在从数据库中检索数据后创建的,这意味着,在对表计算进行排序时,您只能对已显示的数据进行排序。
- 某些表计算会应用于同一列中的多行,例如使用
offset()函数时(如需了解详情,请参阅 Looker 最佳实践中的使用offset和pivot_offset函数)。在这些情况下,对表计算进行排序会改变其结果,因此该功能会被停用。
无法对表计算进行排序的具体情况包括:
- 当您使用的计算达到行数上限时
- 在已按表计算排序后,使用维度或测量
- 使用利用偏移量的表计算时
达到行数上限的计算
如果查询中的行数超过了您设置的行数上限,您将无法对表计算进行排序。这是因为表计算仅基于显示的行。因此,如果您达到行数上限,表计算可能会缺少一些本应排序到结果中的行。如果您遇到此问题,可以尝试提高行数上限(最多 5,000 行,如果管理员指定了更高的上限,则最多 50,000 行)。
当结果达到行数上限时,Looker 会在数据表顶部的黄色栏中显示文本已达到行数上限:结果可能不完整,以此发出警告。
发生这种情况时,您可以尝试按非表计算字段对数据表进行排序。
在对表计算进行排序后,对维度或测量进行排序
如本页中的达到行数上限的计算部分所述,表计算仅基于显示的行。相比之下,按维度或测量值排序会返回到数据库,以确保找到正确的行。因此,您应该先按维度和测量进行排序。然后,当数据库返回正确的数据后,您可以根据表计算对这些结果进行排序。
在可视化图表中使用表计算
与 LookML 定义的维度和测量一样,表计算也会自动显示在可视化图表中。
此外,您还可以使用表计算来决定应在可视化图表中显示数据的哪些行。以下示例将用于探索此功能;此示例包含配饰类别的每周销售信息。
请注意,底层数据表包含维度 Orders Created Week(订单创建周)和测量 Order Items Total Profit(订单项总利润),以及名为 Percent of Previous Week Profit(上周利润百分比)的表计算,用于比较每周利润与上周利润:

现在,您可以阻止某些数据行显示在柱形图中。为此,您需要创建一个表计算,其计算结果为 true 或 false,然后隐藏 false 值(在数据表中显示为“否”条目)。您不希望公式的结果是字词“true”或“false”,而是希望结果是 true 或 false 条件。
为实现此结果,您可以创建一个表计算 Exceeds Previous Week Profit,用于评估 Percent of Previous Week Profit 计算结果是否大于 1:
${percent_of_previous_week_profit} > 1
生成的表格将包含一个新的表计算,该计算会根据 Exceeds Previous Week Profit 计算评估每一行,并根据上周百分比是否大于 1 显示 Yes 或 No。

如需隐藏特定周的收入未超过前一周收入的所有行,请选择 true 或 false 计算的数据表齿轮菜单,然后选择在可视化图表中隐藏“否”。
现在,生成的图表将仅显示收入超过前一周的周。

此功能的一个常见应用场景是在可视化图表中隐藏第一行或最后一行,因为许多类型的分析都会在表格的开头或结尾创建包含 null 值的行:
- 显示累计总计的数据表
- 日期分析结束时包含部分日期的结果
- 计算上一行的百分比时
如需滤除包含 null 值的行,请使用 is_null 逻辑函数创建新的表计算:
NOT is_null(${percent_of_previous_week_sales})
然后,从表计算的数据表齿轮菜单中选择在可视化图表中隐藏“否”,以隐藏该行。
使用表计算时的注意事项
- 您在表计算中使用的所有字段都必须是初始查询的一部分。
- 公式必须采用小写形式。
ROUND将无法使用,但round可以。 - 表计算仅对查询中返回的行进行操作。如果存在 500 行的限制,则第 501 行将不会被考虑。
- 如果您向数据表中添加总计行,某些执行汇总的表计算可能不会按预期进行累加,例如使用
percentile或median的计算。这是因为表计算功能会使用总计行中的值(而非数据列中的值)来计算总计。如需查看问题排查提示,请参阅将可能令人困惑的表计算总计显示为 null 最佳实践页面。 - 对于小于 1 的小数,请始终使用前导零。例如,0.95 可以正常运行,但 .95 会导致错误。
- 使用 Command-K (Mac) 或 Ctrl+K (Windows) 键盘快捷键将清除所有表计算,包括自定义字段。如需恢复表计算,请选择浏览器上的返回箭头。您可能还需要重新运行查询。
相关资源
现在,您已经了解了如何创建和修改表计算,接下来您可能需要执行以下操作:
- 过滤和限制结果,仅显示您感兴趣的数据。
- 创建自定义字段,以创建临时探索指标。
- 创建可视化图表。
- 将探索查询另存为 Look。
- 将探索查询添加到信息中心。
- 与其他用户共享数据。