精读《Tableau 入门》

3,423 阅读13分钟

1. 引言

引用著名瑞典统计学家 Hans Rosling 的一句话:想法来源于数字、信息,再到理解。

分析数据的最好方式是可视化,因为可视化承载的信息密度更高,甚至可以从不同维护对数据进行交互式分析。今天要精读的文章就分析了经典可视化分析工具 Tableau:data-visualisation-made-easy

2. 精读

Tableau 是一款广泛用于智能商业的强大数据分析工具,通过不同可交互的图表和仪表盘帮助你获得业务洞见。

安装

Tableau 提供了三种使用方式:

Tableau Desktop

拥有 14 天免费试用的桌面版,可以将工作数据存储在计算机本地,如果你是学生或老师可以获得一年的免费使用权。

Tableau Public

公开版完全免费,和桌面版的唯一区别是,所有数据都无法保存在本地,只能保存在 Tableau 服务器的云端,而且是公开的。

Tableau Online

网页版也完全免费,是 Tableau Public 的网页版。

连接数据源

安装好 Tableau 后,第一步就是连接数据源。它支持连接本地或云端的数据源,本地最常用的数据源可以从 Excel 转换。这里是一份 样例数据,包含了一个超市几年内的销售情况,我们可以用这份数据练手。

下载好这份数据后,选择从 Excel 导入,确认后将 Orders 表拖拽到右侧区域,如下图所示:

可以看到,导入的数据格式有些问题,这是因为这份 Excel 文件表头有一些描述信息干扰。勾选 Use Data Interpreter 后,可以开启数据解析功能,自动分析出你想要的表结构:

可以看到表结构已经正常了,在数据清洗的过程中,Tableau 强大的数据分析功能已经初见端倪。你甚至可以点击 Review ths results 看看它是如何清洗数据的:点击后会下载一份分析 Excel,其中过滤掉的数据会被标记,自动分析出的表结构会被高亮。

数据可视化

在页面最底部有几个切换项,依次是 Data Source:数据源、Sheet:工作簿,后面跟随的三个按钮可以继续创建多个 Sheet、Dashboard、Story,这些后面都会讲到。首先点击 Sheet 进入可视化分析的工作簿:

可以看到,Orders 表的字段已经被自动分析成 维度 度量 了。维度和度量是数据分析中重要的概念:

  • 维度: 维度是不能被计数的字段,一般为字符串或离散的值,用来描述数据的维度。
  • 度量: 度量是可以被计数的字段,一般为数字、日期等连续的值,用来描述数据的量。

右侧空白区域是图表展示区域,可以响应拖拽交互,顶部的 Columns、Rows 表示列与行,Filters 是过滤器,拖拽字段上去可以对此字段进行过滤,Marks 是标记,Tableau 将图表所有辅助标记功能都抽象为:颜色、大小、文本、具体值、工具提示。举个例子,如果将销量 Sales 字段拖拽到大小区域,那么任何能描述大小的图表,都会以销量的多少来决定大小,比如散点图。

右上角的 Show Me 是图表自动推荐区域,当你拖拽不同字段的时候,Tableau 会自动展示合适的图表,但你也可以点击 Show Me 进行图表切换。

那么开始动手吧!首先我们要看看大盘数据如何,也就是这家超市的总利润、质量、销量:

在左侧维度栏目下,最后一个字段 Measure Names 表示所有度量的集合。

  1. Measure Names 拖拽到画布的空白区域。
  2. 移除我们不关心的 Row ID, Discount 等字段。

可以看到,总利润大概是总销量的 10%。如果想展示横向表格,将 Measure Names 从 Rows 拖拽到 Columns 即可。

Tips: 为了方便区分,Tableau 贴心的将维度标记为蓝色,度量标记为绿色。 同时可以看到,Tableau 对于单指标拖拽,默认采取表格方式渲染。

接下来我们要看每一年的详细销量与利润:

  1. 将 Order Date 与 Sales 拖拽到 Rows。
  2. 右键 Sales,将类型从连续改成非连续,这样就会自动变成表格展示。
  3. 为了展示利润,将 Profit 字段拖拽到 Marks 的 Text 字段上。

我们可以看到,无论是销量还是利润都在逐年上升。接下来我们想具体看看每个月份的数据

  1. 右键 Order Date,将日期维度从年切换到月。

我们可以看到,销量较高的月份分布在:3、9、11、12 月。注意由于没有对年份做筛选,这里的每月统计数据是整合了 2013~2016 四年份的。也就是 1 月的数据其实代表了 2013.1 + 2014.1 + 2015.1 + 2016.1 共四个 1 月份数据的总和。

接下来我们想了解销量与利润增长的趋势:

  1. 将 Order Date 拖拽到 Columns。
  2. 将 Sales 拖拽到 Rows,此时会出现一条线。接下来将 Profit 拖拽到 左 Y 轴

这里就涉及到线图拖拽交互设计了,线图一共有三种拖拽方式。如果将一个新字段拖拽到左 Y 轴,就会在左 Y 轴多出一条线;如果拖拽到中间图表区域,则这个字段会当作已有字段的工具提示;如果拖拽到右 Y 轴,则会自动变成双轴图。

从上图中能看到,销量增长明显,但利润增长缓慢,看来经营是存在一定问题的,还要继续分析问题在哪。

我们再看看数据按月分布情况,同样右击 Order Date,选择 月 粒度:

上图可以明显看到三个峰值出现在 3、9、11 月份,然而这段期间利润增长幅度却不大,可以看出这段期间采取了薄利多销的手段。

再从地区维度分析数据:

  1. 将 Regions 和 Sales 拖拽到 Columns。
  2. 切换到饼图。
  3. 将 Sales 拖拽到 Marks Pane 的 Label 上。

可以看到东西部地区是销量最高的区域。接下来我们想看具体城市的销量:

  1. 将 States 拖拽到画布空白区域,此时会自动出现地图并定位到美国。将 Profits 拖拽到 Color。
  2. 将地区切换到 Filled Map,将 Profits 拖拽到 Label。

这样就绘制了一张地区,颜色越深利润越高,数字表示销量。

可以看到数值越大的区域一般颜色也越深,但这不是分析利润/销量性价比的最佳方式,我们先只看到加州和纽约是销售业绩最好的区域,而科罗拉多州虽然销量不错,但利润却是负的。

上面的地图对地形比较直观,但要分析销售健康度,还是用散点图更合适。我们想看看城市销量/利润的健康度分布:

  1. Profit 拖拽到 Columns,Sales 拖拽到 Rows,此时散点图出现,但只有一个点(之所以出现散点图,是因为横纵轴拖拽的都是度量)。
  2. 我们想按城市下钻,只要把 State 拖拽到 Detail 即可。

可以看到,遥遥领先的城市有三个,加州是销售之王。

由于还没有介绍到筛选条件,这里简略介绍一下,其实还可以将年份拖拽到筛选条件,只看 2013 年的分布图,也可以点击或圈选其中某些点选择排除某些城市。

现在需要进一步分析明细数据,将不同商品种类按年份细分,看按月的销量,并看看这些月份的利润如何:

  1. 此时需要用到高亮表格。首先将 Category 和 Order Date 拖拽到 Rows,简单的表格出现了。
  2. 将 Order Date 再拖拽到 Columns,并右键将其粒度改为月。
  3. 在 Show Me 中切换为 Highlight Table,重新将 Order Date(Year)拖拽回 Rows。
  4. 为了展示颜色与文字,将 Profit 拖拽到 Color,Sales 拖拽到 Label。

可以看到,办公套件和科技产品业绩最好,其中办公套件在 2015 年 12 月销量利润双丰收,科技产品在 2015 年 10 月与 2016 年 3 月销量利润双丰收。整体来看前半年是淡季。

但这张图无法看到销量与利润性价比关系,我们要找出利润率最高的商品和利润率最低的商品:

  1. 将 Proft 拖拽到 Columns。
  2. 将 Sub-Category 拖拽到 Rows。
  3. 切换到 Horizontal Bars。
  4. 将销量 Sales 拖拽到 Color。

可以明显看到 Copiers 就是性价比之王,拥有最高的利润,但销量却不是很高(颜色深度中等),而桌子是性价比最低的,利润为负,而且销量不低。

其他功能

除了上面基本可视化分析能力之外,Tableau 还有许多辅助功能。

筛选器

在按月分布的折线图中,如果我们只想看某一年的,可以将 Order Date 拖拽到 Filters 区域,只勾选想要保留的年份:

Tablueau 这种交互等价于 Sql 中 in 语句,当然 Tablueau 还支持更复杂的条件或代码表达式,这里只是将更友好的筛选方式优先展示区来。

上卷下钻

Tableau 支持任意维度之间的上卷下钻,只要你将他们分好组。

比如将 Order Date、Order ID、Ship Date、Ship Mode 拖拽到一起,成为 Orders 组;将 Category、Sub-Category、Product ID Product Name 形成 Product 组:

我们就可以将 Product 直接拖拽到画布区域,并选择矩形树图,通过点击指标上的 “+” “-” 号进行上卷或下钻:

上卷下钻是顺序相关的,比如 Product - Order Date 表示在产品类目基础上,对每个类目按日期下钻。而 Order Date - Product 这个顺序,表示在日期分布的基础上,对日期按产品类目下钻,了解不同日期下每个产品的分布情况。

趋势线

为使用趋势线,先制作一个双轴图:

  1. 将 Sales 与 Profit 拖拽到 Rows。
  2. 将 Order Date 拖拽到 Columns 并切换到月维度。
  3. 选择 Show Me 的 Dual Combination 即混合图。

点击 Analytics Tab,将 Trend Line 拖入 chart 中:

趋势图有几种算法,比如线性,Log 或指数,因此在做趋势分析前,首先要判断自己的业务属于哪种增长阶段,如果是爆发期可以选择指数,平稳期可以选择线性等等。

预测

回到按月分布的图表,如果我们想预测未来销量和利润的走势,可以使用预测功能:

  1. 切换到 Analytics Tab,并将 Forecast 拖拽到图表中。
  2. 可以点击右键配置预测参数。

预测趋势有一个浅色区域,表示预测范围。

聚类

象限图的四象限是多维度综合判断的法则,然而 Tableau 支持的聚类分析可以自动做到这些:

  1. 切换到 Analytics Tab,选择 Clusters。
  2. 可以选择自动聚类个数,也可以手动指定个数。

从上图可以看到,指定了 4 个分类,最右上角加州就是最突出的一组,整个聚类只有它一个元素,而画面偏左下角的也是一类,这些是业绩较差的一组数据。使用了 K 均值聚类算法,并且当你点击右键查看详细星系时,还能把组间、组内方差展示出来:

仪表板

仪表板可以将多个 Sheets 内容聚合在一起并自由布局,但仪表板最精髓的功能是图表联动功能:

  1. 点击任意图表,选择 “作为筛选条件”。

Tableau 的所有图表都支持点选,排除等操作,那么点选这类操作本质上其实是个筛选的过程,比如柱状图点击了某根柱子,可以认为是选择了这根柱子当前的维度值作为筛选条件。

当一个 Sheet 作为筛选条件后,类似点选这种操作产生的筛选就会作用于其他同数据集的图表,因此如上图所示,当点击了条形图的某一根柱子时,上面的销量地图也自动做了筛选,仅展示当前选中的产品的销量分布。

故事

Story 更像是 PPT,将分析后有价值或有意义的图表组合在一起,再配合上说明,得出一些结论:

如上图所示,比如得到这家超市的大盘数据,这一般也是数据分析的最后一步,最后生成报表。

3. 总结

Tableau 的交互式分析思路印证了这句话:

数字、信息,再到理解最终才能产生 Idea。我们从拿到 Excel 导入数据集开始,数据就已经变成了维度和度量的信息,再经过主动思考,将同一份数据进行不同维度的展示,最终得出加州销量最好、家具销售业绩最差、而桌子是负利润的主要来源等等洞见。

通过原文对 Tablueau 功能的分析能看到,Tableau 的核心资产是具备交互式分析能力的图表,这些图表通过智能推荐的方式展示出来,可以在不知道如何分析数据时找到一些灵感,真正做到以数据角度思考,图表展示只是辅助的视觉效果。

目前国内还处于报表制作的时代,即先选择报表再配数据集,这种使用思路是展示数据优先,而不是分析数据优先,笔者认为原因在于国内大部分做报表的业务场景都处于最末端,也就是数据洞见已经有了,再使用 BI 将这个洞见还原出来。而 BI 工具真正想做的还是在前面 “分析洞见” 这一步,希望数据分析师能可以通过 BI 平台挖掘出商业洞见。

要走到这一步,需要国内 BI 平台与使用 BI 的人都发展到下一阶段,而这种探索式数据分析功能早在 2012 年就在国外由 Tableau 团队实现,相信未来三年内国内一定能迎来一波探索式数据分析浪潮!

讨论地址是:精读《Tableau 入门》 · Issue #192 · dt-fe/weekly

如果你想参与讨论,请 点击这里,每周都有新的主题,周末或周一发布。前端精读 - 帮你筛选靠谱的内容。

关注 前端精读微信公众号

版权声明:自由转载-非商用-非衍生-保持署名(创意共享 3.0 许可证