表计算类型

本文介绍 Tableau 中的表计算类型以及何时使用表计算,并使用简单的示例来演示每个计算如何转换表中的数据。有关如何创建和配置表计算的详细信息,请参见创建表计算

差异计算

对于可视化项中的每个标记,“差异”表计算将计算表中当前值与另一个值之间的差异。

对于“差异”“百分比差异”“百分比”计算,始终要考虑以下两个值:当前值以及计算差异应该依据的值。大多数情况下,您需要计算当前值与前一个值之间的差值,如在上述过程中。但是在某些情况下,您可能希望有所不同。

指定应依据哪个值计算差异:

  1. 右键单击视图中的某个度量,并选择“添加表计算”

  2. 在“表计算”对话框中,为“相对于”选择以下选项之一:

    上一个 计算分区中的当前值与前一个值之间的差值。这是默认值。
    下一个 计算分区中的当前值与下一个值之间的差值。
    第一个 计算分区中的当前值与第一个值之间的差值。
    最后一个 计算分区中的当前值与最后一个值之间的差值。

示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“差异”表计算来计算每月销售额的年同比波动情况(销售额增长或下降多少)。

您可以看到,2012 年和 2013 年 1 月销售额的同比差异为 368 美元,2013 年和 2014 年的销售额同比差异为 26,161 美元。

提示:在计算年同比增长时,第一年没有可以比较的前一年,因此该列保留为空白。隐藏不希望显示的列以使计算保持不变。有关详细信息,请参见隐藏行和列

为何会这样?如果筛选出了第一年以将其从视图中移除,它也会从计算中移除,因此,第二年就没有可以比较的前一年,从而保留为空白。请隐藏列来使计算保持不变,而不是进行筛选。

移动计算

对于视图中的每个标记,“移动计算”表计算(有时称为滚动计算)会对当前值之前和/或之后指定数目的值执行聚合(总计值、平均值、最小值或最大值)来确定视图中的标记值。

移动计算通常用于平滑短期数据波动,这样可以查看长期趋势。例如,对于证券数据,市场每天都在波动,很难通过每日的上升和下降把握全局。可以使用移动计算来定义一系列值通过所选聚合进行汇总。

示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用移动计算来了解总销售额在一段时间内的趋势。为此,您可以转换每个每月合计,以便计算该月与前两个月一段时间内的平均值。

您可以看到一段时间内的平均销售额。例如,为 2011 年 12 月列出的值为 2011 年 10 月、11 月和 12 月的平均销售额。为 2012 年 1 月列出的值为 2011 年 11 月、12 月和 2012 年 1 月的平均销售额。

添加从属计算

对于“汇总”“移动计算”表计算,您可以选择转换两次值,以获得您想要的结果 - 即除了添加主要表计算之外再添加从属表计算。例如,您可以添加一个初始表计算来计算每一年内每个月的销售汇总,然后添加从属计算来计算一年与下一年同期相比每个月的年基差异百分比。

有关演示如何创建从属计算的示例,请参见汇总计算

百分比差异计算

对于可视化项中的每个标记,“百分比差异”表计算将计算表中当前值与另一个值之间的百分比差异。

对于“差异”“百分比差异”“百分比”计算,始终要考虑以下两个值:当前值以及计算差异应该依据的值。大多数情况下,您需要计算当前值与前一个值之间的差值,如在上述过程中。但是在某些情况下,您可能希望有所不同。

指定应依据哪个值计算差异:

  1. 右键单击视图中的某个度量,并选择“添加表计算”

  2. 在“表计算”对话框中,为“相对于”选择以下选项之一:

    上一个 计算分区中的当前值与前一个值之间的差值。这是默认值。
    下一个 计算分区中的当前值与下一个值之间的差值。
    第一个 计算分区中的当前值与第一个值之间的差值。
    最后一个 计算分区中的当前值与最后一个值之间的差值。


示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“百分比差异”表计算来计算每月销售额的年同比波动情况(销售额增长或下降多少)。值以百分比形式计算。

您可以看到,2011 年 1 月和 2 月的销售额差异为 -66%,但 2011 年 2 月和 3 月之间的销售额大幅提升了 1,058%。

百分比计算

对于可视化项中的每个标记,“百分比”表计算会将值计算为某个其他值的百分比 - 通常计算为表中前一个值的百分比。

对于“差异”“百分比差异”“百分比”计算,始终要考虑以下两个值:当前值以及计算差异应该依据的值。大多数情况下,您需要计算当前值与前一个值之间的差值,如在上述过程中。但是在某些情况下,您可能希望有所不同。

指定应依据哪个值计算差异:

  1. 右键单击视图中的某个度量,并选择“添加表计算”

  2. 在“表计算”对话框中,为“相对于”选择以下选项之一:

    上一个 计算分区中的当前值与前一个值之间的差值。这是默认值。
    下一个 计算分区中的当前值与下一个值之间的差值。
    第一个 计算分区中的当前值与第一个值之间的差值。
    最后一个 计算分区中的当前值与最后一个值之间的差值。


示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“百分比”表计算来计算前一个值的百分比。例如,您可以计算 2011 年 1 月的销售额在 2011 年 2 月的完成百分比。

您可以看到,2011 年 2 月完成了 2011 年 1 月所完成销售额的 34%;2011 年 3 月完成了 2011 年 2 月所完成销售额的 1,158%,诸如此类。

总额百分比计算

对于视图中的每个标记,“总额百分比”表计算会将值计算为当前分区中所有值的百分比。

示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“总额百分比”表计算来计算每个月完成的销售额在一个季度内所占的百分比。例如,您可以看到,2011 年 1 月构成第一季度所完成销售额的 18.73%。

或者,您可以计算每个月完成的销售额在一年内所占的百分比。例如,您可以看到,2011 年 1 月构成 2011 年所完成销售额的 2.88%。

百分位计算

对于视图中的每个标记,“百分位”表计算将在分区中计算每个值的百分位排名。

示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“百分位”表计算以百分比而非整数(例如 1 到 10)形式对一年中每个月的总销售额进行排名。

由于与总额相比,2 月完成的销售额只占 2012 年销售额非常少的一部分,因此它的排名计为 0.0%(或 12 个月中的第 1 名,由于此示例按升序排序,因此从最少到最多进行排名)。2012 年 1 月的销售额高一点,因此排名计为 9.1%(或 12 个月中的第 2 名)。由于 11 月完成的销售额在 2012 年最多,因此其排名计为 100%(或 12 个月中的第 12 名)。

降序与升序

升序顺序按最低到最高对值进行排名。降序顺序按最高到最低对值进行排名。

排名计算

对于视图中的每个标记,“排名”表计算将计算分区中每个值的排名。

示例

假设有如下文本表。该表显示一家大型连锁店 2011、2012、2013 和 2014 年每月的总销售额。

您可以使用“排名”表计算来计算一年中每个月的排名。

您可以看到,由于 11 月完成的销售额在 2012 年最多,因此它的排名为第 1(因为排名按降序排序,意味着从最多到最少排序)。由于 2 月完成的销售额在 2012 年最少,因此它的排名为第 12。

降序与升序

升序顺序按最低到最高对值进行排名。降序顺序按最高到最低对值进行排名。对于“排名”表计算,默认值为“降序”

排名类型

有关排名计算的一个问题是,可能存在多个具有相同值的标记。例如,如果 Central 区域中的 Tables 和 South 区域中的 Appliances 的销售额都正好是 36,729 美元,会发生什么情况?当您将“计算类型”设置为“排名”时,Tableau 会在“表计算”对话框中包括一个附加字段,以允许您指定如何处理这种情况。

下面列出了相关选项。每个选项开头的数字序列显示该选项将如何对一组假设值进行排名,这组值包含四个值并且有两个值完全相同:

选项 结果
竞争排序(1, 2, 2, 4) 为相同的值分配相同的排名。最高值排在第 1 位,后面两个相同的值都排在第 2 位。下一个值则排在第 4 位。
调整后竞争排序(1, 3, 3, 4) 为相同的值分配相同的排名。最高值排在第 1 位,后面两个相同的值都排在第 3 位。下一个值则排在第 4 位。
密集(1, 2, 2, 3) 重复值的排名全部相同,也就是排名序列中的下一个数字。将按照重复值就是单个值那样计算重复值后面的下一个值。
唯一(1, 2, 3, 4) 将根据计算排名的方向为重复值指定不同的排名。

汇总计算

对于视图中的每个标记,“汇总”表计算将在分区中以合并方式聚合值。它可以通过合计值、求值的平均值或者将所有值替换为最低或最高实际值来执行此操作。

假设您要从下面的文本视图入手,该视图显示按年分类(从左至右)和按季度和月分类(从上到下)的总销售额:

您想要了解每年的汇总销售额,将每个月的销售额加到所有前面月份的销售额上,而不是了解绝对销售值。

创建基本视图

  1. 连接到“Sample - Superstore”数据源。

  2. 单击“数据”窗格中的“Order Date”(订单日期)字段并将其拖到“列”功能区上。

    默认日期级别为 YEAR(Order Date)。

  3. 再次单击“Order Date”(订单日期),这次将其拖到“行”功能区上。

  4. 单击字段右侧以打开上下文菜单。然后选择“Quarter”(季度)

    您将看到两个名为“Quarter”(季度)的选项。一定要选择第一个。

    此字段现在应该显示为 QUARTER(Order Date)

    注意:如果要在 Web 上创建视图,则菜单看起来有点不同。

  5. 第三次单击“Order Date”(订单日期),并将其拖到 QUARTER(Order Date) 右侧的“行”功能区上。

  6. 单击字段右侧以打开上下文菜单,这次选择“Month”(月份)(同样,选择两个名为“Month”(月份)的选项中的第一个选项)。此字段现在应该显示为 MONTH(Order Date)

  7. “Sales”(销售额)从“数据”窗格拖放到“标记”卡上的“文本”。

您现在具有了基本视图,此视图按月份、季度和年份显示四年期间中的“按订单日期列出的销售额”。

将“汇总”表计算添加至基本视图

  1. 单击“标记”卡上的“SUM(Sales)”字段,然后选择“添加表计算”

  2. 在“表计算”对话框中,选择“汇总”作为“计算类型”

  3. “计算依据”列表中选择“表(向下)”

    视图中的突出显示功能在视图中显示此“计算依据”值设置计算范围的方式:

    通过将原始文本视图中的值与此视图中的值进行比较,可以表明结果正确。月份值稳定上升,如果您显示列总计(从“分析”菜单中选择“总计”>“显示列总计”),则看到的值就是 12 月的值 (484,247)。

  4. 单击“表计算”对话框右上角中的 X 以关闭此对话框。

汇总不一定是总和

对于“汇总”表计算,Tableau 可以用求和以外的其他方式逐渐更新值。从“计算类型”字段正下方的下拉列表中选择其中一个选项:

选项 含义
总计 每个值都会与上一个值相加。
平均值 汇总将计算当前值与所有前面的值的平均值。
最小值 所有值都替换为原始分区中的最低值。
最大值 所有值都替换为原始分区中的最高值。

“重新启动间隔”选项

只有当您在“表计算”对话框中选择“特定维度”时,并且在紧接着“计算依据”选项下面的字段中选择多个维度时,即仅当将多个维度定义为寻址字段时,“重新启动间隔”选项才可用。

使用“计算依据”定义表计算时,此选项不可用。

您可以使用此设置根据特定维度在视图中设置断点(也就是计算重启点)。

在以下情况下,“重新启动间隔”可能很有用:

  • 对于日期或其他分层结构,如果您每个月重新启动一次,那么当您引入“年度”或“季度”时,Tableau 知道自动分区。

  • 对于非分层结构,“重新启动间隔”会影响排序。如果想要对“产品”进行寻址并按“省/市/自治区”进行分区,但想要在每个省/市/自治区内按 SUM(Sales) 对产品进行排序,则需要将“省/市/自治区”作为寻址字段包括在“特定维度”下面,但此后要重新启动每个省/市/自治区。否则,按 SUM(Sales) 排序将基于所有省/市/自治区中每个产品的销售额总计。

例如,如果您采用以上添加的“汇总”计算的结果,则通过执行以下操作,可以查看“重新启动间隔”的效果:

  1. 单击“标记”卡上的“SUM(Sales)”字段,然后选择“编辑表计算”

  2. 在“表计算”对话框中,选择“特定维度”

    请注意,维度列表框中现在选中了两个维度。“订单日期季度”“订单日期月份”。这些字段是寻址字段,因为正在使用多个字段进行寻址,所以“重新启动间隔”现在可用。

    “所在级别”下拉列表中的可用选项包括:

    指定应该按最精细级别执行计算。这是默认选项。此选项不会更改视图。
    订单日期季度 指定应该按季度级别执行计算。
  3. 如果您选择“订单日期季度”,则视图将会更新以显示此更改的效果:

    计算现在会在每个季度后重新启动。如果单击“表计算”对话框外部(以消除突出显示),则可以更加清楚地看到此效果。

  4. 单击“表计算”对话框右上角中的 X 以关闭此对话框。

添加从属计算

对于“汇总”“移动计算”表计算,您可以选择转换两次值,以获得您想要的结果 - 即除了添加主要表计算之外再添加从属表计算。例如,您可以添加一个初始表计算来计算每一年内每个月的销售汇总,然后添加从属计算来计算一年与下一年同期相比每个月的年基差异百分比。

为此,请首先添加主要表计算,如上所示。然后继续,如下所示:

  1. 单击“标记”卡上的“SUM(Sales)”字段,然后选择“编辑表计算”

  2. 在“表计算”对话框中,单击“添加从属计算”

    “表计算”对话框将会展开以显示第二个面板:

  3. 在第二个面板中,选择“百分比差异”作为“从属计算类型”

  4. 无需更改“计算依据”选择:“表(横穿)”是正确选项。

  5. 单击右上角中的 X 以关闭“表计算”对话框。

    现在,您的视图显示了您所需的项:汇总的年基百分比差异:

    另请参见

    创建表计算

    基础知识:寻址和分区

感谢您的反馈!