Tableau Prep Builder 入门指南

注意:从版本 2020.4.1 开始,作为 Creator,您还可以在 Web 上创建和编辑流程。本教程是使用 Tableau Prep Builder 设计的,但也可以在 Web 上完成,不过有一些值得注意的例外。

本教程介绍 Tableau Prep 中的常见操作。您将使用 Tableau Prep 附带的样本数据集来演练为示例 Superstore 创建流程。本教程使用最新版本的 Tableau Prep Builder。如果您使用的是以前的版本,结果可能会不同。

请在进行演练的过程中观看提示,深入了解 Tableau Prep 如何帮助您清理和调整数据以进行分析。

若要在继续本教程之前安装 Tableau Prep Builder,请参见 Tableau Desktop 和 Tableau Prep Builder 部署指南中的通过用户界面安装 Tableau Desktop 或 Tableau Prep Builder(链接在新窗口中打开)。否则您可以下载免费试用版(链接在新窗口中打开)

示例文件

若要完成本教程中的任务,您需要安装 Tableau Prep Builder,或者如果在服务器版本 2020.4 或更高版本上启用了 Web 制作,还可以尝试 Web 上的步骤。

在计算机上安装 Tableau Prep Builder 后,您还可以在以下位置找到示例文件:

  • (Windows) C:\Program Files\Tableau\Tableau Prep Builder <version>\help\Samples\en_US\Superstore Files
  • (Mac) /Applications/Tableau Prep Builder <version>.app/Contents/help/Samples/en_US/Superstore Files

或者,从这些链接下载示例文件,并创建一个 Samples 目录和一个 South 子目录。如果在 Web 上完成本教程,则需要这样做。

下载到 Samples 目录下载到 South 子目录

背景故事...

您在一家大型零售连锁店的总部工作。您的老板想要分析过去四年公司的产品销售额和利润。您推荐他使用 Tableau Desktop 来完成该操作。您的老板认为这个主意很棒,并希望您立即着手完成该工作。

在开始收集需要的所有数据时,您注意到,有人已经通过其他方式为每个区域收集和跟踪过数据。您还注意到不同文件中有大量创新数据条目,而且一个区域甚至每年都有单独的文件!

您将不得不先执行大量的数据清理工作,然后才能开始在 Tableau 中分析数据,而这项工作将需要很长时间。

在您翻找餐厅的菜单来订晚餐时,您想起来 Tableau 有一款名为 Tableau Prep 的新产品,该产品可帮助您完成艰巨的数据清理任务。

您下载产品,并注册了免费试用版(链接在新窗口中打开),决定试用一下。

1.连接到数据

打开 Tableau Prep Builder 时,您首先看到是一个带有“连接”窗格的开始页面,就像 Tableau Desktop 一样。

若要开始操作,第一步是连接到数据并创建输入步骤。您将从该处开始创建工作流(在 Tableau Prep 中称之为“流程”),并随着进展添加更多步骤来对数据执行操作。

提示:输入步骤是数据的摄入点和流程的开始点。您可能有多个输入步骤,并且某些步骤可能包括多个数据文件。有关连接到数据的详细信息,请参见连接到数据(链接在新窗口中打开)

不同区域的销售额数据文件以不同的格式存储,并且“南部”区域的订单实际上是多个文件。您检查了“连接”窗格,并发现您有很多选择来连接到数据。太好了!

由于其他区域全部四年的数据是一个文件,因此您决定先 着手处理“南部”区域的文件。

  1. “连接”窗格上,单击“添加连接” 按钮。

    在 Web 制作中,从“主页”中单击“创建”>“流程”,或从“浏览”页面中单击“新建”>“流程”。然后单击“连接到数据”

  2. 文件是 .csv 文件,因此请在连接列表中选择“文本文件”

  3. 导航到您的文件的目录。在 Orders South 子目录中,选择第一个文件 orders_south_2015.csv,并单击“打开”以将其添加到流程。(有关文件位置,请参见总结和资源。)

    连接到第一个文件后,Tableau Prep Builder 工作区将打开,您会看到它分为两个主要部分。顶部的“流程”窗格和底部的“输入”窗格。

    与 Tableau Desktop 很像,“流程”窗格是您的工作区,您可以在其中直观地与数据交互并构建流程。“输入”窗格包含有关如何摄入数据的配置选项。它还显示数据集中的字段、数据类型以及值的示例。

    我们将在下一部分中探讨您如何才能与此数据交互。

    提示:对于单个表,Tableau Prep 会在您将数据添加到流程时自动为您在“流程”窗格中创建输入步骤。否则,您可以使用拖放功能将表添加到“流程”窗格。

  4. 在南方,您还有另外三个订单文件,如何组合它们取决于您在哪里工作。

    在 Tableau Prep Builder 中:

    1. 您可以单独添加每个文件,但您想要将所有文件合并到一个输入步骤中,因此您在“输入”窗格中单击“表”选项卡。
    2. 您会看到一个“合并多个表”选项。选择该选项。

      您注意到,您在其中选择文件的目录已填充,并且您需要的其他文件列在“输入”窗格的“已包括文件”部分中。

      提示:使用通配符并集可以非常方便的连接到单一数据源中具有类似名称和结构的多个文件并将其合并。若要使用此选项,文件必须位于同一父目录或子目录中。如果没有立即看到所需的文件,请更改搜索条件。有关详细信息,请参见在输入步骤中合并文件和数据库表(链接在新窗口中打开)

    3. 单击“应用”以将这些文件中的数据添加到“orders_south_2015”输入步骤。

    4. 其他区域的文件全部都是单一表文件,因此您可以一次性选择所有文件并将它们添加到流程。

      注意:在 Web 上,文件只能单独上载。

    在 Tableau Server 或 Tableau Cloud 中:

    通配符选项目前对于 Tableau Server 或 Tableau Cloud 不可用。不过,您还是希望包括来自南方的所有文件并同样处理数据,因此将它们组合在一起是有意义的。

    1. 重复步骤 2 和 3 以添加 Orders South 子目录中的其他文件。
    2. 将它们与合并步骤结合。(有关更多详细信息,请参见在输入步骤中合并文件和数据库表(链接在新窗口中打开)。)
      1. “Orders_South_2016”拖到“Orders_South_2015”上,并将其放在“并集”选项上。

      2. “Orders_South_2017”拖到新的合并步骤上,并将其放在“添加”上。 对最终文件重复此步骤。

  5. 添加其余文件。

    在 Tableau Prep Builder 中:

    • 打开文件资源管理器或 Finder,并导航到文件的目录。按住 Ctrl 单击或按住 Cmd 单击 (MacOS),选择以下文件并将它们拖放到“流程”窗格上,将这些文件添加到流程。(有关文件位置,请参见总结和资源。)
      • Orders_Central.csv
      • Orders_East.xlsx
      • Orders_West.csv

    注意:这些是不同的文件类型。如果您看不到所有这些文件,请确保您的文件资源管理器或 Finder 设置为查看所有文件类型。

    在 Tableau Server 或 Tableau Cloud 中:

    • 按照步骤 2 和 3 添加 Orders_Central.csv 和 Orders_West.csv。
    • “连接”窗格上,单击“添加连接” 按钮。单击 Microsoft Excel 并选择“Orders_East.xlsx”。

检查您的工作:观看“连接到数据”的实际运行效果。

单击图像可重播

2.浏览数据

既然您已将数据文件加载到 Tableau Prep,您很确定自己想要将所有文件合并在一起。但在执行该操作之前,不妨先检查一下这些文件,看看是否能找出任何问题。

在“流程”窗格中选择输入步骤时,您可能会看到用于引入数据的设置、所包括的字段以及值的预览。

在这里可以很方便地决定要在流程中包括多少数据,以及移除或筛选不需要的字段。您还可以更改未正确分配的任何数据类型。

提示:如果在处理大型数据集,Tableau Prep 会自动引入数据样本,从而最大限度提升性能。如果看不到预期数据,您可能需要调整样本。可在“数据样本”选项卡上执行此操作。有关配置数据选项和样本大小的详细信息,请参见选择数据样本大小(链接在新窗口中打开)

“流程”窗格中,当您选择每个步骤并查看每个数据集时,您注意到需要稍后修复的一些问题,以及一个可立即在输入步骤中修复的问题。

  • 选择“Orders_West”输入步骤。

    • “State”(州)字段使用州名称的缩写。其他文件则使用完整拼写,因此您将需要稍后修复该问题。

    • 有许多以“Right_”开头的字段。这些字段似乎与其他字段重复。您不想在流程中包括这些重复字段。此问题可在“输入”步骤中的此处修复:

      若要立即修复此问题,请清除以“Right_”开头的所有字段的复选框。这会指示 Tableau Prep 忽略这些字段,不将它们包括在流程中。

      提示:当您在某个步骤中执行清理操作(比如移除字段)时,Tableau Prep 会在“更改”窗格中跟踪您所做的更改,并在“流程”窗格中(以小图标的形式)添加注释来帮助您跟踪对数据所做的操作。对于“输入”步骤,也会向每个字段中添加注释。

  • “流程”窗格中,单击“Orders_Central”输入步骤将其选定。在“输入”窗格中,您注意到以下问题:

    • 订单日期和发货日期在字段中已针对月、日和年分开。

    • 某些字段的数据类型与其他文件中相同字段的数据类型不同。
    • “Region”(区域)没有字段。

    您将需要对这些字段执行一些清理操作,然后才能将此文件与其他文件合并。但您无法在“输入”步骤中的此处修复该问题,因此记下来以便稍后进行

  • 选择“Orders_East”输入步骤。

    此文件中的字段看起来与其他文件完全一致。但“Sales”(销售额)值似乎全部都包括了货币代码。您稍后也需要修复该问题。

既然您已经确定了数据集中的一些问题,那么下一步是更仔细地检查您的数据并清理找到的任何问题,以便能够合并和调整数据,并生成可用于分析的输出文件。

3.清理数据

在 Tableau Prep 中,检查和清理数据是一个反复的过程。确定了要处理的数据集之后,下一步是检查该数据,并通过对数据应用各种清理、调整和合并操作来对其进行操作。您通过向流程中添加步骤来应用这些操作。有关清理选项的详细信息,请参见清理和调整数据(链接在新窗口中打开)

根据您尝试进行的操作,步骤有多种风格。例如,在想要对字段应用像筛选、合并、拆分、重命名这样的清理操作时随时添加清理步骤。添加聚合步骤来对字段进行分组和聚合,并更改数据的详细级别。有关不同步骤类型及其用法的详细信息,请参见构建和组织流程(链接在新窗口中打开)

提示:向流程中添加步骤时,会自动添加一条流程线将步骤相互连接在一起。您可以将这些流程线四处移动,并根据需要移除或添加流程线。

运行流程时,必须要有这些连接点,以便 Tableau Prep 知道哪些步骤已连接以及步骤在流程中的应用顺序。如果缺少流程线,则流程会中断并出现错误。

清理 Orders_Central

为了解决之前发现的问题并确定是否还有任何其他问题,您首先向“Orders_Central”输入步骤中添加一个清理步骤。

  1. “流程”窗格中,选择“Orders_Central”,执行以下操作之一:

    • 单击加号 图标并添加清理步骤。根据您的版本,此菜单选项为“添加步骤”“添加清理步骤”“清理步骤”
    • 单击建议的清理步骤(Tableau Prep Builder 版本 2020.3.3 及更高版本以及在 Web 上)

    向流程中添加清理步骤时,工作区将发生变化,您将看到数据的详细信息。

    A. “流程”窗格、B. 工具栏、C. “配置”窗格、D. 数据网格

    工作区现在分为三个部分:“流程”窗格、带工具栏的“配置”窗格和“数据”网格。

    配置”窗格显示数据的结构,同时将字段值汇总到数据桶中,以便您能够快速查看相关值,并找出离群值和 null 值。“数据”网格显示字段的行级别详细信息。

    提示“配置”窗格中的每个字段都显示在配置卡上。使用每张卡上的“更多选项” 菜单(在以前的版本中为下拉箭头)来查看和选择可用于该字段类型的不同清理选项。您也可以对字段值进行排序、更改数据类型、为字段分配数据角色,或在“数据”网格中拖放配置卡和列以重新排列它们。

    使用计算字段清理数据

    此数据集缺少“Region”(区域)字段。由于其他数据集有此字段,因此您将需要添加此字段,以便能够稍后合并数据。您将需要使用计算字段来执行此操作。

  2. 在工具栏中,单击“创建计算字段”

  3. 在计算编辑器中,将计算字段命名为Region(区域)。然后输入 "Central"(包括引号),并单击“保存”。

    您能够使用计算字段来调整数据,这种灵活性让您非常喜欢。您非常高兴看到 Tableau Prep 使用与 Tableau Desktop 相同的计算编辑器语言。

    提示:当您对字段和值进行更改时,Tableau Prep 会在左侧的“更改”窗格跟踪所做的更改。同时,会向流程中的清理步骤和“配置”窗格中的字段添加一个表示更改的图标(注释)。我们将在进行更多更改之后查看“更改”窗格。

    接下来,您需要解决单独订单日期和发货日期字段的问题。您需要将它们合并为两个单一字段,一个用于“Order Date”(订单日期),一个用于“Ship Date”(发货日期),使它们与其他数据集中的相同字段保持一致。确保表具有相同的字段将使您能够稍后使用并集来合并表。

    您可以再次使用计算字段,通过一个轻松的步骤执行此操作。

  4. 在工具栏中,单击“创建计算字段”,将“Order Year”(订单年份)“Order Month”(订单月份)“Order Day”(订单日)字段合并为一个格式为“MM/DD/YYYY”的字段。

  5. 在计算编辑器中,将计算字段命名为“Order Date”(订单日期)。然后输入以下计算,并单击“保存”

    MAKEDATE([Order Year],[Order Month],[Order Day])

    既然有了新的订单日期字段,那么您需要移除现有字段,因为您不再需要它们。

    “配置”窗格中有很多字段。您注意到工具栏右上角的“搜索”框。您不知道是否能使用该框来快速查找想要移除的字段。您决定试一下。

  6. “配置”窗格的搜索框中,键入 Order

    Tableau Prep 将在视图中快速滚动名称中包含“Order”的所有字段。太酷了!

  7. 按住 Ctrl 单击或按住 Cmd 单击 (MacOS),选择“Order Year”(订单年份)“Order Month”(订单月份)“Order Day”(订单日)字段。然后右键单击所选字段,并从菜单中选择“移除字段”(在以前的版本中为“移除字段”)来移除它们。

  8. 现在重复上面的步骤 4 至 7,为“Ship Date”(发货日期)创建单一字段。自己尝试一下,或使用下面的步骤来帮助您。

    • 在工具栏中,单击“创建计算字段”,将“Ship Year”(发货年份)“Ship Month”(发货月份)“Ship Day”(发货日)字段合并为一个格式为“MM/DD/YYYY”的字段。

    • 将该计算字段命名为“Ship Date”(发货日期),并输入计算 MAKEDATE([Ship Year],[Ship Month],[Ship Day])。然后单击“保存”

    • 移除“Ship Year”(发货年份)“Ship Month”(发货月份)“Ship Day”(发货日)字段。搜索并选择字段,然后从菜单中选择“移除”(在以前的版本中为“移除字段”)来移除这些字段。

    提示:Tableau Prep 会将“配置”窗格中的数据汇总到数据桶中,帮助您快速查看数据的形状、查找离群值、找出字段之间的关系,等等。

    在此方案中,订单日期和发货日期现在可按年份汇总。每个数据桶都表示从起始年份一月份到下一年一月份的一年,并带有相应标签。由于有处于 2018 年和 2019 年下半年的销售日期及发货日期,因此该数据的数据桶相应标有 2019 年和 2020 年年末。

    若要将此视图更改为实际日期,请单击“配置”卡中的“更多选项” 菜单(在以前的版本中为下拉箭头),并选择“详细信息”

    与字段直接交互来清理数据

    您的数据一开始看起来很好。但在完成为订单日期和发货日期移除额外字段的操作后,您注意到“Discounts”(折扣)字段有一些问题。

    • 系统为其分配了“字符串”数据类型,而不是“数字(小数)”数据类型。

    • 对于无折扣的情况,字段值是“None”(无),而不是数字值。

    这将在合并文件时导致问题,因此最好也修复该问题。

  9. 清除搜索,并在搜索框中输入 disc 来查找字段。

  10. 选择“Discounts”(折扣)字段,双击字段值“None”(无),并将其更改为数字值“0”

  11. 若要将“Discount”(折扣)字段的数据类型从“字符串”更改为“数字(小数)”,单击“Abc”,并从下拉菜单中选择“数字(十进制)”

  12. 最后为步骤命名,以帮助跟踪您在此步骤中进行的操作。在“流程”窗格中,双击步骤名称“Clean 1”(清理 1),并键入“Fix dates/field names”(修复日期/字段名称)

查看您的更改

您对此数据集进行了许多更改,并开始担心自己会不记得所进行的操作。在检查工作时,您看到“配置”窗格的左侧有一个名为“更改”的列。

您单击箭头将其打开,看到其中列出了您刚刚进行的每项更改,这让您很高兴。在您滚动浏览列表中的更改时,您注意到,您可以删除或编辑更改,甚至能将更改四处移动来改变所做更改的顺序。

您可以轻松地查找构建流程时在任何步骤中所做的更改,并对这些更改的顺序进行试验来最大程度地利用您的数据,这让您非常喜欢。

检查您的工作:观看“清理 Orders_Central”的实际运行效果。

单击图像可重播

既然已清理了一个文件,那么您将查看其他文件来确定需要修复的其他问题。

接下来您决定查看“Orders_East”的 Excel 文件。

清理 Orders_East

在查看“Orders_East”文件的字段时,除了“Sales”(销售额)之外,大多数字段看起来与其他文件一致。为了进一步查看并确定是否还有任何其他要解决的问题,您向“Orders_East”输入步骤中添加一个清理步骤。

  1. “流程”窗格中,选择“Orders_East”,并执行以下操作之一:

    • 单击加号 图标并添加清理步骤。根据您的版本,此菜单选项为“添加步骤”“添加清理步骤”“清理步骤”
    • 单击建议的清理步骤(Tableau Prep Builder 版本 2020.3.3 及更高版本以及在 Web 上)。

    通过查看“Sales”(销售额)字段,您很快发现随销售额数字一起包括了 USD 货币代码,并且 Tableau Prep 已将这些字段值解读为字符串。

    如果要获得准确的销售额数据,您将需要从此字段中移除货币代码,并更改数据类型。

    修复数据类型很容易,您已经知道如何做了。但唯一的销售额数据行超过 2000 行,而修复每个单独的行来移除货币代码看起来很麻烦。

    但这是 Tableau Prep,因此您决定检查下拉菜单,看看是否有用于修复此问题的选项。

    当您单击“Sales”(销售额)字段的“更多选项”(以前版本中的下拉箭头)时,您看到一个名为“清理”的菜单选项,以及该选项下一个用于移除字母的选项。您决定尝试一下,看看该选项有什么用。

  2. 选择“Sales”(销售额)字段。单击“更多选项” 菜单(在以前的版本中为下拉箭头),并选择“清理”>“移除字母”

    哇!该清理选项立即从每个字段中移除了货币代码。现在您只需要将数据类型从“字符串”更改为“数字(小数)”,此文件看起来就正常了。

  3. 单击“Sales”(销售额)字段的数据类型,并从下拉列表中选择“数字(小数)”来更改数据类型。

  4. 文件的其余部分看起来很好。为清理步骤命名以跟踪您的工作。例如,命名为“Change data type”(更改数据类型)。

接下来您将查看 Orders_West 的最后一个文件,看看是否有任何需要修复的问题。

清理 Orders_West

在您查看“Orders_West”文件的字段时,大多数字段看起来都与其他文件一致,但您记得看到过“States”(州)字段为值使用了缩写,而不是州名称的完整拼写。为了将此文件与其他文件合并,您将需要修复此问题。因此您向“Orders_West”输入步骤中添加一个清理步骤。

  1. “流程”窗格中,选择“Orders_West”,并执行以下操作之一:

    • 单击加号 图标并添加清理步骤。
    • 单击建议的清理步骤(Tableau Prep Builder 版本 2020.3.3 及更高版本以及在 Web 上)。
  2. 滚动或使用“搜索”来查找“State”(州)字段。

    您将看到所有州名称值都使用简短缩写。此字段只有 11 个唯一的值。您可以手动更改每个值,但 Tableau Prep 是否可能有另一种方法来完成此操作?

    您单击字段的“更多选项” 菜单(以前版本中的下拉箭头),并看到一个名为“对值进行分组”(在以前的版本中为“分组和替换”)的选项。选择该选项时,您将看到若干选项:

    • 手动选择

    • 发音

    • 常用字符

    • 拼写

    州名称的发音不相似,它们的拼写不正确,也没有共用相同的字符,因此您决定尝试“手动选择”选项。

    提示:您可以双击字段名称或字段值来编辑单个值。若要编辑多个值,您可以选择所有值,并使用右键单击菜单选项“编辑值”。但如果要将一个或多个值映射到特定值,请使用下拉菜单中的“对值进行分组”选项。
    有关对值进行编辑和分组的详细信息,请参见编辑字段值(链接在新窗口中打开)

  3. 选择“State”(州)字段。单击下拉箭头,并选择“对值进行分组”(以前版本中的“分组和替换”)>“手动选择”

    一个两列的卡将打开。这是“对值进行分组”编辑器。左侧的列显示当前字段值,右侧的列显示可映射到左侧字段的字段。

    您想要将州缩写映射到州名称的完整拼写版本,但在“Orders_West”数据集中没有这些值。您不知道是否能直接编辑名称和在该处添加名称,因此您尝试了一下。

  4. 在左侧窗格的“对值进行分组”编辑器中,双击“AZ”以突出显示值,并键入 Arizona。然后按 Enter 以添加更改。

    Tableau Prep 为新值“Arizona”创建了一个映射值,并自动将旧值“AZ”映射到该值。如果您像这样输入了更多此区域的数据,那么为这些值建立映射关系将节省您的时间。

    提示:您可以添加数据样本中没有的字段值,建立映射关系来组织数据。如果刷新数据源并添加了新数据,您可以将新数据添加到映射,而不是手动修复每个值。

    当您手动添加数据样本中没有的值时,值将带有红点标记,可帮助您轻松识别该值。

  5. 重复这些步骤,将每个州都映射到其名称的完整拼写版本。

    缩写州名称
    AZArizona
    CACalifornia
    COColorado
    IDIdaho
    MTMontana
    NMNew Mexico
    NVNevada
    OROregon
    UTUtah
    WAWashington
    WYWyoming

    然后,单击“完成”关闭“对值进行分组”编辑器。

    映射了所有州之后,您查看“更改”窗格,看到其中只有一个条目,而不是 11 个条目。

    Tableau Prep 已将字段的类似操作分组在一起。您喜欢该功能,因为利用它可以更轻松地查找随后对数据集所做的更改。

    修复“State”(州)字段值是您需要在此处进行的唯一更改。

  6. 为清理步骤命名以跟踪您的工作。例如“Rename states”(重命名州)。

您在文件中进行了大量的清理,不敢相信操作能如此快捷轻松地完成。您竟然还可以回家吃晚饭!为了确保不会丢失到目前为止所做的工作,请保存您的流程。

注意:如果在 Web 上工作,更改会在您移动时自动保存,从而创建草稿流程。单击草稿标题以命名草稿。有关在 Web 上制作的详细信息,请参见 Tableau Server(链接在新窗口中打开)Tableau Cloud(链接在新窗口中打开) 帮助中的“Web 上的 Tableau Prep”

单击“文件”>“保存”或“文件”>“另存为”。将文件另存为流程文件 (.tfl) 并为其命名。例如“My Superstore”(我的超市)。

提示:在保存流程文件时,您可以将它们另存为流程文件 (.tfl) 或打包文件 (.tflx),并将本地数据文件与这些文件打包在一起,以便将流程和文件与其他人共享。有关保存和共享流程的详细信息,请参见保存和共享工作(链接在新窗口中打开)

4.合并数据

既然清理了所有文件,那么您就已最终准备好将它们合并在一起。

由于清理后所有文件都有类似的字段,因此若要将所有行合并到单个表中,您需要将这些表合并。

您记得有一个名为“并集”的步骤选项,但不知道是否能简单地通过拖放步骤来合并文件。您决定试一下看看。

合并数据

  1. 针对您的工作位置执行相关步骤。

    Tableau Prep Builder

    • “流程”窗格中,将清理步骤“Rename states”(重命名州)拖到清理步骤“Changed data type”(更改的数据类型)步骤,并将其放在“并集”选项上。

      您看到 Tableau Prep Builder 向流程中添加了一个新的“Union”(合并)步骤。太好了!现在,您想要向此并集中添加其他文件。

    Tableau Server 或 Tableau Cloud

    • “流程”窗格中,将清理步骤“Rename states”(重命名州)拖到之前为 South 文件创建的“并集”步骤,并将其放在“添加”选项上。

      您会看到 Tableau Prep 将新文件添加到以前的并集中。太好了!现在,您想要向此并集中添加其他文件。

  2. 将流程中的下一个清理步骤拖到新的“并集”步骤,然后将其放在“添加”上以添加到现有并集。

  3. 将其余步骤(如果在 Tableau Prep Builder 中工作,为“orders_south_2015”输入步骤,如果在 Web 上工作,则为您的清理步骤)拖到新的“并集”步骤。将其放在“添加”上以添加到现有并集。

    现在,所有文件已合并到一个表中。在“流程”窗格中,选择新的“Union”(合并)步骤以查看结果。

    在 Tableau Prep Builder 上:

    在 Tableau Server 或 Tableau Cloud 上:


    您注意到,Tableau 自动匹配了具有相同名称和类型的字段。

    您还看到,分配给流程中步骤的颜色用在并集配置中指明字段来自于何处,并同时出现在每个字段顶部的色带中,显示该字段是否存在于该表中。

    您注意到新增了一个名为“Table Names”(表名称)的新字段,该字段列出了并集中所有行的来源表。

    不匹配字段的列表也显示在摘要窗格中,并且您可以立即看到字段“Product”(产品)“Discounts”(折扣)只出现在 Orders_Central 文件中。

  4. 若要更仔细地查看这些字段,请在“并集结果”窗格中选中“仅显示不匹配字段”复选框。

    通过查看字段数据,您很快发现数据相同,但字段名不同。您可以简单地重命名字段,但不知道是否能拖放这些字段来合并它们。您决定试一下看看。

  5. 选择“Product”(产品)字段,并将其拖放到“Product Name”(产品名称)字段上来合并字段。字段合并后将不再出现在窗格中。

  6. 重复此步骤,将“Discounts”(多项折扣)字段与“Discount”(折扣)字段合并。

    现在,唯一没有匹配项的字段是“File Paths”(文件路径)字段。在 Tableau Prep Builder 中,此字段显示您为“南部”区域销售订单执行的通配符并集的文件路径。您决定将此字段保留在该处,因为它有很好的信息。

    提示:在合并之后修复不匹配的字段时,您有若干选择。如果 Tableau Prep 检测到可能的匹配项,它将以黄色突出显示相应匹配项。若要合并字段,请将光标悬停在突出显示的字段上,并单击出现的加号 按钮。

    有关在并集中合并字段的更多方式,请参见修复不匹配的字段

  7. 清除“仅显示不匹配字段”复选框以显示并集中包括的所有字段。

  8. 为合并步骤命名以表示此并集所包括的内容。例如,“All orders”(所有订单)。

检查您的工作:观看“合并数据”的实际运行效果。

单击图像可重播

您是清理天才!正当您对结果赞不绝口时,您的老板打来了电话。他忘了说他还想要您在分析中包括任何产品退货。他希望这项工作不会太麻烦。利用工具包中的 Tableau Prep,这完全不成问题!

清理产品退货数据

您检查老板发给您的产品退货相关 Excel 文件,发现文件有一点杂乱。您将新文件 return_reasons new 添加到您的流程来仔细检查。

  1. “连接”窗格中,单击“添加连接”。选择“Microsoft Excel”并导航到您用于本练习的示例数据文件。(请参见示例文件以下载文件。)

  2. 选择 return reasons_new.xlsx,然后单击“打开”将该文件添加到流程窗格。

    此文件中只有 4 个您想要包括在流程中的字段:“Order ID”(订单 ID)“Product ID”(产品 ID)“Return Reason”(退货原因)“Notes”(注释)

  3. 在“returns_new”的“输入”窗格中,清除最左边的列顶部的复选框以清除所有复选框。然后,选中“Order ID”(订单 ID)“Product ID”(产品 ID)“Return Reason”(退货原因)“Notes”(注释)字段的复选框。

  4. 重命名输入步骤以更好地反映此输入中包括的数据。在“流程”窗格中,双击输入步骤名称“Returns_new”,并键入“Returns (all)”(退货(全部))

    通过查看示例字段值,您注意到“Notes”(注释)字段似乎有很多不同的数据合并在一起。

    您要在此文件中执行一些清理,然后才能对数据进行进一步处理,因此,您添加了清理步骤来进行检查。

  5. “流程”窗格中,选择输入步骤“Returns (all)”(退货(全部)),单击加号 图标或建议的清理步骤,添加一个清理步骤。

    在“配置”窗格中,调整“Notes”(流程)字段的大小以便更好地能看到各个条目。为此,请单击并将字段的右侧外缘向右拖。

  6. “Notes”(注释)字段中,使用字段值右侧可视的滚动条来浏览各个值。

    您注意到一些内容有问题:

    • 某些条目的内容中有额外的空格。这可能会导致字段被读取为 null 值。

    • 审批者的名称似乎包括在退货注释条目中。为了更好地使用此数据,您需要将该信息放在一个单独的字段中。

    为了处理额外的空格,您记得有一个用于移除尾随空格的清理选项,因此决定尝试一下,看看该选项是否能修复问题。

  7. 选择“Notes”(注释)字段。单击“更多选项” 菜单(在以前的版本中为下拉箭头),并选择“清理”>“剪裁空格”

    太好了!它准确地完成了所需的操作。额外的空格不见了。

    接下来,您想要为审批者名称创建一个单独的字段。您看到菜单中的“拆分值”选项,因此决定尝试该选项。

  8. 选择“Notes”(注释)字段。单击“更多选项” 菜单(在以前的版本中为下拉箭头),并选择“拆分值”>“自动拆分”

    此选项准确地完成了您希望其进行的操作。它自动将退货注释和审批者姓名拆分到单独的字段中。

    就像 Tableau Desktop 一样,Tableau Prep 也为这些字段自动分配了名称。因此您将需要将新字段重命名为有意义的名称。

  9. 选择字段“Notes-Split 1”(注释-拆分 1)。在字段名中双击,并键入“Return Notes”(退货注释)

  10. 为第二个字段重复此步骤,并将其重命名为“Approver”(审批者)

  11. 最后,在您不再需要原始“Notes”(注释)字段时将其移除。选择“Notes”(注释)字段,单击“更多选项” 菜单(在以前的版本中为下拉箭头),并从菜单中选择“移除”(在以前的版本中为“移除字段”)。

    通过查看新的“Approver”(审批者)字段,您注意到字段值列出了相同名称,但这些名称的输入方式不同。您想要将这些字段分组,以消除同一值的多个变体。

    也许“对值进行分组”(以前版本中的“分组和替换”)选项可帮助完成该操作?

    您记得有一个用于“共同字符”的选项。由于这些值共用相同字母,因此您决定试一下。

  12. 选择“Approver”(审批者)字段。单击“更多选项” 菜单(在以前的版本中为下拉箭头),并选择“对值进行分组”(以前版本中的“分组和替换”)>“共同字符”

    此选项为您将每个名称的所有变体分组在一起。这完全就是您想要达到的目的。

    检查了其他名称来确保其正确分组后,您单击“完成”关闭“对值进行分组”编辑器。

    此文件看起来非常好。

  13. 为清理步骤命名以跟踪您的工作。例如,“Cleaned notes”(清理的注释)。

既然产品退货数据全部已清理,那么您想要将退货数据添加到合并的文件中的订单数据。但其中许多字段在合并的文件中不存在。若要将这些字段(数据列)添加到合并的数据集,您需要使用联接。

联接数据

在联接数据时,这些文件至少必须有一个共同的字段。您的文件共用“Order ID”(订单 ID)“Product Id”(产品 Id)字段,因此您可以在这些字段上联接,以查看共有这些字段的所有行。在您使用拖放创建并集时,您记得有一个用于创建联接的选项,因此您试了一下。

  1. “流程”窗格中,将“Cleaned notes”(清理的注释)步骤拖到“All orders”(所有订单)合并步骤上,并将其放在“联接”上。

    在联接文件时,Tableau Prep 会在“联接配置”中显示联接的结果。

    处理联接可能会很棘手。您通常想要有一个具有联接中所包括因素的清晰视图,例如用于联接文件的字段、结果中的包括的行数,以及未包括或为 null 值的任何字段。

    在 Tableau Prep 中查看联接的结果时,您很高兴地看到有如此多的信息,并且可以随时交互。

    提示:在联接配置最左侧的窗格中,您可以浏览联接并与之交互。您也可以在“联接子句”窗格中直接编辑值,并在“联接结果”窗格中执行清理操作。

    “联接类型”图表中单击以尝试不同的联接配置,并在 “联接结果汇总”部分中查看联接中为每个表包括或排除的行数。

    在“已应用联接子句”部分中选择要进行联接的字段,或通过“联接子句建议”部分添加建议的联接子句。

    有关使用联接的详细信息,请参见聚合、联接或合并数据(链接在新窗口中打开)

    您看到有超过 13,000 行被从“All Orders”(所有订单)文件中排除。创建联接之后,Tableau Prep 自动对“Product ID”(产品 ID)字段进行了联接,但您还想对“Order ID”(订单 ID)字段进行联接。

    在浏览联接配置的左侧窗格时,您看到建议的联接子句列表中有“Order ID”(订单 Id),因此您从该处快速添加了该字段。

  2. 联接配置左侧窗格中的“联接子句建议”部分,选择“Order ID = Order Id”,并单击加号 按钮添加联接子句。

    由于“联接类型”设置为内部联接(Tableau Prep 的默认设置),因此联接仅包括两个文件中均存在的值。但您需要“Orders”(订单)文件中的所有数据,以及这些文件的退货数据。因此您将需要更改联接类型。

  3. “联接类型”部分,单击图表的一侧以包括所有订单。在下面的示例中,单击图表的左侧以将联接类型更改为“左”联接,并包括“All orders”(所有订单)合并步骤中的所有数据,以及“Cleaned notes”(清理的注释)步骤中的任何匹配数据。

    现在,您有了销售订单文件中的所有数据,以及适用于这些订单的任何退货数据。您查看“联接子句”窗格,并看到一些其他文件中不存在的不同值。

    例如,有很多没有对应退货数据的订单行(显示为红色)。您能够浏览此详细级别的联接相关信息,这让您非常喜欢。

    您急于想在 Tableau Desktop 中开始分析此数据,但在开始分析之前,您注意到联接要有一些结果需要清理。幸好您知道怎么做!

    提示:不知道数据是否足够干净?从 Tableau Prep Builder 中,您可以从流程的任何步骤中通过 Tableau Desktop 预览数据,对其进行检查。

    只需在“流程”窗格中右键单击该步骤,并从菜单中选择“在 Tableau Desktop 中预览”

    您可能会遇到您的数据和在 Tableau Desktop 中进行的更改未写回 Tableau Prep Builder 中的数据源的情况。有关详细信息,请参见在 Tableau Desktop 中查看流程输出(链接在新窗口中打开)

  4. 在开始清理联接结果之前,将联接步骤命名为“Orders+Returns”(订单+退货),并保存流程。

清理联接结果

注意:若要清理联接中的字段,您可以直接在“联接”步骤中执行清理操作。对于本教程,我们将添加一个清理步骤,以便您能够清晰地看到您的清理操作。如果要尝试直接在联接步骤中执行这些步骤,请跳过下面的步骤 1 和 3。

联接了两个步骤之后,系统为两个表都添加了“Order ID”(订单 ID)和“Product ID”(产品 ID)共同字段。

您想要保留所有订单中的“Product ID”(产品 ID)字段和退货文件中的“Order ID”(订单 ID)字段,并移除来自这些字段的重复字段。您也不需要输出文件中的“File Paths”(文件路径)“Table Names”(表名称)字段,因此也需要移除这些字段。

提示:当您使用两个文件中均存在的字段联接表时,Tableau Prep 将会引入这些字段,并通过向字段名中添加“-1”或“-2”来重命名第二个文件中的重复字段。例如,“Order ID”(订单 ID)和“Order ID-1”(订单 ID-1)。

  1. “流程”窗格中,选择“Orders+Returns”(订单+退货),单击加号 图标,并添加清理步骤。

  2. “配置”窗格中,选择并移除以下字段:

    • Table Names(表名称)

    • Order ID(订单 ID)

    • 文件路径(仅限 Tableau Prep Builder)

    • Product ID-1(产品 ID-1)

  3. 将字段“Order ID-1”(订单 Id-1)重命名为“Order ID”(订单 ID)

    有很多产品已退货的 null 值,但没有指明退货注释或审批者。为了使此数据更易于分析,您想要添加一个值为“Yes”“No”的字段来指明产品是否已退货。

    您没有此字段,但可以通过创建计算字段来添加它。

  4. 在工具栏中,单击“创建计算字段”

  5. 将字段命名为“Returned?”(已退货?),然后输入以下计算并单击“保存”

    If ISNULL([Return Reason])=FALSE THEN "Yes" ELSE "No" END

    为了进行分析,您还想要知道订单发货天数,但您也没有该字段。

    不过您有创建该字段所需的全部信息,因此添加了另一个计算字段来创建它。

  6. 在工具栏中,单击“创建计算字段”

  7. 将字段命名为“Days to Ship”(发货天数),然后输入以下计算并单击“保存”

    DATEDIFF('day',[Order Date],[Ship Date])

  8. 将步骤命名为“Clean Orders +Returns”(清理订单+退货)

  9. 保存您的流程。

5.运行流程并生成输出

您的数据看起来很好,并且您已准备好生成输出文件以便开始在 Tableau Desktop 中对其进行分析。您只需运行流程并生成数据提取文件即可。为此,您需要添加一个输出步骤。

根据工作位置,您可以将流程输出到文件(仅限 Tableau Prep Builder),输出到已发布数据源或数据库。

  1. “流程”窗格中,选择“Clean Orders+Returns”(清理订单+退货),单击加号 图标,并选择“输出”(以前版本中的“添加输出”)。

    添加输出步骤时,“输出”窗格将打开,并显示数据的快照。在这里您可以选择要生成的输出的类型,并指定名称和要保存文件的位置。

    默认位置为数据源文件夹中的“我的 Tableau Prep Builder”存储库。

  2. 在左侧窗格的“将输出保存到”下拉列表中,根据工作位置,执行以下操作之一:

    Tableau Prep Builder

    1. 选择“文件”(在以前的版本中选择“保存到文件”)。
    2. 单击“浏览”按钮,然后在“将数据提取另存为”对话框中输入文件的名称,例如“Orders_Returns_Superstore”,并单击“接受”
    3. “输出类型”字段中,选择一种输出类型。对于 Tableau Desktop,请选择 Tableau 数据提取 (.hyper),或者,如果要与第三方共享数据提取,请选择逗号分隔值 (.csv)。

    Tableau Server 或 Tableau Cloud

    1. 选择“已发布数据源”。
    2. 选择一个项目。
    3. 输入文件的名称,例如“Orders_Returns_Superstore”

    提示:在通过流程生成输出时,您有一些选择。您可以生成数据提取文件(仅限 Tableau Prep Builder),可以将您的数据以数据源的形式发布到 Tableau Server 或 Tableau Cloud,或者可以将数据写入数据库。有关生成输出文件的详细信息,请参见创建数据提取文件和已发布数据源(链接在新窗口中打开)

  3. “写入选项”部分,查看将新数据写入文件的选项。您希望使用默认选项(“创建表”)并将表替换为流程输出,因而此处没有要更改的内容。

    提示:从版本 2020.2.1 开始,您可以选择要如何将流程数据写回表。您可以从两个选项中进行选择;“创建表”“追加表”。默认情况下,Tableau Prep 使用“创建表”选项,并在运行流程时用新数据覆盖表数据。如果选择“追加表”,Tableau Prep 会将流程数据添加到现有表,以便可以在每次流程运行时同时跟踪新数据和历史数据。有关详细信息,请参见配置写入选项

  4. 在“输出”窗格中单击“运行流程”,或在流程窗格中单击“运行流程” 按钮以生成输出。

    注意:如果在 Web 上工作,请单击“发布”以发布草稿流程。只能运行已发布的流程。

  5. 流程完成运行时,一个状态对话框将显示流程运行成功,以及运行所花费的时间。单击“完成”关闭该对话框。

    如果在 Web 上工作,请导航到“浏览”>“所有流程”页面,并找到您的流程。您可以在“流程概述”页面上查看流程运行的状态。

    若要使数据保持最新,您可以手动或使用命令行来运行流程。如果您有 数据管理 并启用了 Tableau Prep Conductor,还可以在 Tableau ServerTableau Cloud 中按计划运行流程。

    从 Tableau Prep Builder 版本 2020.2.1 开始以及在 Web 上,您还可以选择在每次运行流程时刷新所有数据,或使用增量刷新运行流程,并且每次只处理新数据。

    有关使数据保持最新的详细信息,请参见以下主题:

总结和资源

您是数据准备巨星了!您轻松地找出了不良数据并对其进行了改变!您很快清理并准备好了来自多个数据集的数据,并将其转换为可立即在 Tableau Desktop 中处理来进行分析的井然有序、干净的数据集。

想要进行更多练习?尝试使用下列文件夹中的数据文件重复执行 Superstore 示例流程的其余步骤:

在安装 Tableau Prep Builder 后,您还可以在计算机上的以下位置找到这些文件:

  • (Windows) C:\Program Files\Tableau\Tableau Prep Builder <version>\help\Samples\en_US\Superstore Files
  • (Mac) /Applications/Tableau Prep Builder <version>.app/Contents/help/Samples/en_US/Superstore Files

想要获得更多培训?查看这些优质资源(链接在新窗口中打开),或参加现场培训(链接在新窗口中打开)课程。

想要了解我们所讨论主题的详细信息?请查看 Tableau Prep 联机帮助中的其他主题。

感谢您的反馈!您的反馈已成功提交。谢谢!