从2019年开始,我每月都会组织Tableau的培训课程,以此督促自己加速学习的进程,也让更多人获得成长的进步。近期按照培训的需要,重写部分Tableau学习教程,从入门到高级,循序渐进。本文仅作为框架供后来者参考入门,更多内容参考相关的博客文章。

 

一,了解产品和环境指南

作为敏捷BI的代表,Tableau提供快速、简单的可视化分析,并通过Server为企业搭建自助化分析平台。Tableau也在不断的扩展自己的产品线,从数据清理到数据管控,不断增强企业部署和可视化分析的能力。

1、了解产品组合

目前Tableau的产品线从前端的数据准备、数据可视化分析到后端的数据自助分析平台,形成了完整的敏捷BI产品线。我们按照以下的产品流向,理解各个Tableau产品的功能。

Picture1.png

  • Tableau Prep帮助您快速、自信的转换和组织数据以供分析,借助Tableau Prep直观、简洁且协调的界面,一目了然地查看所有数据;以可视化的方式合并、组织并快速清理来自多个数据源的数据。Prep的数据流让数据清理从科学家的工作,变成了所有人都轻松可以操作的工具。
  • Tableau Desktop通过拖拽式分析实现数据的可视化,无需复杂的代码,轻松制作折线图、条形图、散点图等数据可视化;交互式仪表板和高级分析工具帮你发现隐藏在数据背后的见解。
  • Tableau Server可以帮助企业实现受管控的大规模自助化分析平台,整合所有的企业数据和数据资产,实现有效数据管控和数据驱动业务成长的双重任务。
  • Tableau支持丰富的访问端口,全面支持浏览器端、手机端、平板等各种设备;新版本重新设计了 iOS 和 Android 版 Tableau Mobile,提供强大的搜索功能、经过改进的“收藏夹”体验,以及交互式脱机预览,只需动动手指即可享用。另外,Tableau支持多种API接口访问。

2、为什么要用可视化?

Screen Shot 2019-02-27 at 7.48.23 AM

在数据大爆炸的时代,可视化成为越来越重要的数据语言,这符合“人对视觉更加敏感”的本性,或者我们可以用卡尼曼《思考,快与慢》的观点来解释:人天生都是快思考的动物,可视化帮助我们提高了分析的效率。几百年前就已经有了很多精彩的可视化图表,如今计算机让一切变得容易,Tableau让业务部门的大数据可视化变得容易。v2-3ed28e26599ac7898d86a91f5089b814_r.jpg

在可视化的各种元素中,位置优先,其次是颜色、形状和图形,这些可视化的方式有助于我们发现数据中的异常值和趋势。

二、了解Tableau核心概念

Tableau简单的背后有自己的框架体系,这里涉及到几个重要的概念:字段类型与特征、数据类型、详细级别、聚合方式和操作顺序。尤其是后面三个概念,要在不断的练习和犯错的过程中增加理解和认识。

1、字段类型

所有的字段都会默认分为维度和度量。简单的说,维度代表分类,度量代表数量(数字类型)。从分析的角度,我们可以把维度分为更细的两类:分类字段和次序字段,后者其实是带有顺序的次序字段。这个分类的主要目的是为了理解字段属性:连续和离散——这是数据库中非常重要的概念,不同的属性代表不同的相关关系,因此会出现不同的可视化形式。Screen Shot 2019-02-27 at 8.02.13 AM.png

  • 每个字段都具有连续或者离散的属性,比如“门店名称”是离散的维度字段,相互之间没有先后关系;而“顾客评价”(比如优秀、满意、良好、不满意)则是具有连续属性的维度字段,因为字段的属性有明显的高下、先后关系。最明显的次序字段是各种日期。
  • 相比之下,度量基本都是连续的数字,比如字段“销售数量”、“消费金额”。
  • Tableau用两个颜色来代表字段的这个属性:绿色代表连续,蓝色代表离散,这种可视化的方式简单明了。
  • 根据分析的需要,我们可以转化字段的维度、度量类型和字段的连续、离散属性,这样就会引起可视化图形的相应变化。一般而言,维度用来做坐标轴,度量表现内容;连续用来生成折线图等查看波动趋势,而离散生成条形图等查看对比关系。

2、数据类型

Tableau支持丰富的数据类型,主要有:数字(整数)、数字(小数)、字符串、日期、日期和时间、布尔值,以及地理位置。不同的数据类型对应不同的聚合方式,比如字符串主要对应计数,而数字则会首先对应求和聚合。准确的数据类型,是后期可视化和聚合处理的基础。我们可以看一下官方的类型及标记。

图标数据类型
文本(字符串)值
日期值
日期和时间值
数字值
布尔值(仅限关系数据源)
地理值(用于地图)
群集组(与在数据中查找群集结合使用)

3、详细级别和数据聚合

大数据软件,会对数据默认执行聚合,因此我们需要提前了解什么是聚合、不同字段对应的聚合类型,以及各种聚合的应用场景。而理解聚合的应用场景,需要我们了解数据背后的详细级别(level of detail),这是词语我们会在后面的高级操作,特别是LOD表达式过程中经常提到。

  • 行级别与聚合级别

使用Excel工作时,我们面对的往往是具体的一行一行的数据,诸如 A2/A1的计算,也是行级别的计算;但是当数据量成千上百万,我们更关心的是主题的聚合,比如说每家分行每天的存款金额,而不在乎每一单笔的存款详情,这就需要在分行详细级别做聚合计算,比如sum([deposit]),或者计算平均单笔金额 sum([deposit])/countd([order ID])。面对大数据的海量数据,我们必须清晰自己在哪个数据层面做分析,是什么详细级别的聚合问题,只有对业务的类型有清晰的理解,才能作出恰当的可视化效果。我的思考方式是假想一座冰山,把各种字段放在冰山之中,然后在不同的层次,代表不同的问题。

Screen Shot 2019-02-27 at 8.45.28 AM

  • 维度的聚合方式
    • 维度的数据类型以字符串、日期、地理位置为主;
    • 可以采用“最小值”“最大值”“计数”“计数(不重复)”的形式聚合视图中的维度。当聚合维度时,将创建一个新的临时度量列,使维度实际具有度量的特征。
  • 度量的聚合方式
    • 向视图中添加度量时,Tableau 会自动对它的值进行聚合。常见的聚合包括总和、平均值和中值,还有计数、方差、标准差等多个聚合方式。
    • 在Tableau中更改聚合方式非常简单,只需要右键重新选择“度量”聚合方式即可自动完成。

4、操作顺序

Tableau中有很多的操作,比如维度筛选器、顶部筛选器,在一个视图中,Tableau需要明确它们的执行前后顺序,这是学习Tableau的必备知识。我们经常遇到可视化的结果和预期结果不同的情况,大部分是没有了解和掌握这个操作顺序。数据分析的数据操作是不断叠加的,就像是PS中的图层,比如数据提取筛选器最先执行,就相当于PS的底层,数据视图层面的上下文筛选器相当于第二层,它在底层的基础上进一步筛选。其他类似,一步步递进。我在官方指南(英文)基础上做了一个导图,按照优先顺序排序,此图应该牢记在心。

三、新建数据源和数据准备

在数据源界面,完成必要的数据整理,对于后期提高效率,非常重要。没有数据整理,就没有数据的高效分析。《哈佛商业评论》曾经发表一篇文章说,数据分析师在用80%的时间做整理,只用20%的时间在做分析。不过随着像Prep这样的敏捷ETL工具的兴起,这个问题正在慢慢地好转。屏幕快照 2018-08-24 下午3.03.43去年我写Tableau 的系列博客时,prep还没推出,当时确实被各种数据整理的工作弄的特别沮丧。现在回头,很多的文章都要重新改写,因为Tableau  Prep为我们提供了更方便快捷的道路!大爱Prep!自从有了prep,Tableau可以自豪地说,我们可以让数据分析师用20%的时间去做整理,而不是80%!多么振奋人心的消息。对于简单的数据清理而言,Tableau Desktop就能很好的胜任,主要涉及到以下功能:

1、数据文件或数据库连接

Tableau 支持丰富的本地文件连接和各种在线数据源连接,可以满足各个行业的复杂数据库需求。对于大家常用的本地文件,Tableau 还推出了智能的“数据解释器”,轻松方便地解决文件中标题错误、合并单元格等问题。 可以参考 【Tableau】从Excel杀手到Tableau入门:数据解释器引路

2、数据连接、数据并集

  • 默认连接本地或在线文件后,Tableau可以把当前数据源中的多个表建立数据连接,并自动添加关连字段。
  • 对于多个相同结构的文件,Tableau可以轻松创建并集,不管是静态并集还是动态通配符并集,都轻松简单。详细可以见博客:「Tableau」使用通配符,跨工作表建立数据连接

3、 跨数据源连接

  • 经常我们要把多个数据源的不同sheet连接起来,这个需要连接多个数据源;
  • 和后面高级课程中的“数据混合”不同,这里的数据连接会横向扩展整个数据表,适用于数据详细级别一致的情况下;而“数据混合”适用于临时关系和数据详细级别不同的情况。
  • 使用数据混合的情况:
    • 数据需要清理(即重命名列、更改列数据类型、创建组、使用计算等)
    • 联接导致重复数据(联接后数据重复是位于不同详细级别的数据的症状)
    • 只需要少量数据。(联接由数据库进行处理,会消耗大量的数据库性能,如果要合并的数据较少,使用数据混合会提高性能。)

1-2

4、提取数据(数据筛选的优先级)

  • 数据提取不是必备的,但是当数据很多时,建议使用数据提取,加快操作;
  • 数据提前时可以添加筛选器,比如不提取单据状态为“未完成”的单据,就会在以后所有的数据中都避免了未完成的单据。数据提取阶段的筛选器,在全局中优先级最高。

5、数据准备(修改字段格式,隐藏不必要字段等)

在连接数据文件后,可以在数据连接层面做很多的数据清理工作,比如重命名、隐藏、拆分、修改字段格式等等。很多初学者会现用现改,我后来觉得应该早处理。

四、数据可视化

数据连接后的主要操作是生成可视化,在这里我们需要根据可视化的需要对字段进行二次处理,比如 组、分层结构、集、参数,以及各种添加辅助的计算字段。

1、必要的数据准备

创建组、集、参数、分层结构等,可以帮助我们增强数据分析的交互性。这几个功能都可以在维度功能区右键完成,不过要特别注意组和集的区别。

  • 创建组会生成一个新的维度字段,它把部分数据合并为一个数据结果显示,这是一个静态的结果,背后可以假设为case when函数;我们往往用组来纠正错误数据,比如把“中行”和“中国银行”统一为“中国银行”显示;组不能用于计算字段。
  • 集分为静态集和动态集,集独立于维度字段,结果是一个布尔值判断(在集内还是集外);动态集可以和参数结合,增强视图的互动性;我们常用集来做top显示,比如“每月业绩最好的前10家分行”;集可以参与计算字段。
  • 分层结构可以帮助大家在可视化层面实现数据的上钻和下钻,增强数据的互动性,特别适合于地理位置的分层和商品的多级分层,比如国家/省份/城市,大类/中类/子类/商品名称。

 

2、Tableau可视化图形

Tableau内置了很多的可视化图形,常见的图形有条形图、数形图、地图、折线图、直方图等等。除了直方图需要手动添加一个数据桶(bin),其他的类型都可以通过选择和拖拽一步完成。Screen Shot 2019-02-25 at 9.06.15 AM

Tableau目前有几种常见的快速生成可视化图形的方法:

  • 智能推荐方法

最简单的可视化生成方式就是选择多个字段后,点击“智能显示”的推荐图形,系统推荐的最优图形会用红色边框突出显示。快速生成可视化 方法.jpg

  • 完全拖拽生成可视化

更多的情形下,我们会根据分析的步骤,一步步地拖拽字段到功能区,结合标记中地颜色、大小和形状来完成更加复杂地可视化结果。

  • 自然语言(Server)

在最新推出地2019.1版本的Server中,Tableau推出了自然语言查询功能,仅需要提出问题,server就可以自动给出可视化图形。不过这个功能对中文的支持,暂时应该不会太理想。

3、如何选择可视化图形

如何选择常见的可视化图形,麦肯锡的这本书给了我最好的指引。选择图形的过程,其实就是分析问题的过程,我们要分析加入我在哪个详细级别做聚合,我加入可视化的维度和度量字段的相互关系是什么。下面图片中列举了五种代表性的关系:成分、项目、时间序列、频率分布和相关性。成分代表总分结构,低于三个可以用饼图,超过五个建议用树形图;项目代表的是对比关系,首选条形图,可以明显地体现排序;带有连续时间的维度或度量,用柱形图代表对比,用折线图反映趋势;维度的分布用直方图和折线图,它们反映的是聚合的分布,而两个度量的相关关系,则用散点图——散点图是一个特殊的分布,是高颗粒度的直观分布。Screen Shot 2019-02-11 at 10.24.24 AM

五、【高阶】熟悉Tableau的计算

计算是大数据分析的核心之一,计算构成了可视化的逻辑。随着业务分析的深入,我们需要使用多种计算方式完成复杂的分析任务,这就要求我们不仅仅明白多种计算的语法和技巧,更重要的是了解如何作出最好的选择。表计算在这篇博客中(【tableau】TC-如何选择Tableau计算类型?),我们介绍了如何选择计算,这是需要在实践中掌握的技术。1、基本计算——最常见而丰富的计算2、表计算——反应最快、优先选择的计算3、LOD详细级别表达式——解决复杂问题的必备工具迄今可能是最好的非官方LOD中文解读,大概就在这里了,全系列六篇文章。

 

六、合理使仪表板与故事

1、工作簿和仪表板告诉大家是什么

2、故事告诉大家为什么

 

七、如何使用Tableau Prep

你的仪表板访问性能很慢怎么办?每次打开文件加载数据五分钟怎么办?分析时数据文件中有大量的数据冗余怎么办?——Prep帮你解决很多的性能问题。我们会有单独的系列文章介绍这个主题。

【Tableau】Prep新升级,表哥表姐的超级福音

 

长篇大段,写到这里,希望帮助更多 的人理解和使用Tableau,我也会随着自己的培训逐步完善相关的材料。

Feb 25, 2019  update
Michael Wu