第17章 Tableau Prep数据清洗
Tableau Prep是独立的产品,可以与Tableau Desktop、Tableau Server和Tableau Online进行无缝衔接。随时随地在Tableau Prep中创建数据提取、将数据源发布到Tableau Server或Tableau Online。
Tableau Prep对数据源进行清洗的步骤,包括添加步骤、添加聚合、添加行列转置、添加关联、添加并集、添加输出共计六步。
17.1 Tableau Prep简介
我们可以在Tableau的官方网站(h/zh-cn/products/prep/download)下载最新的Tableau Prep免费试用版本,在安装之前,我们首先需要确保计算机满足条件:操作系统为Windows Server 、Windows Server 、Windows 7、Windows 8、Windows 8.1 或Windows 10。
虽然Tableau Prep是一款独立的产品,但是可以与Tableau Desktop、Tableau Server和Tableau Online进行无缝衔接。可以随时随地在Tableau Prep中创建数据提取、将数据源发布到Tableau Server或Tableau Online,还可以直接从Tableau Prep中打开Tableau Desktop进行数据预览。Tableau Prep可以创建Tableau数据提取(.tde和.hyper)以及CSV等文件,这些文件可以在Tableau 10.0和更高版本中使用,并且可以连接到众多的数据源。
17.1.1 新增的主要功能
Tableau Prep是一款功能强大的可视化数据分析软件,Tableau Prep .1.1相比与之前的版本,该版本的功能有较大的提升,大大提高了Tableau Prep的数据处理能力,新增功能主要如下:
(1)快速行列转置
当数据库表包含一组键值对时,将数据存储在常规表和过度规范化的表中是常见的做法。但是,这种过于常规的结构会使分析过程变得非常困难。有时候,数据可能有大量的数据列转换为行。现在,用户可以通过数据透视体验中的下拉菜单更改转置的方向。为了让数据组织工作变得更加轻松,可以选择适合自己的转置选项,在转置步骤中,选择以下选项:
从列到行:将一个或多个字段拖至“透视的字段”窗格以将列转置为行。从行到列:将一个字段拖至“透视的字段”窗格以使用字段创建新的列,然后拖入要使用的字段以填充这些列,并选择聚合它们的方式。
(2)通配符搜索字段
如果有一个包含大量字段的数据集,或者需要随时间的推移频繁地添加或移除字段,那么可以在将列转置为行时使用通配符搜索,根据通配符模式匹配立即转置数据。如果添加或移除匹配模式的新字段,那么在运行流以及自动更新数据透视表结果时,Tableau Prep 会检测到架构更改。
要使用通配符搜索来转置数据,首先请添加一个转置步骤,然后点击“单击此处创建通配符转置”链接来打开通配符搜索字段。输入通配符搜索模式,查找名称与您输入的值相匹配的字段。点击“搜索选项...”按钮,选择您是否要将这些字段(即包含您输入的模式、以该模式开头或结尾的字段)纳入转置范围。点击“Enter”应用模式,Tableau Prep 将自动转置字段。
(3)添加更改说明
向“更改”窗格中的任何更改添加说明,为清理操作添加上下文。只需打开“更改”窗格,右键单击或按住Ctrl单击列表中的更改,并选择“添加说明”。然后在显示的文本字段中键入说明。这些说明将显示在为更改生成的文本下方,并带有注释图标。
(4)快速拆分文件
如果要处理存储在固定宽度文本文件中的数据时,清理建议功能会检测到这些类型的列,并为你推荐拆分选项。只需连接到数据源,添加清理步骤,然后在“配置文件”窗格中点击配置文件卡上的“建议”图标,对“拆分值”建议点击“应用”以拆分字段,检查结果,并按需要对每个新字段进行清理和重命名。Tableau Prep在这一过程中,会尽可能做出最恰当的推测,但是可能仍需要调整生成的更改中的边界,或者更改生成的列的数据类型和名称。
17.1.2 安装与注册Prep
Tableau Prep的安装比较简单,我们这里不做介绍,安装Tableau Prep后,可以通过双击桌面上的图标打开软件。第一次使用时,会出现如图所示的欢迎页面,我们选择“开始14天免费试用”选项,如图17-1所示,然后进入注册页面,在每个框中输入相应的信息,如图17-2所示,最后点击“立即开始试用”按钮,进入激活试用版的过程。
图17-1 欢迎页面 图17-2 填写注册信息
Tableau Prep的开始页面由以下窗格组成:“打开流程”、“连接到数据”、“示例流程”和“探索”等,可以从中连接数据、访问最近使用的流程以及浏览Tableau Prep的学习资源,如图17-3所示。
图17-3 开始页面
此外,Tableau Prep的文件通常存储在“MyTableau Prep Repository”文件夹中,该文件夹一般位于“文档”文件夹中,如图17-4所示。
图17-4 我的存储库
17.1.3 Prep连接数据源
在进行数据清洗之前,我们首先需要连接数据源。通过点击左侧的“连接”按钮或者开始页面中的“连接到数据”按钮,可以看到目前Prep支持的数据文件及数据库,如图17-5所示。这里我们选择一种比较常用的存储方式,例如存储在MySQL数据库中,在“到服务器”选项下双击“MySQL”,在图17-6中输入服务器IP、用户名和密码等。
图17-5 连接数据源 图17-6 连接MySQL
今天我们使用“线下门店运营数据”进行展示,和Tableau Desktop类似,只需要使用简单的托拉拽选择需要用到的表,我们选择“销售数据表”,如图17-7所示。
图17-7 拖入数据源
17.2 Tableau Prep清洗数据源
连接数据源后,就是进行数据处理,左上方出现的“销售数据表”即为我们选择的表,点击右侧的加号,进行选择下一步操作。包括:添加步骤(Add step),添加聚合(Add aggregate,添加行列转置(Add pivot),添加关联(Add join),添加并集(Add union),添加输出(Add output),如图17-8所示。
图17-8 开始清洗数据
17.2.1 如何实现添加步骤
该步骤目的是进行数据清洗,可以根据自己的需求进行数据筛选,字段切割,字段重名,通过函数新建字段以及删除字段,如图17-9所示。
图17-9 添加步骤
17.2.2 如何实现添加聚合
该步骤可以将数据按照需求进行聚合。在数据中,我只需要看到在不同门店城市的销售数量情况,我只需要选择“门店城市”和“数量”,分别“门店城市”和“数量”拖入分组字段和聚合字段中,Tableau Prep会根据我们的需求进行聚合,如图17-10所示。
图17-10 添加聚合
17.2.3 如何实现添加转置
使用Tableau分析电子表格或者横向表格(交叉数据)的数据会遇到一些困难。Tableau更倾向于数据是一行一行的“高高的数据”(行数据),而不是一列一列的“很宽很长的数据”(列数据),这就需要我们把列数据转置为行数据。
注意如果转置较大的数据集或在一段时间内频繁更改的数据,我们可以使用通配符模式匹配来搜索与模式匹配的字段,并自动转置数据。在“线下门店运营数据”中,我们将“门店城市”拖入转置的字段框中,在右下方可以看到具体的效果,如图17-11所示。
图17-11 添加转置
17.2.4 如何实现添加关联
要分析的数据通常由与特定字段相关的表的集合组成,联接是一种在这些公共字段上合并相关数据的方法,使用联接合并数据后会产生一个通常通过添加数据字段横向扩展的表。关联包含了左连接、右连接、交叉连接等,与Tableau Desktop基本一致。在数据中,我们选择与“门店信息表”进行左连接,如图17-12所示。
图17-12 添加关联
17.2.5 如何实现添加并集
合并是一种通过将一个表的行附加于是另一个表来合并数据的方法。例如,我们可能需要将一个表中的新事务添加到另一个表中的过去的事务列表。确保合并的表具有相同的字段数、相同的字段名称,并且字段的数据类型相同,如图17-13所示。
图17-13 添加并集
17.2.5 如何实现添加输出
处理完毕的数据通过此步骤输出,可以在左侧窗格中,选择“保存到文件”。单击“浏览”按钮,然后在“将数据提取另存为”对话框中输入文件的名称,并单击“接受”,在“名称”和“位置”中输入相应的信息,如图17-14所示。
此外,在“输出类型”字段中,选择输出类型,根据使用的Tableau Desktop的版本,我们可以从以下选项中进行选择:
Tableau数据提取(.hyper):适用于Tableau Desktop版本10.5及更高版本。Tableau数据提取(.tde):适用于Tableau Desktop版本10.0至10.4。逗号分隔值(.csv):如果想要与第三方共享数据提取。
图17-14 添加输出
17.3 Tableau Prep发布服务器
Tableau Prep是一款简单易用的数据处理工具,它可以完成大部分ETL的工作,处理速度和承载能力也足够支持大部分企业级的工作。可以快速实现复杂的数据处理过程并发布到服务器,选择“作为数据源发布”单选按钮,如图17-15所示。
图17-15 发布服务器
下面将根据清洗过的数据发布到Tablea的服务器,Tableau Online或者Tableau Server均可,点击“登录”按钮,我们这里只发布到Tableau Online,如图17-16所示。
图17-16 发布到Tableau Online
单击“运行流程”以运行流程并发布数据源,在弹出的对话框中,会显示发布的过程以及使用的时间等信息,如图17-17所示。
图17-17 运行数据清洗流程
17.4 案例实战:门店经营数据清洗
假设你在一家大型零售连锁店从事数据分析的工作,你的老板想要分析过去四年公司的产品销售额和利润情况,在开始收集需要的所有数据时,发现已经有人通过其他方式为每个区域收集了数据,不同文件中有大量数据字段,而且一个区域甚至每年都有单独的文件。这将不得不使你需要先执行数据清理工作,然后才能开始在Tableau中进行分析。
案例具体后续的操作步骤请参考《精通Tableau商业数据分析与可视化》第17章的内容。