前言
数据无处不在,但对于大多数人来说,基于以下这些原因,导致数据基本上无法使用:
• 有些数据被储存在数据库里,并隐藏在编程语言的背后,而大多数人都没学过这类语言。
• 有些数据暗藏在个人计算机上,远离了那些可能发现它有用的人。
• 有些数据存储时所用的格式,只有创建它的系统开发者才能读懂。
那么,你为什么要关心这些呢?坦率地说,这些数据里蕴含着答案,能解答你所提出的问题,甚至包括你尚未提出的问题。自助式数据准备是一种技能,它将让我们重新认识所分析的那些数据,减少完成数据分析项目所需的时间,并从根本上提高数据分析质量。
本书旨在掌握如何使用市场上最直观的工具之一——Tableau Prep Builder 来访问这些数据,并将其转化为有价值的信息,以回答上述问题。Tableau Prep Builder于2018 年4 月发布,用于支持Tableau Desktop、Tableau Server 和Tableau Online的用户,它使你能够将凌乱的数据变成可以在Tableau 软件中进行分析的格式。
Tableau Desktop、Tableau Server 和Tableau Online 是让数据变得易于探究和可视化分析的软件平台。
在此之前,从源系统到提供有洞察力的数据分析的过程中,Tableau 的主要难点在于需要将数据处理成易于使用的格式。Tableau 和大多数BI(Business Intelligence,商业智能)工具一样,要求数据是“干净的”,并被编排成行和列。许多分析人员习惯于自己承担这项手工工作,因此需要将这项任务自动化,将宝贵的时间花在实际的数据分析过程中。
Tableau Prep Builder 允许用户轻松地清理、处理和输出所准备好的待分析的数据集。不仅如此,Tableau 还在软件中嵌入了许多可视化的分析方法,因此用户往往可以在Prep Builder 中找到问题的答案,而根本不需要导出数据。
我为什么要写这本书
如果Tableau Prep 中的一切都如此直观,为什么需要通过这本书来学习如何使用它呢?简单地说,使用该工具只是完成数据准备任务的一部分。其他部分还包括:
• 了解为什么要准备数据。
• 连接到你需要的所有数据。
• 了解不同的数据类型对所要执行的数据清理操作的影响。
• 分解数据准备任务的过程以适应整体规划。
• 确保在数据清理和处理过程中可进行适当的调整。
• 合并多个数据集。
• 决定如何以及在哪里输出数据结果。
与所有的软件一样,学习如何使用每个功能都需要一定时间,因此本书充满了较复杂的技术性截图和操作过程。这里分享的很多知识将帮助你在任何数据准备工具中完成自己的数据准备项目。这些技术将使你有能力处理以前无法接触到的数据集。这就是我写这本书的原因:让你有能力利用现有数据或者更多的数据来改善你的决策。
在我的职业生涯中,我一直同时处于数据准备周期的两端:作为数据接收者和输出数据的提供者。作为数据接收者,我常常对获得所需信息要花费那么多时间而感到沮丧。我收到的信息往往不是我所需要的形式,或者缺少关键的数据,而这些数据是在我最初提出数据要求后才需要的。作为数据提供者,我总是要先去仔细地了解问题,做到能理解某人想要数据的根本原因,这样我就可以提供最好的解决方案,而不仅仅是他们表面上所要求的东西。我还意识到,我在每个数据请求上花费的时间越长,其他等待获得自己对不同数据集看法的人的队伍就越长。这就是为什么我开始教用户如何自己获取数据的原因。显然,不可能每个人都花时间去掌握SQL 查询技能(如果你不知道这是什么也没关系),以便访问他们甚至还不明白为什么需要的数据表。Tableau Prep Builder 让你只需要经过几个小时的训练就可以完成自己的数据准备工作,而不是需要几天或几周的时间去学习SQL。
本书的目标读者
本书的目标读者,是从事数据相关工作的各个领域的人群,比如:
• 刚接触数据行业和刚入职场的新人。数据是现在大多数工作的重要组成部分,所以如果你刚从学校或大学毕业,学习本书所要涉及的技能,能让你为未来做好准备。
• 刚接触数据行业,同时是经验丰富的专业人士。用从本书中获得的知识来补充你的经验,可以创造出一些惊人的效果。如果没有这些经验,数据对你来说可能毫无意义,因为缺乏背景知识。本书将为你提供完善数据处理的技巧,以扩充专业经验。
• 有可视化分析的经验,但没有数据准备经验的人。Tableau Desktop 让很多人有能力进行自己的可视化分析,而不是等待IT 部门和报表团队为他们建立报表。Tableau Prep Builder 在数据准备方面的作用也正在于此。本书将提升你的可视化分析技能,从而能够访问以前似乎不可能的数据集。
• 经验丰富的数据准备从业者。好吧,这不是你的正式工作头衔,但在我眼里你就是这样的人。你可能会使用Excel、SQL 或其他脚本语言。得益于自动化特性和简化操作,相比当前的方法和工具,Tableau Prep Builder 将使你能够更快捷地工作。
• 有经验的数据准备从业者的同事。熟悉Tableau Prep Builder 将使你能够承担有经验的数据准备从业者手头相对简单、可重复的任务,这样他们就可以集中精力应对更难的挑战。他们将成为你的职场导师,告诉你如何发展,这样你就可以在帮助他们的同时提高自己。
本书是如何组织的
本书共有七个部分。它们的编排是为了逐步培养你所需要的技能和知识,并且在你需要回顾内容时, 它以便捷的方式提供了参考知识点。第1 章深入地探讨了为什么自助式数据准备很重要,在此之后,各章的安排如下:
第一部分(第2 ~ 6 章)
在介绍了Prep Builder 之后,这部分探讨了如何规划你的数据准备工作,以及针对处理数据集的处理目标。这部分的最后两章探讨了如何连接到数据文件和数据库。
第二部分(第7 ~ 10 章)
了解你正在使用和准备的是什么数据,这是关键所在。这些章节将帮助你知道在准备数据时要注意什么,并介绍一些你可以用来处理数据字段的函数。
第三部分(第11 ~ 18 章)
一旦对你的数据字段有所了解,这部分将帮助你分析数据集的形态和概况。你还将掌握Prep Builder 中的转换步骤。
第四部分(第19 ~ 21 章)
经过前面这些努力之后,是时候输出数据进行分析了。这部分介绍了如何将你的数据从准备流程输出到文件或数据库中。该部分还介绍了Tableau Prep 的另一个产品——Prep Conductor,它可以让你的工作流程自动化,以及与他人分享你的流程。
第五部分(第22 ~ 34 章)
到了这一步,意味着你已经掌握了如何制作简单流程的基本知识。然而,数据准备工作往往包含其他挑战。为了帮助你解决这些问题,该部分将向你介绍更多Prep Builder 中内置的数据清理功能。
第六部分(第35 ~ 41 章)
知道全部相关的技巧是一回事,但知道什么时候使用这些技巧则是另一回事。因此,该部分介绍了如何在实际场景中使用你所学到的技术,以及当你面对更困难的场景时的注意事项。
第七部分(第42 ~ 49 章)
这部分的中心内容,是通过管理、记录输出,以及关注结果,将你的数据和流程提供给他人。
这些章节会给你提供相关知识和基础内容,为你自己的数据分析做好准备。但就像生活中的任何事情一样,实践会磨炼你的技能。为此,一些章节的特色是来自Preppin’ Data 的数据集、示例和挑战,以便让你练习本章所涉及的技术。Jonathan Allenby(乔纳森• 艾伦比)和我将Preppin’ Data 设计为每周一次的挑战,让具有不同程度经验的人练习他们的数据准备技能。这些练习属于可选内容,但通过练习这些技术,你更有可能在下次需要时明白如何应用它。每个练习都解释了它的意图和要求,就像你认识的人提出的数据准备需求一样。输入和输出数据集允许你尝试满足练习中设定的挑战。解决办法可以在博客上找到,但如果你已经提交了所要求的输出,那么就不存在正确或错误的解决办法。最后,Preppin’ Data 经常引用一家名为Chin & Beard Suds Co. 的公司,这是一家模拟的肥皂零售商,Jonathan 和我在练习中使用它作为例子。这使得我们可以使用那些令人生畏的与肥皂有关的俏皮话,对此我们毫不讳言。Preppin’ Data 网站的点击率已经超过80000 次,参与者超过260 人,提交的挑战方案超过2000 个。我们希望你能加入这个数据准备者的社区。
致谢
如果没有那些异常出众的人,我称他们为同行、同事和朋友,这本书是不可能完成的。首先要说的是,在我生活中无法将其带入现代数据时代的一个Excel 用户,同我搭档15 年的Toni Feather。她的很多实用主义经验都体现在这本书中,通过写下这些内容,我可能最终能让她使用不同的数据准备工具。
非常感谢伦敦The Information Lab 和The Data School 的朋友和同事们。如果没有这些出色的头脑和充满激情的人,这本书就不会出现。四年的团队咨询经验造就了很多用户案例,你将在接下来的几页中读到。Tom Brown(汤姆• 布朗)、Craig Bloodworth(克雷格• 布拉德沃思)和Robin Kennedy(罗宾• 肯尼迪),感谢你们创造了一个真正令人惊叹的学习和发展环境。The Data School 的顾问们也值得特别称赞,这些年来,在有幸教他们的过程中,让我能够完善所要表达的“信息”。
他们通过每天提出的问题,极大地塑造了本书的内容。这本书开始于与Dan Farmer(丹• 法默,优秀的内容编辑之一)分享的一个想法,在他的帮助下形成了本书早期的框架,然后我将其具体化。谢谢你帮我塑造了这件事,Dan。
当The Data School 的一位实习顾问Jonathan Allenby(乔纳森• 艾伦比)问到,是否有什么方法可以将我刚刚在Tableau Prep 上的教学内容付诸实践时,我开始更加关注数据准备技术。这促使我们创建了Preppin’ Data 专题博客,而博客的成功和对数据准备领域的教学需求程度也促成了这本书的诞生。
那些贡献了实际内容的人应该得到极度的赞美,因为他们帮助我把普通的教学内容转变成了这种印刷形式。O’Reilly 公司的Angela Rufino(安吉拉• 鲁菲诺)是一位出色的内容编辑,她确保了本书的所有内容都有价值,即使对新的数据准备从业者来说也是如此。技术内容编辑Jonathan Drummey(乔纳森• 朱梅)、Ryan Sleeper(瑞恩• 斯里普)、Kimberly Bolch(肯柏林• 伯齐)和Luke Stoughton(卢克• 司托顿)都为本书增加了很多内容。他们的反馈不仅仅是其作为内容编辑的职责,还确保了本书能给每个阅读者带来价值。
最后,感谢你阅读本书。通过在你个人和工作生活中加入更多数据驱动的决策,你将为自己和身边的人改善这个世界。我有幸与很多部门合作,他们所从事的工作每天都在激励着我。通过更好地利用信息和洞察力,我们可以让这个世界变得更加美好──你现在就是努力帮助他人的人中的一分子。
排版约定
本书使用了下述排版约定。
斜体(Italic)
表示新术语、URL、示例电子邮件地址、文件名、扩展名、路径名和目录。
等宽字体(Constant width)
表示命令、选项、开关、变量、属性、键、函数、类型、类、命名空间、方法、模块、属性、参数、值、对象、事件、事件句柄、XML 标签、HTML 标签、宏、文件的内容,或者命令的输出。
粗体等宽字体(Constant width bold)
表示应该由用户逐字输入的命令或其他文本。
斜体等宽字体(Constant width italic)
表示应该替换成用户提供的值。
使用代码示例
补充材料(代码示例、练习等)可在以此网站下载:https://oreil.ly/5k_uH。
如果你在使用代码示例时遇到技术问题或难题,请发送电子邮件至 bookquestions@oreilly.com。
本书的目的是帮助你完成工作。一般来说,如果本书提供了示例代码,你可以在你的程序和文档中使用它。除非你要复制相当篇幅的代码,否则不需要联系我们获得许可。例如,编写一个用到本书中几块代码的程序不需要许可。销售或分发O’Reilly书中的例子确实需要许可。通过引用本书和引用示例代码来回答问题不需要许可。
将本书中的大量示例代码纳入你的产品文档则需要许可。
我们一般不要求注明出处,但如果你这么做,我们深表感谢。注明归属的内容通常包括标题、作者、出版商和ISBN。例如,“Tableau Prep: Up & Running by CarlAllchin (O’Reilly). Copyright 2020 Carl Allchin,978-1-492-07962-0”。
如果你觉得你对代码示例的使用超出了合理使用或上述许可的范围,请随时联系我们:permissions@oreilly.com。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly 和200 多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
联系我们
请把对本书的评价和问题发给出版社。
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们为这本书设置了一个网页,在其上列出了勘误表、示例和相关的其他信息。你可以通过地址http://oreilly.com/catalog/9781492079613 访问该网页。
请发送电子邮件至 bookquestions@oreilly.com,对本书发表评论或提出技术问题。
有关我们的书籍、课程的新闻和信息,请访问http://www.oreilly.com。
我们的Facebook:http://facebook.com/oreilly。
我们的Twitter:http://twitter.com/oreillymedia。
我们的YouTube 视频:http://www.youtube.com/oreillymedia。