转置您的数据

注意:从版本 2020.4.1 开始,您现在可以在 Tableau ServerTableau Cloud 中创建和编辑流程。除非特别指出,本主题中的内容适用于所有平台。有关在 Web 上制作流程的详细信息,请参见 Tableau Server(链接在新窗口中打开)Tableau Cloud(链接在新窗口中打开) 帮助中的 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 Prep Builder 版本 2019.4.2 及更高版本和在 Web 上)流程步骤菜单(所有版本)
      Tableau Prep Builder 页面,其中已选中“将列转置为行”选项。数据源图标菜单打开,并选择了“转置”。
  4. (可选)在“字段”窗格的“搜索”字段中输入一个值,以在字段列表中搜索要转置的字段。

  5. (可选)选中“自动重命名转置的字段和值”复选框,使 Tableau Prep 能够使用数据中的常用值重命名新的转置字段。如果找不到常用值,则使用默认名称。
  6. 从左侧窗格中选择一个或多个字段,并将这些字段拖到“转置的字段”窗格中的“转置 1 值”列。

  7. (可选)在“转置的字段”窗格中,单击加号 带有加号的按钮。 图标添加要进行转置的更多列,然后重复上面的步骤以选择要进行转置的更多字段。结果将立即出现在“转置结果”窗格和数据窗格中。

    注意:您选择的字段数必须与在步骤 5 中选择的字段数相同。举例来说,如果选择了 3 个字段对其进行最初转置,则您进行转置的每个后续列也必须包含 3 个字段。

  8. 如果未启用默认命名选项或者 Tableau Prep 无法自动检测名称,请编辑字段的名称。您也可以在此窗格中编辑原始字段的名称,以对数据进行最恰当地描述。

  9. (可选)重命名新的“转置”步骤以跟踪更改。例如“转置月份”。

  10. 若要在数据更改时刷新转置数据,请运行流程。如果将需要添加到转置的新字段添加到数据源,请将它们手动添加到转置。

示例:对多个字段进行转置

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

一个按月和年显示药品销售、税金和总额的电子表格,带有共享标题。

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

“转置字段”窗格显示了 Tableau Prep 流程中将列转置为行的结果。

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

Tableau Prep 中的转置字段。

使用通配符搜索进行转置

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

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

  1. 连接到您的数据源。

  2. 将要进行转置的表拖到“流程”窗格。

  3. 单击加号 带有加号的按钮。 图标,并从上下文菜单中选择“添加转置”

  4. “转置的字段”窗格中,单击“使用通配符搜索进行转置”链接。

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

  5. 输入要搜索的值或部分值。例如,输入“Sales_”以匹配标为“sales_2017”(2017 年销售额) 、“sales_2018”(2018 年销售额)和“sales_2019”(2019 年销售额)的字段。

    不要使用星号来匹配模式,除非星号是所搜索的字段值的一部分。相反,请单击“搜索选项”Tableau Prep 搜索选项按钮。 按钮来选择所需的值匹配方式。然后按 Enter 应用搜索并转置匹配的值。

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

  6. (可选)在“转置的字段”窗格中,单击加号 带有加号的按钮。 图标添加要进行转置的更多列,然后重复上面的步骤以选择要进行转置的更多字段。

  7. 如果未启用默认命名选项或者 Tableau Prep 无法自动检测名称,请编辑字段的名称。

  8. 若要在数据更改时刷新转置数据,请运行流程。系统会自动检测到添加到数据源并与通配符模式匹配的任何新字段,并将其添加到转置。

  9. 如果结果不是预期结果,请尝试以下选项之一:

    • 在“搜索”字段中输入其他值模式,并按 Enter。转置将自动刷新并显示新结果。

    • 将其他字段手动拖到“转置的字段”窗格中的“转置 1 值”列。您也可以移除手动添加的字段,方法是将它们拖离“转置 1 值”列并放到“字段”窗格中。

      注意:对于依据通配符搜索结果添加的字段,无法通过将它们拖离“转置 1 值”列来移除。作为替代,请尝试使用更具体的模式来匹配所查找的搜索结果。

将行转置为列

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

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

列和行均已转置的两个表。

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

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

  1. 连接到您的数据源。

  2. 将要进行转置的表拖到“流程”窗格。

  3. 单击加号 带有加号的按钮。 图标,并从上下文菜单中选择“添加转置”

  4. “转置的字段”窗格中,从下拉列表中选择“行转置为列”

  5. (可选)在“字段”窗格的“搜索”字段中输入一个值,以在字段列表中搜索要转置的字段
  6. 从左侧窗格中选择一个字段,并将其拖到“转置的字段”窗格中的“将从行转置为列的字段”部分。

    注意:如果要转置的字段具有日期或日期时间数据类型,则需要将数据类型更改为字符串才能对其进行转置。

    此字段中的值将用于创建和命名新列。您可以稍后在“转置结果”窗格中更改列名称。

    转置字段列和结果。

  7. 从左侧窗格中选择一个字段,并将其拖到“转置的字段”窗格中的“要为新列聚合的字段”部分。此字段中的值用于填充通过上一步创建的新列。

    转置字段列和结果。

    系统会为字段分配一个默认聚合类型。单击聚合类型可对其进行更改。

    聚合类型的列表。

  8. “转置结果”窗格中,查看结果并向您创建的新列应用任何清理操作。

    显示三个条形图的转置字段和转置结果。

  9. 如果正在转置的字段的行数据发生变化,请在流程窗格中右键单击或按住 Ctrl 并单击 (MacOS)“转置”步骤,并选择“刷新”