前言:
现在兄弟们对“js table 筛选”大概比较重视,咱们都需要剖析一些“js table 筛选”的相关资讯。那么小编同时在网摘上汇集了一些有关“js table 筛选””的相关知识,希望各位老铁们能喜欢,各位老铁们一起来了解一下吧!原文标题:IntermediateTableau guide for data science and business intelligence professionals
作者:PAVLEEN KAUR
翻译:李海明
校对:顾佳妮
本文约5000字,建议阅读8分钟。
通过这篇文章,教大家使用Tabelau软件,不用编程就可以做简单的数据分析。
介绍
“图片最大的价值就在于它能驱使我们发现之前从未意识到的内容。”——John W. Tukey
我们假设你手里有一些数据,但你并不擅长编程,却希望能够从中收集并整理出一些自己的见解。这时你可能会手足无措,不知该从哪里开始。
让我来告诉你——借助Tableau,你可以让数据中的信息像下面这张图表一样一目了然,而且操作简单完全不用编程。 快来见识一下Tableau的神奇吧!
本文主要针对:对Tableau软件已经比较熟悉的、可以用其绘制一些基本图表并且希望能够通过学习开阔视野的人士。
对于那些从未领略Tableau的曼妙与简约的初学者,请先快速阅读Tableau入门(),尝试进行一些简单的可视化练习后,再回到本文不迟。
这篇文章将会探讨一些能够帮助我们用Tableau绘制动态图的核心功能。现在,就让我们赶快开始吧!
目录
1. 多源数据处理
数据连接
数据融合
2. 数据的条件组合
集合
3. 数据计算与粒度选择
4. 参数控制
5. 结束语
多源数据处理
数据连接
在一个表里存储所有的数据是不现实的。为了避免更新带来的数据异常,一般总是把数据存储在多个关系表里。为了便于理解,这里举一个简单的例子。
现有一家想要扩大经营的超市,发现退货订单量每天都在增加。为了分析出产品被退回的原因并找到正确的应对方法,他们绘制了下面这张图表;
从上表中可以发现,被退回数量最多的产品是粘合剂。若以条形图的颜色判断,机器类与桌类产品退货率(退货/购买)最高。
上面这张图表看起来与前一张似乎没什么两样,但实际上它是由两个表的数据——订单表与退货表组合建立的。这就是通常所说的连接。
我们再举一个例子来便于理解连接:
点击这里下载该样本超市的销售数据。()
打开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() 数据;
与咖啡连锁店样本() 数据库;
你也可以在这里找到相关数据:( 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的文章。
按照惯例我会给你一个仪表盘让你来做:
刚开始总会有一点点难度,但如果你足够努力,就一定能搞定的。当然,如果有其他疑问或是你希望我的下篇文章能够提及某一方面的内容,请留言。
祝福你们,数据开发者!
原文链接:
标签: #js table 筛选