转置您的数据

注意:从版本 2020.4.1 开始,您现在可以在 Tableau ServerTableau Online 中创建和编辑流程。除非特别指出,本主题中的内容适用于所有平台。有关在 Web 上制作流程的详细信息,请参见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 上) 流程步骤菜单(所有版本)
  4. (可选)在“字段”窗格的“搜索”字段中输入一个值,以在字段列表中搜索要转置的字段。

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

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

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

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

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

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

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

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

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

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

使用通配符搜索进行转置

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

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

  1. 连接到您的数据源。

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

  3. 单击加号 图标,并从上下文菜单中选择“添加转置”

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

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

    不要使用星号来匹配模式,除非星号是所搜索的字段值的一部分。相反,请单击“搜索选项” 按钮来选择所需的值匹配方式。然后按 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)“转置”步骤,并选择“刷新”

感谢您的反馈!