计算多行的值

在 Tableau Prep Builder 版本 2023.2 及更高版本以及 Tableau Cloud 中的 Web 上受支持。Tableau Server 中尚不支持此功能。

注意:从版本 2020.4.1 开始,您可以在 Tableau ServerTableau Cloud 中创建和编辑流程。除非另有说明,否则本主题中的内容适用于所有平台。有关在 Web 上制作流程的详细信息,请参见 Tableau Server(链接在新窗口中打开)Tableau Cloud(链接在新窗口中打开) 帮助中的 Web 上的 Tableau Prep

多行计算可让您计算流程中多行数据之间的值。虽然与 Tableau 中的表计算类似,但在运行流程时,多行计算适用于整个数据集。您还可以使用其他类型的计算来构建结果。

在 Tableau 中,表计算仅适用于可视化项中的值。虽然您可以基于结果进行构建,但必须使用另一个表计算来执行此操作。有关在 Tableau 中使用表计算的详细信息,请参见 Tableau 帮助中的使用表计算转换值(链接在新窗口中打开)

在数据准备期间执行表计算可以在 Tableau 中分析数据时提供更大的灵活性。在构建视图时,您可以轻松地重复使用计算,并且基础计算不会受到筛选的影响。由于在查询运行后不会重新计算表计算,因此大型数据集的工作簿加载时间可能会更快。

Tableau Prep 目前支持以下多行计算:

  • 差异:计算当前行值与另一个值之间的差异。
  • 百分比差异:以百分比形式计算当前行值与另一个值之间的差异。
  • 移动计算:返回一组灵活的行中数字字段的总和或平均值。

使用可视化计算编辑器快速生成计算,或使用 LOOKUP() 函数在计算编辑器中编写您自己的自定义计算。

计算差异

“差异”计算对当前值与当前行之前或之后 N 行的值之间的差异进行运算。

可视化计算编辑器

从列表中选择字段,Tableau Prep 将在您进行选择时为您构建计算。新字段结果的预览显示在左侧窗格中,您可以在窗格最右侧查看计算结果。

  1. 在配置卡或结果窗格中,单击“更多选项” 菜单并选择“创建计算字段”>“差异”

  2. “分组依据”部分,选择具有要包括在计算中的行的字段。这会在执行计算时对表进行分区。若要将计算应用于表中的所有行,请接受默认值“完整表”

    选择第一个字段后,单击加号 图标以将任何其他“分组依据”字段添加到分区。若要重新排序或移除字段,请右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作。

  3. “排序依据”部分,选择要用作排序依据的字段。此字段用于指定 LOOKUP 函数如何对表中的行进行排序。

    如果您在其中选择“创建计算字段”>“差异”菜单选项的字段是日期或时间字段,则默认情况下会添加此字段,但您可以对其进行更改。

    单击加号 图标以向计算中添加任何其他“排序依据”字段。单击排序图标 将顺序从升序 (ASC) 更改为降序 (DESC)。您还可以右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作来重新排序或移除字段。

  4. “计算依据”部分,选择包含要用于计算结果的值的字段。
  5. “差异”部分,选择用于计算差异的行。例如,选择前一个值 2 可计算当前值与该值之前 2 行的值之间的差异。注释突出显示用于执行计算的行。

    默认情况下,计算预览将显示第一个非 null 行。但是,您可以单击结果表中的任意行并查看所选值的更新预览。

    如果无法使用当前设置执行计算,则会显示注释“值不足” 。为了解决此问题,请选择不同的当前值或更改“差异”部分中的配置。

  6. 在左侧窗格中,双击字段标题并输入用于计算的名称。
  7. 单击“完成”以添加新的计算字段。在“更改”窗格中,您可以看到 Tableau Prep 生成的计算。单击“编辑”打开可视化计算编辑器以进行任何更改。

计算编辑器

如果您想编写自己的计算来计算两个值之间的差异,请在计算编辑器中使用 LOOKUP 函数。

  1. 在“配置”窗格工具栏中单击“创建计算字段”,或在配置卡或数据网格中单击“更多选项” 菜单,并选择“创建计算字段”>“自定义计算”

  2. 在“计算编辑器”中输入表达式。例如,若要按区域查找当前销售额与前一天销售额之间的差异,请创建如下所示的计算。

    {PARTITION [Region]:{ ORDERBY [Order Date]ASC:LOOKUP([Sales],0)}}
    -
    { PARTITION [Region]:{ ORDERBY [Order Date]ASC:LOOKUP([Sales],1)}}

  3. 为计算输入一个名称,并单击“保存”

计算百分比差异

百分比差异计算以百分比形式计算当前值与当前行之前或之后 N 行的值之间的差异。例如,Value1-Value2/Value2

可视化计算编辑器

从列表中选择字段,Tableau Prep 将在您进行选择时为您构建计算。新字段结果的预览显示在左侧窗格中,您可以在窗格最右侧查看计算结果。

  1. 在配置卡或结果窗格中,单击“更多选项” 菜单并选择“创建计算字段”>“百分比差异”

  2. “分组依据”部分,选择具有要包括在计算中的行的字段。这会在执行计算时对表进行分区。若要将计算应用于表中的所有行,请接受默认值“完整表”

    选择第一个字段后,单击加号 图标以将任何其他“分组依据”字段添加到分区。若要重新排序或移除字段,请右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作。

  3. “排序依据”部分,选择要用作排序依据的字段。此字段用于指定 LOOKUP 函数如何对表中的行进行排序。

    如果您在其中选择“创建计算字段”>“百分比差异”菜单选项的字段是日期或时间字段,则默认情况下会添加此字段,但您可以对其进行更改。

    单击加号 图标以向计算中添加任何其他“排序依据”字段。单击排序图标 将顺序从升序 (ASC) 更改为降序 (DESC)。您还可以右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作来重新排序或移除字段。

  4. “计算依据”部分,选择包含要用于计算结果的值的字段。
  5. “百分比差异”部分,选择用于计算结果的行。例如,选择前一个值 2 可计算当前值与该值之前 2 行的值之间的百分比差异。注释突出显示用于执行计算的行。

    默认情况下,计算预览将显示第一个非 null 行。但是,您可以单击结果表中的任意行并查看所选值的更新预览。

    如果无法使用当前设置执行计算,您将看到注释“值不足”。为了解决此问题,请选择不同的当前值或更改“百分比差异”部分中的配置。

  6. 在左侧窗格中,双击字段标题并输入用于计算的名称。
  7. 单击“完成”以添加新的计算字段。在“更改”窗格中,您可以看到 Tableau Prep 生成的计算。单击“编辑”打开可视化计算编辑器以进行任何更改。

计算编辑器

如果您想编写自己的计算来计算两个值之间的百分比差异,请在计算编辑器中使用 LOOKUP 函数。

  1. 在“配置”窗格工具栏中单击“创建计算字段”,或在配置卡或数据网格中单击“更多选项” 菜单,并选择“创建计算字段”>“自定义计算”

  2. 在“计算编辑器”中输入表达式。例如,若要按区域查找当前销售额与前几天销售额之间的百分比差异,请创建如下所示的计算。

    { PARTITION [Region]:{ ORDERBY [Order Date]ASC:LOOKUP([Sales],0)}}
    -
    { PARTITION [Region]:{ ORDERBY [Order Date]ASC:LOOKUP([Sales],-1)}}
    /
    { PARTITION [Region]:{ ORDERBY [Order Date]ASC:LOOKUP([Sales],-1)}}

  3. 为计算输入一个名称,并单击“保存”

计算移动平均值或总和

创建移动计算以更好地了解数据趋势并减少总体波动。在 Tableau Prep 中,您可以计算当前值之前或之后指定数量的值的移动平均值或总和。例如,跟踪每个地区销售额的三个月移动平均值。

可视化计算编辑器

从列表中选择字段,Tableau Prep 将在您进行选择时为您构建计算。新字段结果的预览显示在左侧窗格中,您可以在窗格最右侧查看计算结果。

  1. 在配置卡或结果窗格中,单击“更多选项” 菜单并选择“创建计算字段”>“移动计算”

  2. “分组依据”部分,选择具有要包括在计算中的行的字段。这会在执行计算时对表进行分区。若要将计算应用于表中的所有行,请接受默认值“完整表”

    选择第一个字段后,单击加号 图标以将任何其他“分组依据”字段添加到计算。若要重新排序或移除字段,请右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作。

  3. “排序依据”部分,选择要用作排序依据的字段。此字段用于指定 LOOKUP 函数如何对表中的行进行排序。

    如果您在其中选择“创建计算字段”>“移动计算”菜单选项的字段是日期或时间字段,则默认情况下会添加此字段,但您可以对其进行更改。

    单击加号 图标以向计算中添加任何其他“排序依据”字段。单击排序图标 将顺序从升序 (ASC) 更改为降序 (DESC)。您还可以右键单击或按住 Ctrl 键单击 (MacOS),然后从菜单中选择一个操作来重新排序或移除字段。

  4. “计算依据”部分,选择包含要用于计算结果的值的字段。
  5. “结果”部分,选择要执行的聚合(总和或平均值)、要包含在计算中的行数以及是包含还是排除当前行。

    若要更改结果设置,请单击“值”字段中的下拉菜单。例如,若要计算当月和前 2 个月的销售额移动平均值,请将“上一个值”设置为 2 并关闭对话框。

  6. 默认情况下,计算预览将显示第一个非 null 行。但是,您可以单击结果表中的任意行并查看所选值的更新预览。注释突出显示用于执行计算的行。

    如果无法使用当前设置执行计算,您将看到注释“值不足”。为了解决此问题,请单击“值”字段中的下拉菜单以更改“结果设置”中的配置。

  7. 在左侧窗格中,双击字段标题并输入用于计算的名称。
  8. 单击“完成”以添加新的计算字段。在“更改”窗格中,您可以看到 Tableau Prep 生成的计算。单击“编辑”打开可视化计算编辑器以进行任何更改。

计算编辑器

如果您想编写自己的计算来计算移动平均值或总和,请在计算编辑器中使用 LOOKUP 函数。

  1. 在“配置”窗格工具栏中单击“创建计算字段”,或在配置卡或数据网格中单击“更多选项” 菜单,并选择“创建计算字段”>“自定义计算”

  2. 在“计算编辑器”中输入表达式。例如,若要按区域查找销售额三个月的移动平均值,请创建如下所示的计算。

    注意:此示例假设数据集的详细级别正确,每月一行。如果您的数据集的详细级别不正确,请考虑在应用计算之前使用聚合步骤来更改此设置。

    { PARTITION [Region]:{ ORDERBY [Year of Sale]ASC,[Order Month]ASC:LOOKUP([Sales],-2)}}
    +
    { PARTITION [Region]:{ ORDERBY [Year of Sale]ASC,[Order Month]ASC:LOOKUP([Sales],-1)}}
    +
    { PARTITION [Region]:{ ORDERBY [Year of Sale]ASC,[Order Month]ASC:LOOKUP([Sales],-0)}}
    /
    3

  3. 为计算输入一个名称,并单击“保存”

获取上一个值

如果您需要使用前一行的值创建一个字段,您可以使用 LOOKUP 函数创建自定义计算。

  1. 在“配置”窗格工具栏中单击“创建计算字段”,或在配置卡或数据网格中单击“更多选项” 菜单,并选择“创建计算字段”>“自定义计算”

  2. 在“计算编辑器”中输入表达式。例如,若要按订单日期查找以前的销售额值,请创建如下所示的计算。

    注意:此示例假设数据集的详细级别正确,每天一行。如果您的数据集的详细级别不正确,请考虑在应用计算之前使用聚合步骤来更改此设置。

    { ORDERBY [Order Date]ASC:LOOKUP([Sales],-1)}

  3. 为计算输入一个名称,并单击“保存”
感谢您的反馈!