---
schema_version: "1"
id: a9f717b0dc5c77099a5b0311237a455ba482789dc6c8528c6c1131d05b07f6e3
title: 将计算列添加至视图
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/pro/desktop/calcs_add_calculated_column.md
canonical_url: https://help.tableau.com/current/pro/desktop/zh-cn/calcs_add_calculated_column.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5f6cb8b8d5022b2774f284ceb754fb7eadb05e4125699fc4fe19163e96397218
description: Add a calculated column to modify existing data, such as combining names or finding percent change.
---
[跳转到主要内容](#main-content)

# 将计算列添加至视图

有时，您的数据可能没有分析所需的所有信息。处理此操作的常见方法是创建对现有数据进行修改的计算列（也称为计算字段或只是计算）。可以通过打开“**分析**”菜单并选择 “创建计算字段...”来创建计算。

请务必注意，对于计算字段，通常有几种不同的方法来实现相同的结果。此外，计算的正确值可能取决于数据的调整方式以及可视化项的设置方式。在确定如何编写计算时，请确保您了解您的数据结构以及可视化项的构建方式。

## 计算何时可能有用的示例

### 合并名字和姓氏

您可能在两个不同的列中具有名字和姓氏，并且需要为姓名使用单一字段。

![具有三列的表，各列的标题为名字、姓氏和真实人物](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex1data.png)

计算：

\[First name\] + " " + \[Last name\]

完成的可视化项应如下所示

![在“行”上具有“First name”（名字）和“Last name”（姓氏），在“文本”上具有“Full name”（全名）的可视化项](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex1viz.png)

### 在字符串内查找序列

您可能需要标记产品 ID 字段中具有特定制造代码 XYZ 的每条记录。

![包含三列的数据表，第一列是“Product Id”（产品 ID）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex2data.png)

如果代码存在，则计算将返回“true”，否则返回“false”。

CONTAINS(\[Product ID}, "XYZ")

完成的可视化项应如下所示，具有针对“Color”（颜色）的计算。

![在“行”上具有“Product Id”（产品 ID），在“颜色”上具有计算字段“XYZ Manufacturing”（XYZ 制造）的可视化项](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex2viz.png)

### 为值范围分配类别

您希望基于多个阈值分配类别。

![包含两列（“Student”（学生）和“GPA”）的数据表](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex3data.png)

该计算将根据截止值评估每个学生的 GPA，并分配一个标签。

IF \[GPA\] <3 THEN "Needs Improvement" ELSEIF \[GPA\] <3.5 THEN "Sufficient" ELSE "Excellent" END

完成的可视化项应如下所示，具有针对“Color”（颜色）的计算。

![在“行”上具有“Student”（学生），在“列”上具有“GPA”，在“颜色”上具有计算字段的可视化项](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex3viz.png)

### 计算百分比变化

您希望显示从 1 岁到 2 岁儿童体重的同比 (YoY) 变化百分比。

![包含三列的数据表，一列表示“Baby (ID)”（婴儿 (ID)），一列表示“Age”（年龄），一列表示“Weight”（体重）](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex4data.png)

此计算用于计算每个儿童的_差异/原始值_。

(SUM((IF \[Age\] = 2 THEN \[Weight\] ELSE 0 END)) - SUM((IF \[Age\] = 1 THEN \[Weight\] ELSE 0 END)))/SUM(IF \[Age\] = 1 THEN \[Weight\] ELSE 0 END) 

完成的可视化项应如下所示。

![在“行”上具有“Baby”（婴儿），在“文本”上具有计算字段的可视化项](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/createcalcex4viz.png)

在这个示例中，根据数据的结构，计算可能会有很大的变化。举例来说，如果有一个 1 岁体重和 2 岁体重的字段，则计算只需为 (\[2 岁体重\] - \[1 岁体重\]) / \[1 岁体重\]。但是，上面详细介绍的数据结构更标准，更可能遇到。

## 继续操作：创建 YOY 计算

### 目标

创建如下所示的视图，该视图在前两列中显示两年的销售额结果，然后在第三列中显示年度变化百分比。该方案使用 Tableau Desktop 附带的示例 - 超市数据源说明如何生成可视化项。

![该表格显示了 2013 年至 2014 年各产品子类别的销售额同比变化情况。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/yoy1.png)

### 创建必需的计算字段

1. 连接到示例 - 超市数据源。
2. 选择“分析”\>“创建计算字段”以打开计算编辑器。将计算命名为“2013”，并在公式区域中键入或粘贴以下内容：
    
    `IF YEAR([Order Date]) = 2013 THEN [Sales] ELSE 0 END`
3. 创建第二个计算字段并将其命名为“2014”；除了字段名为 2014 而不是 2013 之外，公式是相同的：
    
    `IF YEAR([Order Date]) = 2014 THEN [Sales] ELSE 0 END`
4. 创建第三个计算字段“YOY Pct.Change”，以计算 2013 年至 2014 年的变化：
    
    `(SUM([2014]) - SUM([2013])) / SUM([2013])`

### 设置计算字段的格式

1. 在“数据”窗格的“度量”区域中单击“2013”，然后选择“默认属性”\>“数字格式”。
2. 在“默认数字格式”对话框中，将格式设置为“货币(自定义)”，并将“小数位数”设置为“0”。
    
    ![带有将数字格式化为货币的选项的对话框。](/tableau/current/zh-cn/pro/desktop/zh-cn/Img/yoy2.png)
3. 以完全相同的方式设置“2014”度量的格式。
4. 将“YOY Pct.Change”字段的格式设置为具有 2 位小数的“百分比”。

### 构建视图

1. 将“2013”拖到“标记”卡的“文本”上。
2. 双击“2014”，然后双击“YOY Pct.Change”。
3. 将“度量名称”从“行”拖到“列”。
4. 将“Sub-Category”（子类）拖到“行”。
    
    您的视图现在看起来应该像本部分开头的那个视图。