使用表计算

通过表格计算,您可以轻松创建临时指标。公式与电子表格工具(例如 Excel)中的公式类似。数据计算表在数据表中显示为绿色列,而不是蓝色列(维度)或橙色列(衡量列)。

下表中的最后一列使用表格计算公式通过 concat 函数合并数据中的三个字段。

数据表格包含将计算的“事故飞机类别”、“事故国家/地区”和“事故数量”列的值的表格。

表计算可以针对查询中的维度、测量和其他表格计算执行数学、逻辑 (true/false)、词法(基于文本)和基于日期的计算。您执行这些计算时所用的公式称为 Looker 表达式 (Lexp)

表计算不同于 LookML 定义的字段和自定义字段

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 表达式编辑器:

使用字段选择器的“自定义字段”部分中的“添加”按钮创建表计算

如果您拥有创建表计算的权限,则可以使用字段选择器自定义字段部分打开创建表计算弹出式窗口。

要使用自定义字段部分创建表格计算,请按以下步骤操作:

  1. 在字段选择器的自定义字段部分中选择添加
  2. 选择表计算,打开创建表计算弹出式窗口。

然后,对于每个表计算,请按以下步骤操作:

  1. 计算下拉列表中选择计算类型。默认情况下,系统会显示自定义表达式的选项。
  2. 根据需要添加计算定义,包括选择快捷方式计算的源列。只有探索的数据表中显示的数字字段才有资格使用自定义表达式以外的其他计算类型。
    • 如果从计算下拉菜单中选择自定义表达式,请在大文本框中输入 Looker 表达式即可创建计算。您只能根据 Google 探索数据表格中显示的字段创建表格计算结果。Looker 表达式可能非常简单;也可以根据业务逻辑的要求使用任意数量的字段、函数和运算符。您创建的表达式的计算结果可以是数字、日期、字符串(文本)或布尔值(true/false)。
    • 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何为您提供帮助。
  3. 如果需要,请从格式下拉列表中选择非默认格式。
  4. 根据需要在名称字段中输入默认的计算名称(不是默认名称)。计算名称会显示在字段选择器和数据表中。
  5. 选择 + 添加说明可添加说明(最多 255 个字符),以便向其他用户提供有关表格计算的更多背景信息或信息。
  6. 选择保存

新计算结果会自动显示在数据表和字段选择器的自定义字段部分中。与其他字段一样,您可以选择要在计算中添加或移除计算的名称。您也可以将鼠标悬停在该字段上,查看可用于该计算的更多选项

使用数据栏创建表计算

除了使用字段选择器的自定义字段部分,您还可以从数据部分栏中选择添加计算按钮以打开创建表计算弹出式窗口。

如果启用了页内表计算实验室功能,表计算表达式编辑器会在探索页面的数据部分打开。按照使用“页内表格计算”创建表格计算部分中的说明完成表格计算。

然后,对于每个表计算,请按以下步骤操作:

  1. 计算下拉列表中选择计算类型。默认情况下,系统会显示自定义表达式的选项。
  2. 根据需要添加计算定义,包括选择快捷方式计算的源列。只有探索的数据表中显示的数字字段才有资格使用自定义表达式以外的其他计算类型。
    • 如果从计算下拉菜单中选择自定义表达式,请在大文本框中输入 Looker 表达式即可创建计算。您只能根据 Google 探索数据表格中显示的字段创建表格计算结果。Looker 表达式可能非常简单;也可以根据业务逻辑的要求使用任意数量的字段、函数和运算符。您创建的表达式的计算结果可以是数字、日期、字符串(文本)或布尔值(true/false)。
    • 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何为您提供帮助。
  3. 如果需要,请从格式下拉列表中选择非默认格式。
  4. 根据需要在名称字段中输入默认的计算名称(不是默认名称)。计算名称会显示在字段选择器和数据表中。
  5. 选择 + 添加说明可添加说明(最多 255 个字符),以便向其他用户提供有关表格计算的更多背景信息或信息。
  6. 选择保存

新计算结果会自动显示在数据表和字段选择器的自定义字段部分中。与其他字段一样,您可以选择要在计算中添加或移除计算的名称。您也可以将鼠标悬停在该字段上,查看可用于该计算的更多选项

使用页内表计算创建和修改表计算

如果启用了页内表计算实验室功能,并且您拥有创建表计算的权限,则系统会在探索页面的数据部分中打开表计算表达式编辑器。通过在数据部分创建和修改表格计算,用户可以在创建和修改表达式时引用“探索”查询中的字段和值。

如需使用页内表格计算功能创建和修改表格计算,请执行以下操作:

  1. 使用字段选择器的自定义字段部分中的添加按钮使用数据打开表达式编辑器。

  2. 计算下拉菜单中选择计算类型;如果您要修改表格计算,则可以根据需要选择其他计算。默认情况下,系统会显示自定义表达式的选项。

  3. 根据需要添加计算定义,包括选择快捷方式计算的源列。只有<ph type="x-smartling-place型,但自定义表达式除外。

    • 如果从计算下拉菜单中选择自定义表达式,请在大文本框中输入 Looker 表达式即可创建计算。您只能根据 Google 探索数据表格中显示的字段创建表格计算结果。Looker 表达式可以非常简单,也可以根据您的业务逻辑要求使用任意数量的字段、函数和运算符。您创建的表达式的计算结果可以是数字、日期、字符串(文本)或布尔值(true/false)。
    • 创建 Looker 表达式文档页面介绍了如何创建 Looker 表达式,以及编辑器如何为您提供帮助。
  4. 根据需要在计算名称字段中输入一个新的默认计算名称。计算名称会显示在字段选择器和数据表中。

  5. 添加可选说明,或在说明字段中修改现有说明(最多 255 个字符)。说明可以为其他用户提供有关表计算的更多背景信息或信息。

  6. 如果要创建新的表计算,如有必要,请从格式下拉菜单中选择非默认格式。如果您要修改现有表格计算结果,请根据需要从格式下拉列表中选择其他现有格式。

  7. 选择保存。或者,选择取消退出表达式编辑器,并确认您要放弃任何未保存的更改,方法是从舍弃未保存的更改?确认弹出式窗口中选择舍弃

新计算结果会自动显示在数据表和字段选择器的自定义字段部分中。与其他字段一样,您可以选择要在计算中添加或移除计算的名称。您也可以将鼠标悬停在该字段上,查看可用于该计算的更多选项

常用计算快捷键

如果您拥有创建和修改表计算的权限,则可以对“探索”的数据表中的特定数字字段(包括其他表计算)执行快捷方式计算。

您可以通过以下任一方式执行快捷方式计算:

第二种方法可让您在创建表时对其进行自定义,例如重命名、添加可选说明或选择非默认格式。

以下部分介绍了可用的计算选项类型。

常见计算快捷方式的类型

有多种类型的计算可以作为快捷方式选项使用。下表列出了每项可用计算及其说明、输入和 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),以及计算的默认值格式和默认名称。您可以通过修改计算结果来指定不同的名称或值格式。

计算 说明 输入 Lexp 表达式 形式 名称
上一列的百分比 对于透视字段,当前列的值除以该列左侧的值。 field_1 field_1 / pivot_offset(field_1, -1) %(小数点后 0 位) 上一列view_name field_name的百分比
与上一列相比的变化百分比 对于透视字段,则当前列的值与左侧列值之间的差值除以列左侧的值。 field_1 (field_1/pivot_offset(field_1, -1)) - 1 %(小数点后 0 位) view_name 的上一列相比的百分比变化field_name
行的行 对于透视字段,用当前列值的百分比除以该字段的行总和。 field_1 field_1/sum(pivot_row(field_1)) %(小数点后 0 位) 行的百分比
总行数 对于透视字段,当前列和此行之前所有列的累计总和。 field_1 sum(pivot_offset_list(field_1,
-1*pivot_column()
+1,pivot_column()))
默认格式 总行数

使用字段的数据表齿轮菜单使用快捷方式进行常见计算

如果您拥有创建和修改表计算的权限,则可以按照以下步骤通过字段的数据表齿轮图标创建快捷方式计算:

  1. 在数据表中,选择名称旁边的名称旁边的齿轮图标。
  2. 选择计算以显示可用的计算类型。
  3. 选择计算类型

除非对探索结果进行数据透视,否则不会显示数据透视计算类型。

新的计算方式将在数据表格中自动显示为绿色列。

新计算也会显示在字段选择器的自定义字段部分中。

与其他字段一样,您可以选择要在计算中添加或移除计算的名称。您还可以将鼠标悬停在该字段上,以查看可用于该计算的更多选项,包括修改计算。

使用“创建或修改表”计算弹出式窗口,使用快捷方式进行常见计算

通过此方法,您可以采用非默认格式或名称,或者在创建计算时添加说明。

  1. 如果您要创建表计算,请打开创建表计算弹出式窗口;如果要修改表计算,请打开修改表计算弹出式窗口。

    “修改表格计算”弹出式窗口会根据“目录项数量”字段显示之前行计算的百分比。

  2. 计算下拉列表中选择计算类型。此示例使用上一行百分比比较广告资源项的数量和上月的广告资源项数。

    • 除非对探索结果进行数据透视,否则不会显示数据透视计算类型。
  3. 源列下拉菜单中,选择要执行计算的字段。您只能选择“探索”数据表格中显示的数字字段。在此示例中,用户选择对目录项数量进行计算,计算的是上一行的百分比

  4. (可选)使用格式下拉菜单为搜索结果选择预定义的格式或创建自定义格式。如果您要创建自定义格式,请使用 Excel 样式的格式,如向数字字段添加自定义格式文档中所述。如果未做出选择,Looker 将使用默认格式。

  5. 如果需要,可以使用 Name 字段中的默认名称重命名表计算名称。计算名称会显示在字段选择器和数据表中。

  6. 选择 + 添加说明可添加说明(最多 255 个字符),以便向其他用户提供有关表格计算的更多背景信息或信息。

  7. 完成表格计算后,选择保存即可将计算结果添加到“探索”中。

新的计算方式将在数据表格中自动显示为绿色列。

新计算也会显示在字段选择器的自定义字段部分中。

与其他字段一样,您可以选择要在计算中添加或移除计算的名称。您还可以将鼠标悬停在该字段上,以查看可用于该计算的更多选项,包括修改计算。

复制表计算

如果您拥有创建表计算的权限,则也可以复制您或其他用户创建的现有表计算。如果您想创建只有细微差别的多个表格计算(例如 30 天、60 天或 90 天的总和),那么复制并修改表计算会很有帮助。

您可以通过以下方式复制表计算:

  • 在字段选择器的自定义字段部分中使用计算方法的三点状更多菜单
  • 使用计算数据表格齿轮菜单

如需复制表计算,请按以下步骤操作:

  1. 在字段选择器中,展开字段选择器的自定义字段部分。
  2. 选择要复制的表格计算对应的三点状更多菜单。
  3. 选择复制

或者,从计算的数据表格齿轮菜单中选择复制

复制的表格计算结果会使用原始表格计算名称以及末尾处加上的“复制”字样,显示在字段选择器的自定义字段部分中。

接下来,您可以修改重复的表计算。

修改表计算

如果您拥有创建表计算的权限,还可以修改自己或其他用户创建的现有表计算。

您可以通过以下几种方式修改表计算:

  • 在字段选择器的自定义字段部分中使用计算方法的三点状更多菜单
  • 使用计算数据表格齿轮菜单

如需修改表的计算,请按以下步骤操作:

  1. 展开字段选择器的自定义字段部分,或从计算的数据表格齿轮图标中选择修改计算,以打开修改表格计算弹出式窗口。
  2. 选择要修改的表计算旁边的三点状更多菜单。
  3. 选择修改以打开修改表计算弹出式窗口。
  4. 如果需要,请从计算下拉菜单中选择新的计算类型
  5. 根据需要更改计算定义,包括快捷方式计算的源列。只有探索的数据表中显示的数字字段才有资格使用自定义表达式以外的其他计算类型。
    • 如果从计算下拉菜单中选择自定义表达式,则可以在大文本框中添加 Looker 表达式,也可以修改现有 Looker 表达式。您只能根据 Google 探索数据表格中显示的字段创建表格计算结果。
  6. 如果需要,请从格式下拉列表中选择一种新格式。
  7. 根据需要在名称字段中输入新的计算名称。计算名称会显示在字段选择器和数据表中。如果您更改了表计算的任何内容,请考虑修改名称以保持一致。
  8. 添加或更新可选字段说明(最多 255 个字符),并提供表计算详细信息(包括预期用途)。
    • 如果已有广告内容描述,系统会自动显示广告内容描述框。如果没有现成的说明,请选择 + 添加说明以添加说明(可选)。
  9. 选择保存

删除表计算

如果您拥有创建表计算的权限,还可以删除自己或其他用户创建的表计算。删除表格计算结果后,该结果会从“探索”中消失,但不会从采用该计算结果的任何 Looks 或信息中心图块中显示。此外,使用包含自定义字段的“探索”网址的用户将仍然可以看到计算结果。

您可以通过以下几种方式删除表计算:

  • 在字段选择器的自定义字段部分中使用计算方法的三点状更多菜单
  • 使用计算数据表格齿轮菜单

如需删除表计算,请按以下步骤操作:

  1. 展开字段选择器的自定义字段部分。
  2. 选择要删除的表格计算旁边的三点状更多菜单。
  3. 选择删除

或者,从表格计算的数据表齿轮图标中选择删除

您还可以使用键盘快捷键 Command-K (Mac) 或 Ctrl+K (Windows) 删除表格计算结果,并清除“探索”查询中的字段。

通过选择浏览器中的返回箭头,您可以恢复已删除的自定义字段。

对表格计算进行排序

要为表格计算排序,请选择列顶部的字段名称,就像计算维度或指标一样。如需详细了解如何排序,请参阅探索数据文档页面。

无法计算表计算情况

在表格中计算的排序方式与在 Looker 中按维度或维度排序类似。不过,在某些情况下,阻碍排序的还有两个重要区别:

  • 表计算是从数据库检索数据后创建的,也就是说,在对表计算进行排序时,只能对已显示的数据进行排序。
  • 某些表计算适用于同一列中的多个行,例如使用 offset() 函数时(如需了解详情,请参阅 Looker 最佳做法中的使用 offsetpivot_offset 函数)。在这种情况下,对表格计算进行排序会改变其结果,因此会被停用。

您无法对表计算进行排序的具体情形包括:

达到了行数上限的计算

如果查询中的行数超出了您设置的行数上限,您将无法对表格计算进行排序。这是因为表格的计算仅基于显示的行。因此,如果达到行数上限,表计算可能会缺少一些应该归类到结果中的行。如果遇到此问题,您可以尝试提高行数上限(最多 5000 行)。

在结果达到行数上限时,Looker 会在数据表顶部的黄色栏中显示文字已达到行数上限:结果可能不完整来向您发出警告。

发生这种情况时,您可以尝试按非表计算字段对数据进行排序。

将表格计算后对维度或衡量进行排序

如本页面的达到行数上限的计算部分所述,表的计算只取决于显示的行。相反,按维度或指标排序将返回到您的数据库,以确保其找到正确的行。因此,您应按维度和度量值开始进行排序。然后,在数据库中返回正确的数据后,您可以根据表格计算对这些结果进行排序。

在可视化图表中使用表计算

就像 LookML 定义的维度和指标一样,可视化图表会自动显示表格计算结果。

此外,您可以使用表格计算功能来决定在可视化图表中显示哪些数据行。以下示例将用于探索此功能;该示例包含有关配件类别的每周销售信息。

请注意,底层数据表包含“订单创建周数”维度和“订单商品总利润”指标,以及一个名为“上周利润百分比”的表格计算值,此表可以比较每周与上一周的利润:

您现在可以阻止某些数据行显示在柱形图中。为此,您将创建计算结果为 true 或 false 的表格计算,然后隐藏 false 值(在您的数据表中将显示为“否”条目)。您不希望公式生成 word“true”或“false”;相反,它应该是一个 true 或 false 的条件

为了得出这一结果,您可以创建表计算(即超出上周利润),以评估“上一周利润百分比”计算的值是否大于 1:

${percent_of_previous_week_profit} > 1

得到的表格将包含一项新的表格计算结果,它会根据超过前一周的利润计算结果评估每行,并显示,具体取决于前一百分比是否大于 1。

若要隐藏特定周的收入未超过前一周收入的所有行,请选择 true 或 false 计算的数据表格齿轮图标菜单,然后选择在可视化图表中隐藏“否”

现在,显示的可视化图表将仅显示超出前一周收入的那一周。

此功能的一个常见用例是在可视化图表中隐藏第一行或最后一行,因为许多类型的分析会在表的开头或末尾创建包含 null 值的行:

  • 显示累积总计的数据表
  • 部分日期的数据,并且数据在日期分析结束后结束
  • 计算上一行的百分比

如需滤除包含 null 值的行,请使用 is_null 逻辑函数创建新的表计算:

NOT is_null(${percent_of_previous_week_sales})

然后,从表格计算的数据表格齿轮图标菜单中选择在可视化图表中隐藏“否”,以隐藏该行。

使用表计算的注意事项

  • 您在表计算中使用的所有字段都必须是初始查询的一部分。
  • 公式必须采用小写字母。ROUND不起作用,但round可以。
  • 表计算只会针对查询中返回的行执行操作。如果上限为 500 行,则不考虑第 501 行。
  • 如果您向数据表中添加了总计行,某些执行汇总的表格计算结果可能无法按预期加起来,例如,使用 percentilemedian 的计算结果。这是因为表格计算使用“总计”行中的值(而不是使用“数据”列中的值)来计算总计值。如需了解问题排查提示,请参阅可能容易混淆的表计算总数为 null 的最佳实践页面。
  • 对于小于 1 的小数,始终使用前导零。例如,0.95 是有效的,但 0.95 会导致错误。
  • 使用 Command-K (Mac) 或 Ctrl+K (Windows) 键盘快捷键将清除所有表格计算结果,包括自定义字段。如需恢复表格计算,请选择浏览器中的返回箭头。您可能还需要重新运行查询。