详细指南!手把手教你上手Tableau软件!

640?wx_fmt=png&wxfrom=5&wx_lazy=1

原文标题:IntermediateTableau guide for data science and business intelligence professionalsgit

做者:PAVLEEN KAURgithub

翻译:李海明数据库

校对:顾佳妮编程

本文约5000字,建议阅读8分钟
经过这篇文章,教你们使用Tabelau软件,不用编程就能够作简单的数据分析。api


介绍架构


“图片最大的价值就在于它能驱使咱们发现以前从未意识到的内容”——John W. Tukeyide

 

咱们假设你手里有一些数据,但你并不擅长编程,却但愿可以从中收集并整理出一些本身的看法。这时你可能会手足无措,不知该从哪里开始。模块化


让我来告诉你——借助Tableau,你可让数据中的信息像下面这张图表同样一目了然,并且操做简单彻底不用编程。 快来见识一下Tableau的神奇吧!学习


640?wx_fmt=png&wxfrom=5&wx_lazy=1


本文主要针对:对Tableau软件已经比较熟悉的、能够用其绘制一些基本图表而且但愿可以经过学习开阔视野的人士。ui


对于那些从未领略Tableau的曼妙与简约的初学者,请先快速阅读Tableau入门(https://www.analyticsvidhya.com/blog/2017/07/data-visualisation-made-easy/),尝试进行一些简单的可视化练习后,再回到本文不迟。


这篇文章将会探讨一些可以帮助咱们用Tableau绘制动态图的核心功能。如今,就让咱们赶快开始吧!


目录


1. 多源数据处理


  • 数据链接


  • 数据融合


2. 数据的条件组合


  • 集合


3. 数据计算与粒度选择


4. 参数控制


5. 结束语


多源数据处理


数据链接


在一个表里存储全部的数据是不现实的。为了不更新带来的数据异常,通常老是把数据存储在多个关系表里。为了便于理解,这里举一个简单的例子。


现有一家想要扩大经营的超市,发现退货订单量天天都在增长。为了分析出产品被退回的缘由并找到正确的应对方法,他们绘制了下面这张图表;


640?wx_fmt=png

 

从上表中能够发现,被退回数量最多的产品是粘合剂。若以条形图的颜色判断,机器类与桌类产品退货率(退货/购买)最高。


640?wx_fmt=png


上面这张图表看起来与前一张彷佛没什么两样,但实际上它是由两个表的数据——订单表与退货表组合创建的。这就是一般所说的链接。

 

咱们再举一个例子来便于理解链接:

 

  • 点击这里下载该样本超市的销售数据。(https://github.com/pavleenkaur/TableauTutorial-SuperstoreData/blob/master/Sample-Superstore.xls)


打开Tableau并倒入数据:


  • 该数据集合由三个表组成:订单表(Orders),订购人表(People)与退货表(Returns)。在这里咱们先关注订单表和退货表。


  • 拖拽Orders至空白处并使用数据解释器来清除错误数据。


  • 拖拽Returns至同一区域,便获得下图所示:


640?wx_fmt=png


把两个表进行链接后,至少能够获得一个交叉区域, Tableau会根据两张表的公共列订单ID,自动将这两张表进行内链接。经过内链接, 只保留两张表中有相同订单ID的数据行。

 

你也能够更改Tableau中的链接方式与链接字段, 须要确保对链接作的修改是可行的。

 

更改链接方式(从内链接到右外链接):


640?wx_fmt=png


更改链接字段:(链接字段)


640?wx_fmt=png


看到我怎样将Orders      的Row ID与Returns里的Orders  ID链接起来了么?但因为这两个数据不兼容,因此看不到任何记录,并且靠近圆圈的那个红色标记提醒咱们出错了。

 

如今咱们再回到图表中:


  • 把订单表(Orders)中的子分类(sub-Category)拖拽到Rows上,退货表(Returns)的退货总数拖拽到Columns上。)


  • 把ROW ID拖拽到Marks窗口处,并将其统计方法从计数(Count)转换为求和(Sum)。如今拖拽至该图表上:


640?wx_fmt=png


  • 最后点击“显示结果“(Show me)并选择子弹图(BulletGraph),即可获得想要的图表了。

 

这里咱们使用了内链接, 你还能够根据须要选择内、左、右和外链接中的任何一种方式。

 

数据融合


数据融合与数据链接很是类似,但又有所不一样。链接的数据 要求来自同一数据源,经过上面例子咱们能够看到,咱们使用的数据均来自于 相同的Excel格式的文件。可是数据融合可让咱们使用来自不一样数据源的数据。一样,咱们来看一个例子。


该超市还涉足咖啡饮品行业,其品牌CoffeeChain在各州与超市同时经营。然而在看到下面这张业绩图后,管理层开始考虑要关掉一些咖啡分店。


640?wx_fmt=png


咱们能够看到,有些咖啡分店有着与超市一样出色的业绩,好比加州

咱们能够看到,有些咖啡分店有着与超市一样出色的业绩,好比加州California

和纽约New York 分店。同时,也有一些咖啡分店业绩惨淡,如爱荷华州Iowa

与新墨西哥州New Mexico 分店。与数据链接相似,上图中的两个不一样行业的数据集,源于不一样的数据源——一个来自Excel,一个来自TDE数据库。

 

下面咱们经过绘制一张图表来更好地理解数据融合的概念。咱们从超市和咖啡连锁店的数据开始。the Superstore(https://github.com/pavleenkaur/TableauTutorial-SuperstoreData/blob/master/Sample-Superstore.xls) 数据;


与咖啡连锁店样本(https://github.com/pavleenkaur/TableauTutorial-SuperstoreData/blob/master/Sample-CoffeeChain.tde) 数据库;


你也能够在这里找到相关数据:(https://github.com/pavleenkaur/TableauTutorial-On-AnalyticsVidhya/blob/master/Sample-Co eeChain.xlsx)。


首先导入超市数据样本Sample-Superstore.xls;


而后进入工做表,点击数据->新数据源(Data -> New Data Source )而且下载CoffeeChain的TDE文件,将数据集一并导入:


640?wx_fmt=png


选中Superstore数据库下的States表,将其拖拽至行Rows,将销售表Sales拖拽至列Columns。


选中CoffeeChain下的销售表Sales,将其拖拽至列Columns上,可获得下图:


640?wx_fmt=png


这里你确定观察到了一些小问题,咱们来逐一来解决:

 

  • 屏幕的左上角,超市数据库上有一个蓝色标记——代表该库为主数据源


  • CoffeeChain数据上有一个橙色标记——代表该库为次要数据源


  • 这里有一个橙色链条连接在CoffeeChain数据库中的州表——即数据融合区域——意思是该区域在这两个数据集上是通用的


  • 图表中’>29null’表示这个表中中有29个空值, 这是由于CoffeeChain数据集中州的数据量不如Superstore数据集中州的数据量多。


咱们互换第三步与第四步,这样即可以修正这些空值:


  • 选中超市CoffeeChain中的州表States,将其拖拽至行Rows,将销售表Sales拖拽至列Columns。可得:


  • 选中Superstore下的销售表Sales,将其拖拽至列Columns上,可得:


640?wx_fmt=png


  • 将标记部分至区域图表中的每个图形对应的图表都进行更改;在Marks板块的Area区域中,能够对每一个图标作相应的修改


640?wx_fmt=png


  • 右键点击第二个图表而且选择双轴Dual Axis将两个图形合二为一;


640?wx_fmt=png

 

  • 最后就是变动配色方案了,就这样,咱们便完成了一次数据融合!

 

数据的调节结合

 

如今,不管你的数据是融合的仍是链接的,都已经准备稳当,让咱们一块儿作些有趣的仪表盘吧。这里咱们将只使用Superstore数据:Orders+Returns(左链接)

 

聚合


如今咱们以调查分析为例来快速设计一下。在一个食品消费调查中,食物偏好部分里,你能够用“LF”来替代“低脂肪”,或用“reg”替代“正常”。

 

这个案例里,在图像化过程当中会出现这样一个问题:


640?wx_fmt=png


如你所见,由于使用了不一样的命名,


如你所见,由于使用了不一样的命名,因此这个可视化的效果不太理想。所以,有一种可行的解决方案就是将LF与Low Fat合为同一组,reg与Regular合为另外一组:

 

640?wx_fmt=png


下面这个仪表盘会更有助于咱们理解:


640?wx_fmt=png


以上是关于分类及其子分类的退货分析。然而咱们在柱状图中看不到具体数据,其中复印机的退货率最高,家具次之:


640?wx_fmt=png


目前为止,看起来销售团队一直作得不错。然而实际上退货数量的增长也很快, 不过幸运的是,退货量的增速有所放缓。

 

经过饼图咱们能够很是直观的看出每一个分类的退货状况。好比,技术类产品目录下的退货量最多。

 

其余分析我会留给你本身去作,好比退货量在各州的分布状况。一旦你学会了制做上面这样的图表,你就能够轻松地去实现数据分析了。如今咱们开始学习:


  • 咱们会从下面这个图开始,请注意该图是Orders与Returns表的左链接(左链接):

 

640?wx_fmt=png


  • 在另外一个表里面,作下面这个图:


640?wx_fmt=png


  • 看到退货Returns表下的已退回维度了么?咱们会用维度来建分组,右键单击这个维度:


640?wx_fmt=png


  • 去“Create->Group”。咱们会建立不一样的产品组来区分已退回的和还没有退回的产品,点击“Null->Group”,更改一下名字:


640?wx_fmt=png


  • 相同的操做建立“Yes”维度,最后分组以下:


640?wx_fmt=png


  • 单击“Apply->ok”,以后你能够在维度下看到一个名为“ReturnedOrNot”的组。


  • 拖拽这个新的维度至Marks窗格中的Color处,以下图所示:


640?wx_fmt=png


这一步会自动分离每个子目录(子分类)中的销售状况,而这要根据订单中的退货表是否有Null或Yes值来决定。


剩下的步骤就比较模块化了,咱们也来作一下:


  • 拖拽Sales至Marks窗格中的Label处;


  • 右键单击 Sales pill -> QuickTable Calculation -> Percent of Total


  • 再次右键单击Sales pill -> Compute Using -> Table(across)


另外,在一些版本中,Null/Yes也经常会以In/Out的别名出现,你能够根据需求来作变动,右键单击Marks窗格中的In/Out blue pill,而后选择编辑别名。


如今咱们跳回到已经作好的饼图,对ReturnedOrNot组进行一样的操做。首先咱们建立该表的两个副本,选中其中一个:


  • 拖拽该组至图表处,以下图:


640?wx_fmt=png


  • 右键单击Returned获得:


640?wx_fmt=png


  • 选择Keep Only,这样你就只能看到已退回图形了。你会看到退货的总损失。剩下的就是用销售值标注了。

  • 如今选中另外一个副本,重复前两步,与以前保留已退回图表不一样,这里咱们保留未退回的图表。这会让你看到剩余/保留的订单Remaining / Retained Orders.

 

而后作一个曲线图:

 

  • 拖拽 Order Date至列,Sales至行,便获得这样一个曲线图


  • 在曲线图的顶部,拖拽ReturnedOrNot维度,可是就像以前同样,排除未退回行,右键单击并选择排除Exclude。


640?wx_fmt=png


如今须要作的,就是将上面的工做表整合至一个仪表盘中。为何不试试作一个州际退货分布图呢?

 

集合


在作完退货分析后,你的公司发现退货量的增加并无那么使人担忧,不该该把它做为不扩大经营的理由。

 

可是超市目前只计划在销售额和利润都超过定额的州扩大经营。好比销售额过40,000,利润过10,000:


640?wx_fmt=png


因此,上图所示的集合,与组很是类似。在集合中,数据分组能够知足特定的设置条件。另外一种解释认为:分组能够帮助你实现更高级别的层级架构,如咱们在前一例中所见,而集合能帮助你得到更低的粒度。


让咱们经过建立上面的仪表盘以便更好的理解集合的含义:


  • 咱们从一个简单的地图图表开始。咱们打算在这张地图图表加入销售额与利润,右键单击States并选择Create-> Set.


640?wx_fmt=png


  • 在字段中填入设定信息:


640?wx_fmt=png


  • 再次右键单击州表,这一次输入设定的利润额


  • 如今咱们将要链接这两组集合以获得想要的配置。右键单击SalesAbove40k组->建立合并集 Create Combined Set


  • 按下图配置填写:


640?wx_fmt=png


这一步将销售和利润的两个条件链接(条件关联),获得必要的组合计算。结果以下:


640?wx_fmt=png


拖拽这一新集合至地图图表的顶部,将其从一张符号地图转换为一张填充地图。


640?wx_fmt=png


你能够随意定制上面的图表,好比变动颜色,加标签等等。

 

曲线图的制做和咱们作过的退货趋势图同样简单。就像以前排除掉未退回组同样,这里咱们已经将那些属于非扩大经营组的州排除在外了。

 

计算字段


超市的数据集合至关全面。它提供了很是多的信息与字段集。但就像全部数据同样,咱们总有机会从中提取更多的特征。计算字段在帮你获得这些特征的同时,还可让你对数据进行简单和复杂的计算。

 

什么是计算字段?


简单来讲,它是一个公式,能够用于计算数据,不一样的方法就像不一样变量。

 

怎么建立计算字段?


进入分析Analysis,点击建立计算字段Create Calculated Field,弹出框图以下图所示:

640?wx_fmt=png

在这里你就能够写本身的公式了。如你所见,Tableau提供了多种语法,不会让你失望的。你可使用“If-Else”条件,‘Case’条件(下面咱们会看到)固然还有一些经常使用的数学公式,咱们如今就来一探究竟。


从哪里开始呢?咱们仍是从简单的开始,好比与订单有关的平均销售额。最适合的公式就是总销售/总订单数。若是将这一公式转换为Tableau术语,总销售额为SUM of Sales,订单总数为COUNT。

 

接下来咱们看一下应用程序:


  • 在计算框中,作如下变动:


640?wx_fmt=png


  • 为了获得累计销售收入SalesRevenue(计算字段),拖拽维度中的MeasureNames(衡量指标)至空白处,获得上面的计算结果:

 

640?wx_fmt=png


  • 在这里,你用计算字段去完成的事情就是去建立一个本身的方法去衡量指标。你能够像用销售和利润那样来用这个方法。

 

显然,这只是关于计算字段的一个大概状况。它们还能够用于更多更复杂的计算,咱们在下一章能够见到更加复杂的应用。

 

参数控制


在Tableau中,下图的筛选器是一个与可视化交互的好方法:


640?wx_fmt=png


筛选器做为一种方法,可让你从不一样的角度去看待数据,而参数也是一种很好的方法。它能够用来替代筛选器,也能够展示它本身的动态属性。


那么什么是参数呢?参数做为方程的变量,咱们能够更改它,使方程每次都获得不一样的结果。


让咱们用一个例子来尝试理解参数的概念。目前为止咱们为一些不相关的数值制做了一些不相关的图表。不管何时咱们必须经过作不一样的图表来分析不一样产品的销售,利润,数量或折扣状况,这其中除去数值不一样,其余内容都基本类似 。


借助参数控制咱们能够用很是简单的方法来实现上面的工做,从而免去了重复劳动。

以销售为例:


640?wx_fmt=png


接下来是利润:


640?wx_fmt=png


仅仅须要轻轻点一下MeasureValue列表,你就能够获得不一样维度的累计结果。在这里MeasureValue就是咱们的参数,咱们能够变动其数值。

 

如今咱们本身来作一个参数控制。参数其实很是依赖计算字段,因此这会是检验以前所学内容的好机会:


  • 此次咱们要从空白屏幕开始。


  • 在靠近维度的地方点击向下的箭头,并选择建立参数Create Parameter :


640?wx_fmt=png


  • 如今咱们将要互换销售,利润,数量和折扣之间的值。填写下面的字段并点击OK


640?wx_fmt=png


  • 右键单击新建立的参数,并选择Show Parameter Control:


 

640?wx_fmt=png

 

别去期望什么只要下拉菜单 能够神奇地让程序本身建立图表的魔术了, 这里咱们须要完成一些计算。


目前咱们只对这些参数进行了命名,但并无实际的数值。为此,咱们要建立一个计算字段。


  • 去分析->建立计算字段 Analysis -> Create Calculated Field,将建立的字段用下面这些自我解释性的详细内容都填好


  • 在数值当中能够找到最新建立的字段,因此首先拖拽 Order Date至列,数值名称NameOfMeasure至行。


640?wx_fmt=png


如今能够尝试去更改数值了!


咱们已经在仪表盘上建立图表了。要查看各分类的曲线,只须要将该维度拖拽至图表顶部便可:


640?wx_fmt=png


建立其余图表也是如此。可是要拖拽NameOfMeasure参数来替代拖拽不一样的数值名称NameOfMeasure至行和列中。

 

结束语

 

这篇文章到这里就结束了。不过没必要担忧,后续我还会发表其余关于Tableau的文章。


按照惯例我会给你一个仪表盘让你来作:


640?wx_fmt=png


刚开始总会有一点点难度,但若是你足够努力,就必定能搞定的。固然,若是有其余疑问或是你但愿个人下篇文章可以说起某一方面的内容,请留言。

 

祝福大家,数据开发者!


原文连接:https://www.analyticsvidhya.com/blog/2018/01/tableau-for-intermediate-data-science/


译者简介

640?wx_fmt=jpeg

李海明  中国科学院大学在读研究生,铁人三项业余运动员,热爱音乐、艺术、生活。喜欢结交各路神仙~一块儿坐驰神游,一块儿南辕北辙

翻译组招募信息

工做内容:须要一颗细致的心,将选取好的外文文章翻译成流畅的中文。若是你是数据科学/统计学/计算机类的留学生,或在海外从事相关工做,或对本身外语水平有信心的朋友欢迎加入翻译小组。

你能获得:按期的翻译培训提升志愿者的翻译水平,提升对于数据科学前沿的认知,海外的朋友能够和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其余福利:来自于名企的数据科学工做者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。


点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明做者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待受权公众号名称及ID】至联系邮箱,申请白名单受权并按要求编辑。

发布后请将连接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,咱们将依法追究其法律责任。


640?wx_fmt=png

640?wx_fmt=jpeg

点击“阅读原文”拥抱组织