原文标题:IntermediateTableau guide for data science and business intelligence professionalsgit
做者:PAVLEEN KAURgithub
翻译:李海明数据库
校对:顾佳妮编程
本文约5000字,建议阅读8分钟。
经过这篇文章,教你们使用Tabelau软件,不用编程就能够作简单的数据分析。api
介绍架构
“图片最大的价值就在于它能驱使咱们发现以前从未意识到的内容。”——John W. Tukeyide
咱们假设你手里有一些数据,但你并不擅长编程,却但愿可以从中收集并整理出一些本身的看法。这时你可能会手足无措,不知该从哪里开始。模块化
让我来告诉你——借助Tableau,你可让数据中的信息像下面这张图表同样一目了然,并且操做简单彻底不用编程。 快来见识一下Tableau的神奇吧!学习
本文主要针对:对Tableau软件已经比较熟悉的、能够用其绘制一些基本图表而且但愿可以经过学习开阔视野的人士。ui
对于那些从未领略Tableau的曼妙与简约的初学者,请先快速阅读Tableau入门(https://www.analyticsvidhya.com/blog/2017/07/data-visualisation-made-easy/),尝试进行一些简单的可视化练习后,再回到本文不迟。
这篇文章将会探讨一些可以帮助咱们用Tableau绘制动态图的核心功能。如今,就让咱们赶快开始吧!
目录
1. 多源数据处理
数据链接
数据融合
2. 数据的条件组合
集合
3. 数据计算与粒度选择
4. 参数控制
5. 结束语
多源数据处理
数据链接
在一个表里存储全部的数据是不现实的。为了不更新带来的数据异常,通常老是把数据存储在多个关系表里。为了便于理解,这里举一个简单的例子。
现有一家想要扩大经营的超市,发现退货订单量天天都在增长。为了分析出产品被退回的缘由并找到正确的应对方法,他们绘制了下面这张图表;
从上表中能够发现,被退回数量最多的产品是粘合剂。若以条形图的颜色判断,机器类与桌类产品退货率(退货/购买)最高。
上面这张图表看起来与前一张彷佛没什么两样,但实际上它是由两个表的数据——订单表与退货表组合创建的。这就是一般所说的链接。
咱们再举一个例子来便于理解链接:
点击这里下载该样本超市的销售数据。(https://github.com/pavleenkaur/TableauTutorial-SuperstoreData/blob/master/Sample-Superstore.xls)
打开Tableau并倒入数据:
该数据集合由三个表组成:订单表(Orders),订购人表(People)与退货表(Returns)。在这里咱们先关注订单表和退货表。
拖拽Orders至空白处并使用数据解释器来清除错误数据。
拖拽Returns至同一区域,便获得下图所示:
把两个表进行链接后,至少能够获得一个交叉区域, Tableau会根据两张表的公共列订单ID,自动将这两张表进行内链接。经过内链接, 只保留两张表中有相同订单ID的数据行。
你也能够更改Tableau中的链接方式与链接字段, 须要确保对链接作的修改是可行的。
更改链接方式(从内链接到右外链接):
更改链接字段:(链接字段)
看到我怎样将Orders 的Row ID与Returns里的Orders ID链接起来了么?但因为这两个数据不兼容,因此看不到任何记录,并且靠近圆圈的那个红色标记提醒咱们出错了。
如今咱们再回到图表中:
把订单表(Orders)中的子分类(sub-Category)拖拽到Rows上,退货表(Returns)的退货总数拖拽到Columns上。)
把ROW ID拖拽到Marks窗口处,并将其统计方法从计数(Count)转换为求和(Sum)。如今拖拽至该图表上:
最后点击“显示结果“(Show me)并选择子弹图(BulletGraph),即可获得想要的图表了。
这里咱们使用了内链接, 你还能够根据须要选择内、左、右和外链接中的任何一种方式。
数据融合
数据融合与数据链接很是类似,但又有所不一样。链接的数据 要求来自同一数据源,经过上面例子咱们能够看到,咱们使用的数据均来自于 相同的Excel格式的文件。可是数据融合可让咱们使用来自不一样数据源的数据。一样,咱们来看一个例子。
该超市还涉足咖啡饮品行业,其品牌CoffeeChain在各州与超市同时经营。然而在看到下面这张业绩图后,管理层开始考虑要关掉一些咖啡分店。
咱们能够看到,有些咖啡分店有着与超市一样出色的业绩,好比加州
咱们能够看到,有些咖啡分店有着与超市一样出色的业绩,好比加州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文件,将数据集一并导入:
选中Superstore数据库下的States表,将其拖拽至行Rows,将销售表Sales拖拽至列Columns。
选中CoffeeChain下的销售表Sales,将其拖拽至列Columns上,可获得下图:
这里你确定观察到了一些小问题,咱们来逐一来解决:
屏幕的左上角,超市数据库上有一个蓝色标记——代表该库为主数据源
CoffeeChain数据上有一个橙色标记——代表该库为次要数据源
这里有一个橙色链条连接在CoffeeChain数据库中的州表——即数据融合区域——意思是该区域在这两个数据集上是通用的
图表中’>29null’表示这个表中中有29个空值, 这是由于CoffeeChain数据集中州的数据量不如Superstore数据集中州的数据量多。
咱们互换第三步与第四步,这样即可以修正这些空值:
选中超市CoffeeChain中的州表States,将其拖拽至行Rows,将销售表Sales拖拽至列Columns。可得:
选中Superstore下的销售表Sales,将其拖拽至列Columns上,可得:
将标记部分至区域图表中的每个图形对应的图表都进行更改;在Marks板块的Area区域中,能够对每一个图标作相应的修改
右键点击第二个图表而且选择双轴Dual Axis将两个图形合二为一;
最后就是变动配色方案了,就这样,咱们便完成了一次数据融合!
数据的调节结合
如今,不管你的数据是融合的仍是链接的,都已经准备稳当,让咱们一块儿作些有趣的仪表盘吧。这里咱们将只使用Superstore数据:Orders+Returns(左链接)
聚合
如今咱们以调查分析为例来快速设计一下。在一个食品消费调查中,食物偏好部分里,你能够用“LF”来替代“低脂肪”,或用“reg”替代“正常”。
这个案例里,在图像化过程当中会出现这样一个问题:
如你所见,由于使用了不一样的命名,
如你所见,由于使用了不一样的命名,因此这个可视化的效果不太理想。所以,有一种可行的解决方案就是将LF与Low Fat合为同一组,reg与Regular合为另外一组:
下面这个仪表盘会更有助于咱们理解:
以上是关于分类及其子分类的退货分析。然而咱们在柱状图中看不到具体数据,其中复印机的退货率最高,家具次之:
目前为止,看起来销售团队一直作得不错。然而实际上退货数量的增长也很快, 不过幸运的是,退货量的增速有所放缓。
经过饼图咱们能够很是直观的看出每一个分类的退货状况。好比,技术类产品目录下的退货量最多。
其余分析我会留给你本身去作,好比退货量在各州的分布状况。一旦你学会了制做上面这样的图表,你就能够轻松地去实现数据分析了。如今咱们开始学习:
咱们会从下面这个图开始,请注意该图是Orders与Returns表的左链接(左链接):
在另外一个表里面,作下面这个图:
看到退货Returns表下的已退回维度了么?咱们会用维度来建分组,右键单击这个维度:
去“Create->Group”。咱们会建立不一样的产品组来区分已退回的和还没有退回的产品,点击“Null->Group”,更改一下名字:
相同的操做建立“Yes”维度,最后分组以下:
单击“Apply->ok”,以后你能够在维度下看到一个名为“ReturnedOrNot”的组。
拖拽这个新的维度至Marks窗格中的Color处,以下图所示:
这一步会自动分离每个子目录(子分类)中的销售状况,而这要根据订单中的退货表是否有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组进行一样的操做。首先咱们建立该表的两个副本,选中其中一个:
拖拽该组至图表处,以下图:
右键单击Returned获得:
选择Keep Only,这样你就只能看到已退回图形了。你会看到退货的总损失。剩下的就是用销售值标注了。
如今选中另外一个副本,重复前两步,与以前保留已退回图表不一样,这里咱们保留未退回的图表。这会让你看到剩余/保留的订单Remaining / Retained Orders.
而后作一个曲线图:
拖拽 Order Date至列,Sales至行,便获得这样一个曲线图
在曲线图的顶部,拖拽ReturnedOrNot维度,可是就像以前同样,排除未退回行,右键单击并选择排除Exclude。
如今须要作的,就是将上面的工做表整合至一个仪表盘中。为何不试试作一个州际退货分布图呢?
集合
在作完退货分析后,你的公司发现退货量的增加并无那么使人担忧,不该该把它做为不扩大经营的理由。
可是超市目前只计划在销售额和利润都超过定额的州扩大经营。好比销售额过40,000,利润过10,000:
因此,上图所示的集合,与组很是类似。在集合中,数据分组能够知足特定的设置条件。另外一种解释认为:分组能够帮助你实现更高级别的层级架构,如咱们在前一例中所见,而集合能帮助你得到更低的粒度。
让咱们经过建立上面的仪表盘以便更好的理解集合的含义:
咱们从一个简单的地图图表开始。咱们打算在这张地图图表加入销售额与利润,右键单击States并选择Create-> Set.
在字段中填入设定信息:
再次右键单击州表,这一次输入设定的利润额
如今咱们将要链接这两组集合以获得想要的配置。右键单击SalesAbove40k组->建立合并集 Create Combined Set
按下图配置填写:
这一步将销售和利润的两个条件链接(条件关联),获得必要的组合计算。结果以下:
拖拽这一新集合至地图图表的顶部,将其从一张符号地图转换为一张填充地图。
你能够随意定制上面的图表,好比变动颜色,加标签等等。
曲线图的制做和咱们作过的退货趋势图同样简单。就像以前排除掉未退回组同样,这里咱们已经将那些属于非扩大经营组的州排除在外了。
计算字段
超市的数据集合至关全面。它提供了很是多的信息与字段集。但就像全部数据同样,咱们总有机会从中提取更多的特征。计算字段在帮你获得这些特征的同时,还可让你对数据进行简单和复杂的计算。
什么是计算字段?
简单来讲,它是一个公式,能够用于计算数据,不一样的方法就像不一样变量。
怎么建立计算字段?
进入分析Analysis,点击建立计算字段Create Calculated Field,弹出框图以下图所示:
在这里你就能够写本身的公式了。如你所见,Tableau提供了多种语法,不会让你失望的。你可使用“If-Else”条件,‘Case’条件(下面咱们会看到)固然还有一些经常使用的数学公式,咱们如今就来一探究竟。
从哪里开始呢?咱们仍是从简单的开始,好比与订单有关的平均销售额。最适合的公式就是总销售/总订单数。若是将这一公式转换为Tableau术语,总销售额为SUM of Sales,订单总数为COUNT。
接下来咱们看一下应用程序:
在计算框中,作如下变动:
为了获得累计销售收入SalesRevenue(计算字段),拖拽维度中的MeasureNames(衡量指标)至空白处,获得上面的计算结果:
在这里,你用计算字段去完成的事情就是去建立一个本身的方法去衡量指标。你能够像用销售和利润那样来用这个方法。
显然,这只是关于计算字段的一个大概状况。它们还能够用于更多更复杂的计算,咱们在下一章能够见到更加复杂的应用。
参数控制
在Tableau中,下图的筛选器是一个与可视化交互的好方法:
筛选器做为一种方法,可让你从不一样的角度去看待数据,而参数也是一种很好的方法。它能够用来替代筛选器,也能够展示它本身的动态属性。
那么什么是参数呢?参数做为方程的变量,咱们能够更改它,使方程每次都获得不一样的结果。
让咱们用一个例子来尝试理解参数的概念。目前为止咱们为一些不相关的数值制做了一些不相关的图表。不管何时咱们必须经过作不一样的图表来分析不一样产品的销售,利润,数量或折扣状况,这其中除去数值不一样,其余内容都基本类似 。
借助参数控制咱们能够用很是简单的方法来实现上面的工做,从而免去了重复劳动。
以销售为例:
接下来是利润:
仅仅须要轻轻点一下MeasureValue列表,你就能够获得不一样维度的累计结果。在这里MeasureValue就是咱们的参数,咱们能够变动其数值。
如今咱们本身来作一个参数控制。参数其实很是依赖计算字段,因此这会是检验以前所学内容的好机会:
此次咱们要从空白屏幕开始。
在靠近维度的地方点击向下的箭头,并选择建立参数Create Parameter :
如今咱们将要互换销售,利润,数量和折扣之间的值。填写下面的字段并点击OK
右键单击新建立的参数,并选择Show Parameter Control:
别去期望什么只要下拉菜单 能够神奇地让程序本身建立图表的魔术了, 这里咱们须要完成一些计算。
目前咱们只对这些参数进行了命名,但并无实际的数值。为此,咱们要建立一个计算字段。
去分析->建立计算字段 Analysis -> Create Calculated Field,将建立的字段用下面这些自我解释性的详细内容都填好
在数值当中能够找到最新建立的字段,因此首先拖拽 Order Date至列,数值名称NameOfMeasure至行。
如今能够尝试去更改数值了!
咱们已经在仪表盘上建立图表了。要查看各分类的曲线,只须要将该维度拖拽至图表顶部便可:
建立其余图表也是如此。可是要拖拽NameOfMeasure参数来替代拖拽不一样的数值名称NameOfMeasure至行和列中。
结束语
这篇文章到这里就结束了。不过没必要担忧,后续我还会发表其余关于Tableau的文章。
按照惯例我会给你一个仪表盘让你来作:
刚开始总会有一点点难度,但若是你足够努力,就必定能搞定的。固然,若是有其余疑问或是你但愿个人下篇文章可以说起某一方面的内容,请留言。
祝福大家,数据开发者!
原文连接:https://www.analyticsvidhya.com/blog/2018/01/tableau-for-intermediate-data-science/
译者简介
李海明 中国科学院大学在读研究生,铁人三项业余运动员,热爱音乐、艺术、生活。喜欢结交各路神仙~一块儿坐驰神游,一块儿南辕北辙
翻译组招募信息
工做内容:须要一颗细致的心,将选取好的外文文章翻译成流畅的中文。若是你是数据科学/统计学/计算机类的留学生,或在海外从事相关工做,或对本身外语水平有信心的朋友欢迎加入翻译小组。
你能获得:按期的翻译培训提升志愿者的翻译水平,提升对于数据科学前沿的认知,海外的朋友能够和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。
其余福利:来自于名企的数据科学工做者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。
点击文末“阅读原文”加入数据派团队~
转载须知
如需转载,请在开篇显著位置注明做者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待受权公众号名称及ID】至联系邮箱,申请白名单受权并按要求编辑。
发布后请将连接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,咱们将依法追究其法律责任。
点击“阅读原文”拥抱组织