跳至正文

【平民数据科学家】从头开始用Tableau

从2019年开始,我每月都会组织Tableau的培训课程,以此督促自己加速学习的进程,也让更多人获得成长的进步。近期按照培训的需要,重写部分Tableau学习教程,从入门到高级,循序渐进。

一,了解产品和环境指南

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

1、Tableau产品组合

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

Picture1.png

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

2、为什么要用Tableau可视化?

Screen Shot 2019-03-04 at 12.45.30 PM.png

在数据大爆炸的时代,人对数据处理的能力越来越多的依赖于电脑,电脑理解数据,而人负责理解图形,可以说“可视化图形是透过数据理解世界的窗户”,从此可视化成为越来越重要的数据语言,特别是对于不具有专业数据分析能力的业务人员而言。

我们可以用卡尼曼《思考,快与慢》的观点来解释:人天生都是快思考的动物,可视化帮助我们提高了分析的效率。几百年前就已经有了很多精彩的可视化图表,如今计算机让一切变得容易,Tableau让业务部门的大数据可视化变得简单而具有吸引力。

Screen Shot 2019-04-22 at 11.32.10 AM.png

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

 

二、了解Tableau核心概念

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

1、字段类型

所有的字段都会默认分为维度和度量。简单的说,维度代表分类,度量代表数量。

从分析的角度,我们可以把维度分为更细的两类:分类字段和次序字段,后者其实是带有顺序的次序字段。这个分类的主要目的是为了理解字段属性:连续和离散——这是数据库中非常重要的概念,不同的属性代表不同的相关关系,对应不同的可视化形式。

Screen Shot 2019-04-24 at 7.08.33 AM

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

2、数据类型

Tableau支持丰富的数据类型,主要有:数字(整数)、数字(小数)、字符串、日期、日期和时间、布尔值,以及地理位置。

不同的数据类型对应不同的聚合方式,比如字符串主要对应计数,而数字则会首先对应求和聚合。准确的数据类型,是后期可视化和聚合处理的基础。我们可以看一下官方的类型及标记。

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

3、详细级别和数据聚合

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

  • 行级别与聚合级别

使用Excel工作时,我们面对的往往是具体的一行一行的数据,诸如 A2/A1的计算,也是行级别的计算;但是当数据量成千上百万,我们更关心的是主题的聚合,比如说每家分行每天的存款金额,而不在乎每一单笔的存款详情,这就需要在分行详细级别做聚合计算,比如sum([deposit]),或者计算平均单笔金额 sum([deposit])/countd([order ID])。

面对大数据的海量数据,我们必须清晰自己在哪个数据层面做分析,是什么详细级别的聚合问题,只有对业务的类型有清晰的理解,才能作出恰当的可视化效果。我的思考方式是假想一座冰山,把各种字段放在冰山之中,不同的问题,其数据必定在某个层面上,这就是它所在的详细级别。

Screen Shot 2019-04-14 at 5.05.49 PM

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

4、操作顺序

Tableau中有很多的操作,比如维度筛选器、顶部筛选器,在一个视图中,Tableau需要明确它们的执行前后顺序,这是学习Tableau的必备知识。我们经常遇到可视化的结果和预期结果不同的情况,大部分是没有了解和掌握这个操作顺序。

数据分析的数据操作是不断叠加的,就像是PS中的图层,比如数据提取筛选器最先执行,就相当于PS的底层,数据视图层面的上下文筛选器相当于第二层,它在底层的基础上进一步筛选。其他类似,一步步递进。我在官方指南(英文)基础上做了一个导图,按照优先顺序排序,此图应该牢记在心。

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

在数据源界面,完成必要的数据整理,对于后期提高效率,非常重要。没有数据整理,就没有数据的高效分析。《哈佛商业评论》曾经发表一篇文章说,数据分析师在用80%的时间做整理,只用20%的时间在做分析。不过随着像Prep这样的敏捷ETL工具的兴起,正在慢慢地好转。

屏幕快照 2018-08-24 下午3.03.43

早期我用Tableau 时,prep还没推出,当时被各种数据整理的工作弄得特别沮丧。如今,Tableau  Prep为我们提供了更方便快捷的道路!自从有了prep,Tableau可以自豪地说,我们可以让数据分析师用20%的时间去做整理,而不是80%!我们会在后面重点讲解这个软件的使用和应用场景。

对于各类的数据联结功能,Tableau Desktop能很好的胜任,详细说明可以参考近期新博客(【Tableau】如何合并你的数据?method and metrics

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

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

2、数据连接、数据并集

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

3、 跨数据源连接

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

1-2

4、数据源和提取数据

  • 数据提取不是必备的,但是当本地数据非常庞大或者连接实时数据库时,数据提取可以加快操作;
  • 在数据源级别可以添加筛选器,比如删除单据状态为“未完成”的单据,就会在以后所有的数据中都避免了未完成的单据。

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

在连接数据文件后,可以在数据连接层面做一些基本的数据清理工作,比如重命名、隐藏、拆分、修改字段格式等等。

四、数据可视化

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

1、必要的数据准备

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

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

屏幕快照 2017-07-28 20.34.03

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提供了包括筛选、高亮、跳转、集值等多种互动选项,以及仪表板和故事两种表达方式。

1、Tableau的交互功能

Tableau可以使用多种动作增加交互性,最典型的是筛选、高亮,以及最新推出的集动作,即将推出的参数动作。

屏幕快照 2019-05-02 下午7.10.30

使用筛选动作,我们可以使用一个视图中的数据来筛选另一个视图中的数据,从而帮助引导分析;这在以地图作为区域引导的仪表板中格外方便。

使用高亮动作,则可以随时把选中的标记与其他标记分开,突出分析的数据重点。

最新的集值则增加了更多的高级交互功能,它可以在选择的数据标记和各种视图交互中建立桥梁,通过视图即可方便的调整数据范围,让动态集更加灵活。更多内容可以参考最新的集值系列:

新版本推出的跳转按钮,让跨工作表、仪表板和故事的操作非常简单。

2、可视化的展示:仪表板和故事

在完成了各个主题的可视化视图后,我们还要考虑如何“完整的表达”。完成数据可视化只是完成了数据的展示,后面的部分需要更多的业务的理解,比如交互式分析,数据对比探索等等。Tableau提供了两种组合可视化展示和探索的方法,仪表板和故事。借助仪表板我们告诉大家事实是什么,而通过故事,我们可以解释为什么如此,不管是层层剥开的探索,还是假设验证的分析,故事让整个业务分析变得完整。

用仪表板说明数据“是什么”,故事告诉大家“为什么”

仪表板是多个可视化的集合,是按照一定的逻辑关系对工作表和仪表板的系列组合,可同时对比各种数据。比如同时查看销售的区域分布和分月增长,确保从时空两个方面把握全局。

 

六、【高阶】Tableau的计算

计算是大数据分析的核心之一,计算构成了可视化的逻辑。随着业务分析的深入,我们需要使用多种计算方式完成复杂的分析任务,这就要求我们不仅仅明白多种计算的语法和技巧,更重要的是了解如何作出最好的选择。

表计算

在这篇博客中(【tableau】TC-如何选择Tableau计算类型?),我们介绍了如何选择计算,这是需要在实践中掌握的技术。

1、基本计算——最常见而丰富的计算

2、表计算——反应最快、优先选择的计算

3、LOD详细级别表达式——解决复杂问题的必备工具

迄今可能是最好的非官方LOD中文解读,大概就在这里了,全系列六篇文章。

 

七、如何使用Tableau Prep

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

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

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

 

Feb 25, 2019  update
Mar 4, 2019 update
Apr 24, 2019 update
May 14, 2019 update
Michael Wu


了解 喜乐君 的更多信息

订阅后即可通过电子邮件收到最新文章。

《【平民数据科学家】从头开始用Tableau》有6个想法

  1. Pingback: 「Tableau」“平民数据科学家”的崛起 – 喜乐君

  2. 建议官方请你做Tableau推广大使,写的真好,等你出书了,第一时间买了学习,珍藏。

评论已关闭。

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading