---
schema_version: "1"
id: 7ddf727d5cf1b93ec7459c5baad6e2fff60009ea5a39e3cac69d81897725f6f4
title: 表计算类型
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/pro/desktop/calculations_tablecalculations_definebasic_runningtotal.md
canonical_url: https://help.tableau.com/current/pro/desktop/zh-cn/calculations_tablecalculations_definebasic_runningtotal.htm
source_site: help.tableau.com
content_type: documentation
content_hash: ce2d0f31f492e870555d91e772f1c76fe2e6fed5f0ef4b61cc744381838ebffa
description: Reference of table calculation types like Difference From, Moving, and Percent of Total.
---
[跳转到主要内容](#main-content)

# 表计算类型

本文介绍 Tableau 中的表计算类型以及何时使用表计算，并使用简单的示例来演示每个计算如何转换表中的数据。有关如何创建和配置表计算的详细信息，请参见[创建表计算](https://help.tableau.com/current/pro/desktop/zh-cn/calculations_tablecalculations.htm#Create)。

## 差异计算

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

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

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

1. 右键单击视图中的某个度量，并选择“添加表计算”。
2. 在“表计算”对话框中，为**“相对于”**选择以下选项之一：
    
    <table style="width: 100%;" class="table--plain"><colgroup><col style="width: 15%;"><col style="width: 85%;"></colgroup><tbody><tr><td>上一个</td><td>计算分区中的当前值与<i>前一个</i>值之间的差值。这是默认值。</td></tr><tr><td>下一个</td><td>计算分区中的当前值与<i>下一个</i>值之间的差值。</td></tr><tr><td>第一个</td><td>计算分区中的当前值与<i>第一个</i>值之间的差值。</td></tr><tr><td>最后一个</td><td>计算分区中的当前值与<i>最后一个</i>值之间的差值。</td></tr></tbody></table>

  

### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

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

![显示按季度和月划分的销售额的表格。选择一行后，“表计算”窗口将显示用于编辑计算类型和计算规范的选项。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_type2.png)

您可以看到，在 1 月份，2022 年和 2023 年的销售额之间存在 3,944 美元的差异。

> [!TIP]
> 
> **提示**：在计算年同比增长时，第一年没有可以比较的前一年，因此该列保留为空白。隐藏不希望显示的列以使计算保持不变。有关详细信息，请参见[隐藏行和列](https://help.tableau.com/current/pro/desktop/zh-cn/buildmanual_shelves.htm#HideRowCol)。  
>   
> 为何会这样？如果筛选出了第一年以将其从视图中移除，则会将其从计算中移除。然后，第二年就没有可以比较的前一年，因此将其保留为空白。请隐藏列来使计算保持不变，而不是进行筛选。

## 移动计算

对于视图中的每个标记，“移动计算”（或_滚动_）表计算会对当前值前后指定数目的值执行聚合来确定视图中标记的值。

移动计算通常用于平滑短期数据波动，这样可以查看长期趋势。例如，证券数据每天都有大量的波动，以至于很难透过这些涨跌看清整体的趋势。可以使用移动计算来定义一系列值通过所选聚合进行汇总。

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

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

![显示使用表格进行计算（向下然后横向）的文本表和表计算选项菜单](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_moving4.png)

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

### 添加从属计算

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

有关演示如何创建从属计算的示例，请参见[汇总计算](#Running)。

## 百分比差异计算

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

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

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

1. 右键单击视图中的某个度量，并选择“添加表计算”。
2. 在“表计算”对话框中，为**“相对于”**选择以下选项之一：
    
    <table style="width: 100%;" class="table--plain"><colgroup><col style="width: 15%;"><col style="width: 85%;"></colgroup><tbody><tr><td>上一个</td><td>计算分区中的当前值与<i>前一个</i>值之间的差值。这是默认值。</td></tr><tr><td>下一个</td><td>计算分区中的当前值与<i>下一个</i>值之间的差值。</td></tr><tr><td>第一个</td><td>计算分区中的当前值与<i>第一个</i>值之间的差值。</td></tr><tr><td>最后一个</td><td>计算分区中的当前值与<i>最后一个</i>值之间的差值。</td></tr></tbody></table>

  
  

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

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

![一个文本表，其中突出显示一列，并且表计算选项菜单显示使用表格进行计算（向下）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_pctdifffrom1.png)

2022 年 1 月和 2 月的销售额差异为 -69%，但 2 月和 3 月之间提升了 1,160%。

## 百分比计算

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

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

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

1. 右键单击视图中的某个度量，并选择“添加表计算”。
2. 在“表计算”对话框中，为**“相对于”**选择以下选项之一：
    
    <table style="width: 100%;" class="table--plain"><colgroup><col style="width: 15%;"><col style="width: 85%;"></colgroup><tbody><tr><td>上一个</td><td>计算分区中的当前值与<i>前一个</i>值之间的差值。这是默认值。</td></tr><tr><td>下一个</td><td>计算分区中的当前值与<i>下一个</i>值之间的差值。</td></tr><tr><td>第一个</td><td>计算分区中的当前值与<i>第一个</i>值之间的差值。</td></tr><tr><td>最后一个</td><td>计算分区中的当前值与<i>最后一个</i>值之间的差值。</td></tr></tbody></table>

  
  

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

使用“百分比”表计算来计算前一个值的百分比。

![一个文本表，其中突出显示一列，并且表计算选项菜单显示使用表格进行计算（向下）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_pctfrom1.png)

对于 2022 年，2 月完成 1 月销售额的 31%，3 月完成了 2 月销售额的 1,260%，诸如此类。

## 总额百分比计算

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

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

使用“总额百分比”表计算来计算总额的百分比。例如，使用“区(向下)”来计算季度销售额中各个月份的占比情况。2022 年 1 月占第一季度销售额的 19.11%。

![一个文本表，其中突出显示了一行和一列的交叉点，并且表计算选项菜单显示使用“区(向下)”进行计算](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_pctoftotal1.png)

使用“表(向下)”来计算每个月完成的销售额在一年内所占的百分比。例如，您可以看到 1 月构成 2022 年所完成销售额的 2.94%。

![一个文本表，其中突出显示一列，并且表计算选项菜单显示使用表格进行计算（向下）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_pctoftotal2.png)

## 百分位计算

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

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

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

![一个文本表，其中突出显示一列，并且表计算选项菜单显示使用表格进行计算（向下）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_percentile1.png)

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

### 降序与升序

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

## 排名计算

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

#### 示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

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

![table\_calculations\_rank1.png](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_rank1.png)

由于 9 月完成的销售额在 2022 年最多，因此它的排名为第 1。排名按降序排列，这意味着从最多到最少排序。由于 2 月完成的销售额在 2022 年最少，因此它的排名为第 12。

### 降序与升序

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

### 排名类型

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

此处列出了相关选项。数字序列显示每个选项将如何对一组四个值进行排名，其中有两个值完全相同：

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Basic-Border.css');" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1" style="width: 40%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 60%;"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><b>选项</b></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><b>结果</b></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">竞争排序(1, 2, 2, 4)</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">为相同的值分配相同的排名。最高值排在第 1 位，后面两个相同的值都排在第 2 位。最后一个值则排在第 4 位。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">调整后竞争排序(1, 3, 3, 4)</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">为相同的值分配相同的排名。最高值排在第 1 位，后面两个相同的值都排在第 3 位。最后一个值则排在第 4 位。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">密集(1, 2, 2, 3)</td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">为相同的值分配相同的排名。将按照重复值就是单个值那样计算重复值后面的下一个值。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">唯一(1, 2, 3, 4)</td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">将根据计算排名的方向为重复值指定不同的排名。</td></tr></tbody></table>

## 汇总计算

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

### 跟随示例

假设有此文本表。该表显示一家大型连锁店四年每个月的总销售额。

![该表格显示了 2022 年至 2014 年按月和按季度划分的销售数据。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/calcs_table_types1.png)

您想要了解每年的汇总销售额，将每个月的销售额加到所有前面月份的销售额上。

### 创建基本视图

1. 连接到示例 — 超市数据源。
2. 单击“数据”窗格中的“Order Date”（订单日期）字段并将其拖到“列”功能区上。
    
    默认日期级别为 YEAR(Order Date)。
3. 再次单击“Order Date”（订单日期），这次将其拖到“行”功能区上。
4. 单击字段右侧以打开上下文菜单。然后选择“Quarter”（ 季度）。
    
    ![日期字段的上下文菜单，显示离散季度日期部分](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_base2.png)
    
    您将看到两个名为“Quarter”（季度）的选项。一定要选择第一个。
    
    字段现在显示为“QUARTER(Order Date)”。
    
    **注意**：如果要在 Web 上创建视图，则菜单看起来有点不同。
5. 第三次单击“Order Date”（订单日期），并将其拖到 QUARTER(Order Date) 右侧的“行”功能区上。
6. 单击字段右侧以打开上下文菜单。选择“Month”（月份）（同样，选取名为 “Month”（月份）的两个选项中的第一个）。字段显示为“MONTH(Order Date)”。
7. 将“Sales”（销售额）从“数据”窗格拖放到“标记”卡上的“文本”。

您现在具有了基本视图，按月份、季度和年份显示四年期间的销售额。

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

1. 单击“标记”卡上的“SUM(Sales)”字段，然后选择“添加表计算...”。
2. 在“表计算”对话框中，选择“汇总”作为“计算类型”。
3. 从“计算依据”列表中选择“表(向下)”。
    
    视图中的突出显示功能在视图中显示此“计算依据”值设置计算范围的方式：
    
    ![每月订单总额表，其中突出显示了一年的列](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_running1.png)
    
    通过将原始文本视图中的值与此视图中的值进行比较，可以表明结果正确。每月的值稳步上升。如果您显示列总计（从“分析”菜单中选择“总计”\>“显示列总计”），则看到的值就是 12 月的值 (494,040)。
4. 单击“表计算”对话框右上角中的 X 以关闭此对话框。

### 汇总可以是不同的聚合

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

<table class="table--plain"><colgroup><col><col></colgroup><tbody><tr><td><span class="uicontrol">聚合</span></td><td><span class="uicontrol">含义</span></td></tr><tr><td>总计</td><td>每个值都会与上一个值相加。</td></tr><tr><td>平均值</td><td>汇总将计算当前值与所有前面的值的平均值。</td></tr><tr><td>最小值</td><td>所有值都替换为原始分区中的最低值。</td></tr><tr><td>最大值</td><td>所有值都替换为原始分区中的最高值。</td></tr></tbody></table>

### “重新启动间隔”选项

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

![表计算窗口的“计算依据”部分，其中选择了特定维度](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_restartingevery.png)

在使用任何其他“计算依据”选项定义表计算时，“重新启动间隔”不可用。

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

#### 在以下情况下，“重新启动间隔”可能很有用：

- 对于日期或其他分层结构，如果您每个月重新启动一次，那么当您引入“年度”或“季度”时，Tableau 知道自动分区。
- 对于非分层结构，“重新启动间隔”会影响排序。如果想要对“产品”进行寻址并按“省/市/自治区”进行分区，但想要在每个省/市/自治区内按 SUM(Sales) 对产品进行排序，则需要将“省/市/自治区”作为寻址字段包括在“特定维度”下面，但此后要重新启动每个省/市/自治区。否则，按 SUM(Sales) 排序将基于所有省/市/自治区中每个产品的销售额总计。

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

1. 单击“标记”卡上的“SUM(Sales)”字段，然后选择“编辑表计算”。
2. 在“表计算”对话框中，选择“特定维度”。
    
    请注意，维度列表框中现在选中了两个维度。“订单日期季度”和“订单日期月份”。这些字段是寻址字段，因为正在使用多个字段进行寻址，所以“重新启动间隔”现在可用。
    
    **“重新启动间隔”**下拉列表中的可用选项包括：
    
    <table style="width: 100%;mc-table-style: url('Resources/TableStyles/Basic-Border.css');" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1"><col class="TableStyle-Basic-Border-Column-Column1"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><span class="uicontrol">无</span></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1">指定应该按最精细级别执行计算。这是默认选项。此选项不会更改视图。</td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><span class="uicontrol">订单日期季度</span></td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1">指定应该按季度级别执行计算。</td></tr></tbody></table>
3. 如果您选择“订单日期季度”，则视图将会更新以显示此更改的效果：
    
    ![突出显示一行和一列交叉点的文本表](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_running2.png)
    
    计算现在会在每个季度后重新启动。如果单击“表计算”对话框外部（以消除突出显示），则可以更加清楚地看到此效果。
4. 单击“表计算”对话框右上角中的 X 以关闭此对话框。

### 添加从属计算

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

为此，请首先添加主要表计算，如前所示。然后继续，如下所示：

1. 单击“标记”卡上的“SUM(Sales)”字段，然后选择“编辑表计算”。
2. 在“表计算”对话框中，单击“添加从属计算”。
3. 在第二个面板中，选择“百分比差异”作为“从属计算类型”。
4. 无需更改“计算依据”选择：“表(横穿)”是正确选项。
    
    ![可让您自定义计算的表计算窗口。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_running3.png)
5. 单击右上角中的 X 以关闭“表计算”对话框。
    
    现在，您的视图显示了您所需的项：汇总的年基百分比差异：
    
    ![按月和年显示订单数量的表格。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/table_calculations_running4.png)
    
    ## 另请参见
    
    [创建表计算](https://help.tableau.com/current/pro/desktop/zh-cn/calculations_tablecalculations.htm#Create)
    
    [基础知识：寻址和分区](https://help.tableau.com/current/pro/desktop/zh-cn/calculations_tablecalculations.htm#Basics)