---
schema_version: "1"
id: 5d8418f79ad951a258c76f7c4b60d89d73ba65eb9384cac67f3d7f704e194c21
title: 转置您的数据
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/prep/prep_pivot.md
canonical_url: https://help.tableau.com/current/prep/zh-cn/prep_pivot.htm
source_site: help.tableau.com
content_type: documentation
content_hash: d28bededc4e53a90a86e9b0d0d8cad5f366b77d39d0571072377de2707447dac
description: Pivot data between columns and rows in Tableau Prep.
---
[跳转到主要内容](#main-content)

# 转置您的数据

**注意**：从版本 2020.4.1 开始，您现在可以在 Tableau Server 和 Tableau Cloud 中创建和编辑流程。除非特别指出，本主题中的内容适用于所有平台。有关在 Web 上制作流程的详细信息，请参见 [Tableau Server](https://help.tableau.com/current/server/zh-cn/prep_web_auth.htm) 和 [Tableau Cloud](https://help.tableau.com/current/online/zh-cn/prep_web_auth.htm) 帮助中的 **Web 上的 Tableau Prep**。

有时候，使用Tableau分析电子表格或者横向表格（交叉数据）的数据会遇到一些困难。Tableau更倾向于数据是一行一行的“高高的数据”（行数据），而不是一列一列的“很宽很长的数据”（列数据），这就需要我们把列数据转置为行数据。

但是，可能还会有一些数据表既长又窄，并且太过标准化而无法正常分析的情况。例如，销售部门在两个列中跟踪广告支出，一个列名为“**Advertising**”（广告），其中包含表示“**radio**”（广播广告）、“**television**”（电视广告）和“**print**”（印刷广告）的行，而另一个列则表示总支出。在这种情况下，若要将此数据作为单独的度量进行分析，您将需要将该行数据转置为列。

但如果转置较大的数据集或在一段时间内频繁更改的数据，会怎么样？您可以使用通配符模式匹配来搜索与模式匹配的字段，并自动转置数据。

在转置数据时，使用以下选项之一：

- 将列转置为行
- 使用通配符搜索，根据模式匹配即时转置字段（Tableau Prep Builder 版本 2019.1.1 及更高版本和在 Web 上）。
- 将行转置为列（Tableau Prep Builder 版本 2019.1.1 及更高版本和在 Web 上）。

不管如何转置字段，您都可以直接与结果交互，并执行任何额外的清理操作，让数据看起来恰如您所需。您还可以使用 Tableau Prep 的智能默认命名功能来自动重命名已转置的字段和值。

## 将列转置为行

使用此转置选项将宽数据转换为高数据。在一个或多个字段组上将列转置为行。选择要处理的字段，并将数据从列转置为行。

1. 连接到您的数据源。
2. 将要进行转置的表拖到“流程”窗格。
3. 执行以下操作之一：
    
    - **Tableau Prep Builder 版本 2019.4.2 及更高**版本和在 Web 上：在“配置”窗格中，选择要转置的字段，然后右键单击或按住 Ctrl 单击 （MacOS），并从菜单中选择“将列转置为行”。如果使用此选项，请跳到步骤 7。
    - **所有版本：**单击加号 ![带有加号的按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_addicon.png) 图标，并从上下文菜单中选择“添加转置”。
        
        <table style="width: 100%;"><colgroup><col><col></colgroup><tbody><tr><th>选择字段（<span class="mc-variable Variables.TabsProductPrepBuilder variable">Tableau Prep Builder</span> 版本 2019.4.2 及更高版本和在 Web 上）</th><th>流程步骤菜单（所有版本）</th></tr><tr><td><img src="https://help.tableau.com/current/prep/zh-cn/Img/prep_pivot_profile_pane3.png" alt="Tableau Prep Builder 页面，其中已选中“将列转置为行”选项。"></td><td><img src="https://help.tableau.com/current/prep/zh-cn/Img/prep_pivot_menu.png" alt="数据源图标菜单打开，并选择了“转置”。"></td></tr></tbody></table>
4. （可选）在“字段”窗格的“搜索”字段中输入一个值，以在字段列表中搜索要转置的字段。
5. （可选）选中“自动重命名转置的字段和值”复选框，使 Tableau Prep 能够使用数据中的常用值重命名新的转置字段。如果找不到常用值，则使用默认名称。
6. 从左侧窗格中选择一个或多个字段，并将这些字段拖到“转置的字段”窗格中的“转置 1 值”列。
7. （可选）在“转置的字段”窗格中，单击加号 ![带有加号的按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_addicon.png) 图标添加要进行转置的更多列，然后重复上面的步骤以选择要进行转置的更多字段。结果将立即出现在“转置结果”窗格和数据窗格中。
    
    **注意**：您选择的字段数必须与在步骤 5 中选择的字段数相同。举例来说，如果选择了 3 个字段对其进行最初转置，则您进行转置的每个后续列也必须包含 3 个字段。
8. 如果未启用默认命名选项或者 Tableau Prep 无法自动检测名称，请编辑字段的名称。您也可以在此窗格中编辑原始字段的名称，以对数据进行最恰当地描述。
9. （可选）重命名新的“转置”步骤以跟踪更改。例如“转置月份”。
10. 若要在数据更改时刷新转置数据，请运行流程。如果将需要添加到转置的新字段添加到数据源，请将它们手动添加到转置。

**示例**：对多个字段进行转置

此示例按月和年显示药品销售额、税款和总计的电子表格。

![一个按月和年显示药品销售、税金和总额的电子表格，带有共享标题。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_beforepivot.png)

通过对数据进行转置，您可以为每个月份和年度创建行，并为销售额、税款和总计创建单独的列，以便 Tableau 能够更轻松地解读此数据来进行分析。

![“转置字段”窗格显示了 Tableau Prep 流程中将列转置为行的结果。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_afterpivot.png)

### 观看“对多个字段进行转置”的实际运行效果。

## 使用通配符搜索进行转置

如果使用大数据集或者数据在一段时间内频繁更改，从 Tableau Prep Builder 版本 2019.1.1 开始和在 Web 上，您可以在将列转置为行时使用通配符搜索，以便根据通配符模式匹配即时转置数据。

如果添加或移除了与模式匹配的新字段，Tableau Prep 会在运行流程时检测到架构更改，并且转置结果会自动更新。

1. 连接到您的数据源。
2. 将要进行转置的表拖到“流程”窗格。
3. 单击加号 ![带有加号的按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_addicon.png) 图标，并从上下文菜单中选择“添加转置”。
4. 在“转置的字段”窗格中，单击“使用通配符搜索进行转置”链接。
    
    ![使用通配符搜索进行转置。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_wildcard_pivot3.png)
5. 输入要搜索的值或部分值。例如，输入“**Sales\_**”以匹配标为“**sales\_2017**”（2017 年销售额） 、“**sales\_2018**”（2018 年销售额）和“**sales\_2019**”（2019 年销售额）的字段。
    
    不要使用星号来匹配模式，除非星号是所搜索的字段值的一部分。相反，请单击“搜索选项”![Tableau Prep 搜索选项按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_search_options_button.png) 按钮来选择所需的值匹配方式。然后按 Enter 应用搜索并转置匹配的值。
    
    ![使用通配符搜索进行转置。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_wildcard_pivot.png)
6. （可选）在“转置的字段”窗格中，单击加号 ![带有加号的按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_addicon.png) 图标添加要进行转置的更多列，然后重复上面的步骤以选择要进行转置的更多字段。
7. 如果未启用默认命名选项或者 Tableau Prep 无法自动检测名称，请编辑字段的名称。
8. 若要在数据更改时刷新转置数据，请运行流程。系统会自动检测到添加到数据源并与通配符模式匹配的任何新字段，并将其添加到转置。
9. 如果结果不是预期结果，请尝试以下选项之一：
    
    - 在“搜索”字段中输入其他值模式，并按 Enter。转置将自动刷新并显示新结果。
    - 将其他字段手动拖到“转置的字段”窗格中的“转置 1 值”列。您也可以移除手动添加的字段，方法是将它们拖离“转置 1 值”列并放到“字段”窗格中。
        
        **注意：**对于依据通配符搜索结果添加的字段，无法通过将它们拖离“转置 1 值”列来移除。作为替代，请尝试使用更具体的模式来匹配所查找的搜索结果。

## 将行转置为列

在 Tableau Prep Builder 版本 2019.1.1 及更高版本中和 Web 上，如果数据过于规范化，并且需要创建新列，请将行转置为列 - 从高数据转置为更宽的数据。

举例来说，假设您有每个月的广告成本数据，其中每个月都在一列中包括了所有广告类型。如果您将数据从行转置为列，则每种广告类型会变为拥有单独的一列，从而使数据更易于分析。

![列和行均已转置的两个表。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_pivot_example.png)

您可以选择一个要转置的字段。随后将使用该字段的字段值来创建新列。然后，选择一个要用于填充新列的字段。这些字段值是聚合的，您可要选择要应用的聚合类型。

由于应用了聚合，因此将列转置回行将不会反向进行此转置操作。若要逆转行到列转置类型，您将需要撤消操作。在顶部菜单中单击“撤消”按钮、从“转置的字段”窗格中移除字段，或删除转置步骤。

1. 连接到您的数据源。
2. 将要进行转置的表拖到“流程”窗格。
3. 单击加号 ![带有加号的按钮。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_addicon.png) 图标，并从上下文菜单中选择“添加转置”。
4. 在“转置的字段”窗格中，从下拉列表中选择“行转置为列”。
5. （可选）在“字段”窗格的“搜索”字段中输入一个值，以在字段列表中搜索要转置的字段
6. 从左侧窗格中选择一个字段，并将其拖到“转置的字段”窗格中的“将从行转置为列的字段”部分。
    
    **注意：**如果要转置的字段具有日期或日期时间数据类型，则需要将数据类型更改为字符串才能对其进行转置。
    
    此字段中的值将用于创建和命名新列。您可以稍后在“转置结果”窗格中更改列名称。
    
    ![转置字段列和结果。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_pivot_rows_field.png)
7. 从左侧窗格中选择一个字段，并将其拖到“转置的字段”窗格中的“要为新列聚合的字段”部分。此字段中的值用于填充通过上一步创建的新列。
    
    ![转置字段列和结果。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_pivot_rows_aggregate.png)
    
    系统会为字段分配一个默认聚合类型。单击聚合类型可对其进行更改。
    
    ![聚合类型的列表。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_pivot_rows_agg_type.png)
8. 在“转置结果”窗格中，查看结果并向您创建的新列应用任何清理操作。
    
    ![显示三个条形图的转置字段和转置结果。](/tableau/current/zh-cn/prep/zh-cn/Img/prep_pivot_rows2.png)
9. 如果正在转置的字段的行数据发生变化，请在流程窗格中右键单击或按住 Ctrl 并单击 (MacOS)“转置”步骤，并选择“刷新”。