Tableau Prep 可以理解成是 Tableau Desktop 的前置工具,主要用于数据清洗,本质是轻量级 ETL 工具(Extract-Transform-Load,抽取- 转换-加载),但比传统 ETL 工具简单太多,不用写复杂代码,全程可视化操作。

本文摘自 Tableau帮助 的 Tableau prep Builder 入门指南,但由于原文机翻味太重且文字冗余,故重新修改编写方便观看。

 

Tableau 本身是上手非常快的bi工具,所以不用教程大概也能学好,但是也可以根据这个教程一步一步来就是了。

 


 

Tableau Prep Builder 入门指南

本教程将讲解Tableau Prep的常见操作,我们将使用软件自带的样本数据集,演练如何为示例Superstore创建数据处理流程。教程基于最新版本的Tableau Prep Builder。

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


 

 

示例文件

 

若要完成本教程中的任务,先从这些链接下载示例文件,并创建一个 Samples 目录和一个 South 子目录。

下载链接:

https://help.tableau.com/current/prep/zh-cn/prep_get_started.htm

下载到 Samples 目录

下载到 South 子目录

  • Orders_Central

  • Orders_East

  • Orders_West

  • returns_reasons_new

  • Orders_South_2015

  • Orders_South_2016

  • Orders_South_2017

  • Orders_South_2018

背景故事

你在大型零售连锁店总部工作,老板需要分析公司过去四年的产品销售额与利润,你使用Tableau Desktop完成分析,并负责前期数据准备。整理数据时发现,各区域数据已通过其他方式收集,但分散在不同文件中,部分区域甚至按年拆分文件,手动清理耗时费力。此时你想到Tableau Prep可高效完成数据清理任务,于是下载免费试用版(链接在新窗口打开)开始操作。

 

1.连接到数据

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

 

 

 

  1. 在“连接”窗格上,单击“添加连接”

     按钮。

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

     

  2. 文件是 .csv 文件,因此请在连接列表中选择“文本文件”。导航至Orders South子目录,选择orders_south_2015.csv单击添加到流程。连接成功后,Tableau Prep Builder工作区将自动打开,分为顶部「流程」窗格和底部「输入」窗格:

     

     

     

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

    • 「流程」窗格:核心工作区,可直观交互数据、构建流程。

    • 「输入」窗格:包含数据摄入配置选项,同时显示数据字段、数据类型及值的示例。

       

  3. 合并南部其他3个订单文件:「输入」窗格点击「表」>「合并多个表」,系统自动识别同目录文件,点击「应用」完成合并。

  4. 添加其他区域文件:按住Ctrl/Cmd键,选中Orders_Central.csv、Orders_East.xlsx、Orders_West.csv,拖放到「流程」窗格即可。

     

     

     

     

 

2.浏览数据

选中输入步骤可预览字段、数据类型及值,便于排查问题。大型数据集会自动引入样本,需调整样本大小可在「数据样本」选项卡操作。

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

 

Orders_West 输入步骤

  • “State”(州)字段使用州名称的缩写。其他文件则使用完整拼写。有许多以“Right_”开头的字段。这些字段似乎与其他字段重复。

    1. 点击「字段列表」按钮,切换到字段列表视图。

    2. 选中所有以“Right_”开头的字段,将光标悬停在任意选中字段上,点击「移除」(X图标),即可排除这些字段。

       

 

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

Orders_Central 输入步骤

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

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

    • 某些字段的数据类型与其他文件中相同字段的数据类型不同。

    • “Region”(区域)没有字段。

 

Orders_East 输入步骤

选择“Orders_East”输入步骤。

字段与其他文件一致,但「Sales」(销售额)字段包含货币代码,Tableau Prep将其解读为字符串,需后续修复数据类型并移除货币代码。

排查完数据问题后,下一步将深入清理数据,为合并操作做准备。

 


 

3.清理数据

Tableau Prep中,数据检查与清理是反复优化的过程。确定需处理的数据集后,通过添加步骤应用清理、调整、合并等操作,不同操作对应不同类型的步骤(如清理步骤用于筛选、合并、拆分字段,聚合步骤用于分组聚合)。

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

清理 Orders_Central

 

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

  • 单击加号 

     图标并添加清理步骤。

     

     

 

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

 

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

其中「配置」窗格显示数据结构,将字段值汇总到数据桶,便于快速查看异常值和空值;「数据」网格显示行级详细数据。

 

2.使用计算字段清理数据

该数据集缺少Region字段,需通过计算字段添加,确保与其他数据集一致:

  1. 在工具栏点击「创建计算字段」。

  2. 将字段命名为“Region”,输入公式 "Central"(含引号),点击「保存」。

 

 

3. 合并日期字段

需将拆分的订单日期、发货日期字段,分别合并为单一字段(格式MM/DD/YYYY),操作如下(以订单日期为例):

  1. 点击工具栏「创建计算字段」,命名为“Order Date”。

  2. 输入公式:

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

 

点击「保存」。

 

4.移除原有拆分字段

在「配置」窗格搜索框输入“Order”,快速定位Order Year、Order Month、Order Day三个字段;按住Ctrl/Cmd键选中这三个字段,右键点击选择「移除字段」。

 


 

 

按上述步骤重复操作,合并Ship Year、Ship Month、Ship Day为“Ship Date”字段,并移除拆分的发货日期字段。公式:

 

  •  
MAKEDATE([Ship Year],[Ship Month],[Ship Day])

 

提示:「配置」窗格的数据桶会汇总日期字段,默认按年度分组;若需查看实际日期,点击配置卡“更多选项”,选择「详细信息」即可。

 

 

 

修复「Discounts」(折扣)字段

 

该字段存在两个问题:数据类型为字符串(应改为小数)、无折扣值显示为“None”(需改为0),修复步骤如下:

  1. 在「配置」窗格搜索框输入“disc”,定位Discounts字段。

  2. 双击字段值“None”,修改为“0”。

  3. 点击字段旁的“Abc”(字符串标识),从下拉菜单选择「数字(十进制)」,更改数据类型。

 

 

为便于追溯,双击「流程」窗格中的“Clean 1”,将其重命名为“Fix dates/field names”(修复日期/字段名称)。

提示:「更改」窗格会记录所有清理操作,可删除、编辑更改,或调整更改顺序,便于优化清理流程。

 

清理 Orders_East 文件

  1. 选中Orders_East输入步骤,添加清理步骤(操作类Orders_Central)

  2. 修复「Sales」(销售额)字段:该字段包含USD货币代码,且为字符串类型,需先移除字母,再更改数据类型:

    1. 选中Sales字段,点击“更多选项”,选择「清理」>「移除字母」,自动剔除货币代码。

       

    2. 点击字段旁的“Abc”,选择「数字(十进制)」,更改数据类型为小数。

  3. 命名清理步骤:将“Clean 1”重命名为“Change data type”(更改数据类型)。

 

清理 Orders_West 文件

  1. 选中Orders_West输入步骤,添加清理步骤(操作同前)。

  2. 修复「State」(州)字段:将州缩写改为全称,使用「对值进行分组」功能(旧版本为“分组和替换”):

    1. 选中State字段,点击“更多选项”,选择「对值进行分组」>「手动选择」。

       

    2. 在弹出的编辑器中,双击左侧的州缩写,输入对应全称(如下表),按Enter确认。

       

       

      重复操作完成所有缩写映射

       

       

缩写

州名称

AZ

Arizona

CA

California

CO

Colorado

ID

Idaho

MT

Montana

NM

New Mexico

NV

Nevada

OR

Oregon

UT

Utah

WA

Washington

WY

Wyoming

3.点击「完成」关闭编辑器,系统会将所有州缩写映射合并为一条更改记录,便于追溯。

4.命名清理步骤:将“Clean 1”重命名为“Rename states”(重命名州)。

提示:可手动添加数据样本中不存在的字段值并建立映射,后续刷新数据源时,新数据可直接匹配映射规则,无需重复修改;手动添加的值会带有红点标记,便于识别。

 

保存流程

清理完成后,点击「文件」>「保存」或「另存为」,将流程保存为.tfl格式(流程文件),命名为“My Superstore”(我的超市)即可。

提示:也可保存为.tflx格式(打包文件),将本地数据文件一并打包,便于共享;Web端会自动保存草稿,点击草稿标题即可命名。详情可查看「保存和共享工作」(链接在新窗口打开)。

 

 


 

4.合并数据

所有文件清理完成后,需将其合并为单一表,便于后续分析。因清理后各文件字段结构一致,可通过「并集」步骤合并所有行;之后再添加产品退货数据,通过「联接」步骤补充字段。

 

第一步:并集合并所有订单文件

  1. 在「流程」窗格,将“Rename states”(重命名州)清理步骤,拖到“Changed data type”(更改数据类型)步骤上,选择「并集」选项,系统会自动添加新的「Union」(合并)步骤。

  2. 将剩余步骤(Orders_Central的“Fix dates/field names”步骤、南部区域的输入步骤),依次拖到新的「Union」步骤上,选择「添加」,完成所有订单文件合并。

 

检查并集结果

选中「Union」步骤,可查看合并结果:

  • 系统会自动匹配字段名称和类型一致的字段,不同步骤的字段会以不同颜色标记,便于区分来源。

  • 新增「Table Names」(表名称)字段,记录每行数据的来源表;Tableau Prep Builder 还会新增「File Paths」(文件路径)字段,显示南部区域文件的路径。

  • 「摘要」窗格会显示不匹配字段,此时可发现“Product”与“Product Name”、“Discounts”与“Discount”字段名不同,但数据一致,需手动合并:

    • 勾选「仅显示不匹配字段」,快速定位不匹配字段。

    • 将“Product”拖到“Product Name”上,“Discounts”拖到“Discount”上,完成字段合并。

提示:若系统检测到潜在匹配字段,会以黄色标记,悬停后点击加号即可合并;详情可查看「修复不匹配的字段」。

将「Union」步骤重命名为“All orders”(所有订单)。

 

第二步:添加并清理产品退货数据

需将return_reasons_new文件添加到流程,清理后通过「联接」步骤与订单数据合并,具体操作如下:

1. 添加退货数据并筛选字段

  1. 在「连接」窗格点击「添加连接」,选择Microsoft Excel,导航至return_reasons_new.xlsx文件,点击「打开」添加到流程。

  2. 筛选有用字段:在该输入步骤的「输入」窗格,取消所有字段勾选,仅勾选「Order ID」(订单ID)、「Product ID」(产品ID)、「Return Reason」(退货原因)、「Notes」(注释)四个字段。

     

  3. 重命名输入步骤:双击输入步骤名称,改为“Returns (all)”(退货(全部))。

 

2. 清理退货数据

  1. 选中“Returns (all)”输入步骤,添加清理步骤。

  2. 清理「Notes」(注释)字段:

    1. 移除多余空格:选中Notes字段,点击“更多选项”,选择「清理」>「剪裁空格」。

    2. 拆分字段:选中Notes字段,点击“更多选项”,选择「拆分值」>「自动拆分」,将退货注释与审批者姓名拆分为两个字段。

    3. 重命名字段:将“Notes-Split 1”改为“Return Notes”(退货注释),“Notes-Split 2”改为“Approver”(审批者)。

    4. 移除原始字段:选中Notes字段,点击“更多选项”,选择「移除」。

  3. 统一「Approver」(审批者)字段值:部分审批者姓名存在多种输入形式,需分组统一:

    1. 选中Approver字段,点击“更多选项”,选择「对值进行分组」>「共同字符」。

    2. 系统会自动将姓名变体分组,检查确认后点击「完成」。

  4. 命名清理步骤:将“Clean 1”重命名为“Cleaned notes”(清理的注释)。

 

第三步:联接订单与退货数据

订单数据与退货数据共用「Order ID」和「Product ID」字段,可通过「联接」步骤合并,补充退货相关字段:

  1. 在「流程」窗格,将“Cleaned notes”步骤拖到“All orders”步骤上,选择「联接」选项,系统会自动打开联接配置界面。

     

 

 

 

  1. 调整联接条件:系统默认仅通过「Product ID」联接,需添加「Order ID」作为联接条件:

    1. 在左侧「联接子句建议」中,找到“Order ID = Order Id”,点击加号添加。

       

       

  2. 更改联接类型:默认为「内部联接」(仅显示双方匹配的数据),需改为「左联接」,确保保留所有订单数据,同时匹配对应退货数据:

    在「联接类型」图表中,点击左侧(All orders对应的一侧),即可切换为左联接。

     

提示:联接配置界面可查看联接结果汇总(匹配/未匹配行数)、编辑联接条件,也可直接在「联接结果」窗格执行清理操作;详情可查看「聚合、联接或合并数据」(链接在新窗口打开)。

将联接步骤重命名为“Orders+Returns”(订单+退货),并保存流程。

 

第四步:清理联接结果

联接后需移除重复字段、添加实用计算字段,优化数据结构:

  1. 选中“Orders+Returns”步骤,添加清理步骤。

  2. 移除重复/无用字段:选中「Table Names」「Order ID」「File Paths」(仅Tableau Prep Builder)、「Product ID-1」,点击“更多选项”选择「移除」。

     

  3. 重命名字段:将「Order ID-1」重命名为「Order ID」。

  4. 添加计算字段:

    • 点击工具栏「创建计算字段」,命名为“Days to Ship”。

    • 输入公式,点击保存:

 

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

 

 

    • 点击工具栏「创建计算字段」,命名为“Returned?”。

    • 输入公式,点击「保存」

 

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

 

    1. 字段1:“Returned?”(已退货?),标记订单是否退货:

    2. 字段2:“Days to Ship”(发货天数),计算订单发货耗时:

 

5.命名清理步骤:将“Clean 1”重命名为“Clean Orders +Returns”(清理订单+退货)。

提示:Tableau Prep Builder中,可右键点击任意步骤,选择「在Tableau Desktop中预览」,检查数据清理效果;详情可查看「在Tableau Desktop中查看流程输出」(链接在新窗口打开)。

 

 


 

5.运行流程并生成输出

数据清理与合并完成后,需添加输出步骤,生成可用于Tableau Desktop分析的文件(或发布数据源),具体操作如下:

添加输出步骤并配置

  1. 选中“Clean Orders+Returns”步骤,点击加号图标,选择「输出」(旧版本为“添加输出”),打开「输出」窗格。

  2. 配置输出参数,根据操作端选择对应设置:

    • 在「将输出保存到」下拉菜单中选择「已发布数据源」。

    • 选择目标项目,输入文件名(如“Orders_Returns_Superstore”)。

    • 在「将输出保存到」下拉菜单中选择「文件」(旧版本为“保存到文件”)。

    • 点击「浏览」,输入文件名(如“Orders_Returns_Superstore”),选择保存路径(默认在Tableau Prep Builder存储库的数据源文件夹),点击「接受」。

    • 选择输出类型:用于Tableau Desktop分析,建议选择「Tableau 数据提取 (.hyper)」;需共享给第三方,选择「逗号分隔值 (.csv)」。

    1. 配置写入选项:默认选择「创建表」,运行流程时会用新数据覆盖原有表;若需保留历史数据,可选择「追加表」(2020.2.1及以上版本支持)。

    提示:输出可选择生成本地文件(仅Tableau Prep Builder)、发布到服务器/云平台,或写入数据库;详情可查看「创建数据提取文件和已发布数据源」(链接在新窗口打开)。

     

    运行流程

    1. Tableau Prep Builder:点击「输出」窗格或「流程」窗格中的「运行流程」按钮(向右箭头图标),开始生成输出文件。

    2. Web端:点击「发布」发布草稿流程,仅已发布的流程可运行;发布后导航至「浏览」>「所有流程」,可查看流程运行状态。

    流程运行完成后,会弹出成功提示,显示运行耗时,点击「完成」即可。

     

     


     

    6.保持数据更新

    可通过以下方式保持数据最新:

    • 手动运行流程,或通过命令行刷新输出文件(详情可查看「通过命令行刷新流程输出文件」)。

    • 启用Tableau Prep Conductor(需Data Management),可在服务器/云平台按计划运行流程。

    • 2020.2.1及以上版本的Tableau Prep Builder和Web端,支持增量刷新,仅处理新增数据,提升效率(详情可查看「使用增量刷新来刷新流程数据」)。

       

     

    Logo

    腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

    更多推荐