从2019年开始,我每月都会组织Tableau的培训课程,以此督促自己加速学习的进程,也让更多人获得成长的进步。近期按照培训的需要,重写部分Tableau学习教程,从入门到高级,循序渐进。
一,了解产品和环境指南
作为敏捷BI的代表,Tableau提供快速、简单的可视化分析,并通过Server为企业搭建自助化分析平台。Tableau也在不断的扩展自己的产品线,从数据清理到数据管控,不断增强企业部署和可视化分析的能力。
1、Tableau产品组合
目前Tableau的产品线从前端的数据准备、数据可视化分析到后端的数据自助分析平台,形成了完整的敏捷BI产品线。我们按照以下的产品流向,理解各个Tableau产品的功能。
- Tableau Prep帮助您快速、自信的转换和组织数据以供分析,借助Tableau Prep直观、简洁且协调的界面,一目了然地查看所有数据;以可视化的方式合并、组织并快速清理来自多个数据源的数据。Prep的数据流让数据清理从科学家的工作,变成了所有人都轻松可以操作的工具。
- Tableau Desktop通过拖拽式分析实现数据的可视化,无需复杂的代码,轻松制作折线图、条形图、散点图等数据可视化;交互式仪表板和高级分析工具帮你发现隐藏在数据背后的见解。
- Tableau Server可以帮助企业实现受管控的大规模自助化分析平台,整合所有的企业数据和数据资产,实现有效数据管控和数据驱动业务成长的双重任务。
- Tableau支持丰富的访问端口,全面支持浏览器端、手机端、平板等各种设备;新版本重新设计了 iOS 和 Android 版 Tableau Mobile,提供强大的搜索功能、经过改进的“收藏夹”体验,以及交互式脱机预览,只需动动手指即可享用。另外,Tableau支持多种API接口访问。
2、为什么要用Tableau可视化?
在数据大爆炸的时代,人对数据处理的能力越来越多的依赖于电脑,电脑理解数据,而人负责理解图形,可以说“可视化图形是透过数据理解世界的窗户”,从此可视化成为越来越重要的数据语言,特别是对于不具有专业数据分析能力的业务人员而言。
我们可以用卡尼曼《思考,快与慢》的观点来解释:人天生都是快思考的动物,可视化帮助我们提高了分析的效率。几百年前就已经有了很多精彩的可视化图表,如今计算机让一切变得容易,Tableau让业务部门的大数据可视化变得简单而具有吸引力。
在可视化的各种元素中,位置优先,其次是颜色、形状和图形,这些可视化的方式帮助我们把数据转化为直观的表达,从而有助于我们发现数据中的异常值和趋势。
二、了解Tableau核心概念
Tableau简单的背后有自己的框架体系,这里涉及到几个重要的概念:字段类型与特征、数据类型、详细级别、聚合方式和操作顺序。尤其是后面三个概念,要在不断的练习和犯错的过程中增加理解和认识。
1、字段类型
所有的字段都会默认分为维度和度量。简单的说,维度代表分类,度量代表数量。
从分析的角度,我们可以把维度分为更细的两类:分类字段和次序字段,后者其实是带有顺序的次序字段。这个分类的主要目的是为了理解字段属性:连续和离散——这是数据库中非常重要的概念,不同的属性代表不同的相关关系,对应不同的可视化形式。
- 每个字段都具有连续或者离散的属性,比如“门店名称”是离散的维度字段,相互之间没有先后关系;而“顾客评价”(比如优秀、满意、良好、不满意)具有明显的高下、先后关系,是具有连续属性的维度字段。最明显的次序字段是年月等日期。
- 相比之下,度量基本都是连续的数字,比如字段“销售数量”、“消费金额”。
- Tableau用两个颜色来代表字段的这个属性:绿色代表连续,蓝色代表离散,这种可视化的方式简单明了。
- 根据分析的需要,我们可以转化字段的维度、度量类型和字段的连续、离散属性,这样就会引起可视化图形的相应变化。一般而言,维度用来做坐标轴,度量表现内容;连续用来生成折线图等查看波动趋势,而离散生成条形图等查看对比关系。
2、数据类型
Tableau支持丰富的数据类型,主要有:数字(整数)、数字(小数)、字符串、日期、日期和时间、布尔值,以及地理位置。
不同的数据类型对应不同的聚合方式,比如字符串主要对应计数,而数字则会首先对应求和聚合。准确的数据类型,是后期可视化和聚合处理的基础。我们可以看一下官方的类型及标记。
图标 | 数据类型 |
---|---|
文本(字符串)值 | |
日期值 | |
日期和时间值 | |
数字值 | |
布尔值(仅限关系数据源) | |
地理值(用于地图) | |
群集组(与在数据中查找群集结合使用) |
3、详细级别和数据聚合
大数据软件,会对数据默认执行聚合,因此我们需要提前了解什么是聚合、不同字段对应的聚合类型,以及各种聚合的应用场景。而理解聚合的应用场景,需要我们了解数据背后的详细级别(level of detail),这是词语我们会在后面的高级操作,特别是LOD表达式过程中经常提到。
- 行级别与聚合级别
使用Excel工作时,我们面对的往往是具体的一行一行的数据,诸如 A2/A1的计算,也是行级别的计算;但是当数据量成千上百万,我们更关心的是主题的聚合,比如说每家分行每天的存款金额,而不在乎每一单笔的存款详情,这就需要在分行详细级别做聚合计算,比如sum([deposit]),或者计算平均单笔金额 sum([deposit])/countd([order ID])。
面对大数据的海量数据,我们必须清晰自己在哪个数据层面做分析,是什么详细级别的聚合问题,只有对业务的类型有清晰的理解,才能作出恰当的可视化效果。我的思考方式是假想一座冰山,把各种字段放在冰山之中,不同的问题,其数据必定在某个层面上,这就是它所在的详细级别。
- 维度的聚合方式
- 维度的数据类型以字符串、日期、地理位置为主;
- 可以采用“最小值”、“最大值”、“计数”或“计数(不重复)”的形式聚合视图中的维度。当聚合维度时,将创建一个新的临时度量列,使维度实际具有度量的特征。
- 度量的聚合方式
- 向视图中添加度量时,Tableau 会自动对它的值进行聚合。常见的聚合包括总和、平均值和中值,还有计数、方差、标准差等多个聚合方式。
- 在Tableau中更改聚合方式非常简单,只需要右键重新选择“度量”聚合方式即可自动完成。
4、操作顺序
Tableau中有很多的操作,比如维度筛选器、顶部筛选器,在一个视图中,Tableau需要明确它们的执行前后顺序,这是学习Tableau的必备知识。我们经常遇到可视化的结果和预期结果不同的情况,大部分是没有了解和掌握这个操作顺序。
数据分析的数据操作是不断叠加的,就像是PS中的图层,比如数据提取筛选器最先执行,就相当于PS的底层,数据视图层面的上下文筛选器相当于第二层,它在底层的基础上进一步筛选。其他类似,一步步递进。我在官方指南(英文)基础上做了一个导图,按照优先顺序排序,此图应该牢记在心。
三、新建数据源和数据准备
在数据源界面,完成必要的数据整理,对于后期提高效率,非常重要。没有数据整理,就没有数据的高效分析。《哈佛商业评论》曾经发表一篇文章说,数据分析师在用80%的时间做整理,只用20%的时间在做分析。不过随着像Prep这样的敏捷ETL工具的兴起,正在慢慢地好转。
早期我用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、 跨数据源连接
- 经常我们要把本地或云端多个数据源的不同工作表联结起来,这个需要跨数据源连接功能;
- 和“数据混合”不同,此处的跨数据源连接会横向扩展整个数据表,适用于数据详细级别一致的情况下;而“数据混合”适用于临时关系和数据详细级别不同的情况。
- 使用数据混合的情况:
- 数据需要清理(即重命名列、更改列数据类型、创建组、使用计算等)
- 联接导致重复数据(联接后数据重复是位于不同详细级别的数据的症状)
- 只需要少量数据。(联接由数据库进行处理,会消耗大量的数据库性能,如果要合并的数据较少,使用数据混合会提高性能。)
4、数据源和提取数据
- 数据提取不是必备的,但是当本地数据非常庞大或者连接实时数据库时,数据提取可以加快操作;
- 在数据源级别可以添加筛选器,比如删除单据状态为“未完成”的单据,就会在以后所有的数据中都避免了未完成的单据。
5、数据准备(修改字段格式,隐藏不必要字段等)
在连接数据文件后,可以在数据连接层面做一些基本的数据清理工作,比如重命名、隐藏、拆分、修改字段格式等等。
四、数据可视化
数据连接后的主要操作是生成可视化,在这里我们需要根据可视化的需要对字段进行二次处理,比如组、分层结构、集、参数,以及各种添加辅助的计算字段。
1、必要的数据准备
创建组、集、参数、分层结构等,可以帮助我们增强数据分析的交互性。这几个功能都可以在维度功能区右键完成,不过要特别注意组和集的区别。
- 创建组会生成一个新的维度字段,它把部分数据合并为一个数据结果显示,这是一个静态的结果,背后可以假设为case when函数;我们往往用组来纠正错误数据,比如把“中行”和“中国银行”统一为“中国银行”显示;组不能用于计算字段。
- 集分为静态集和动态集,集独立于维度字段,结果是一个布尔值判断(在集内还是集外);动态集可以和参数结合,增强视图的互动性;我们常用集来做top显示,比如“每月业绩最好的前10家分行”;集可以参与计算字段。
- 分层结构可以帮助大家在可视化层面实现数据的上钻和下钻,增强数据的互动性,特别适合于地理位置的分层和商品的多级分层,比如国家/省份/城市,大类/中类/子类/商品名称。
2、Tableau可视化图形
Tableau内置了很多的可视化图形,常见的图形有条形图、数形图、地图、折线图、直方图等等。除了直方图需要手动添加一个数据桶(bin),其他的类型都可以通过选择和拖拽一步完成。
Tableau目前有几种常见的快速生成可视化图形的方法:
- 智能推荐方法
最简单的可视化生成方式就是选择多个字段后,点击“智能显示”的推荐图形,系统推荐的最优图形会用红色边框突出显示。
- 完全拖拽生成可视化
更多的情形下,我们会根据分析的步骤,一步步地拖拽字段到功能区,结合标记中地颜色、大小和形状来完成更加复杂地可视化结果。
- 自然语言(Server)
在最新推出地2019.1版本的Server中,Tableau推出了自然语言查询功能,仅需要提出问题,server就可以自动给出可视化图形。不过这个功能对中文的支持,暂时应该不会太理想。
3、如何选择可视化图形
如何选择常见的可视化图形,麦肯锡的这本书《用图表说话》给了我最好的指引。选择图形的过程,其实就是分析问题的过程,我们要分析加入我在哪个详细级别做聚合,我加入可视化的维度和度量字段的相互关系是什么。
下面图片中列举了五种代表性的关系:成分、项目、时间序列、频率分布和相关性。成分代表总分结构,低于三个可以用饼图,超过五个建议用树形图;项目代表的是对比关系,首选条形图,可以明显地体现排序;带有连续时间的维度或度量,用柱形图代表对比,用折线图反映趋势;维度的分布用直方图和折线图,它们反映的是聚合的分布,而两个度量的相关关系,则用散点图——散点图是一个特殊的分布,是高颗粒度的直观分布。
当然,上面的分析都是假设只有两个字段的时候,面对复杂的可视化需求,我们需要更进一步的方法论,我正在尝试如何把“选择图形”扩展为一个完整的过程,目前也在尝试之中:
五、从数据到业务:可视化互动与表达
从数据到价值是一个漫长的过程,数据的探索过程是猜想和反驳交互前行的过程,因此好的可视化不仅仅是展示,更重要的是互动与探索。Tableau提供了包括筛选、高亮、跳转、集值等多种互动选项,以及仪表板和故事两种表达方式。
1、Tableau的交互功能
Tableau可以使用多种动作增加交互性,最典型的是筛选、高亮,以及最新推出的集动作,即将推出的参数动作。
使用筛选动作,我们可以使用一个视图中的数据来筛选另一个视图中的数据,从而帮助引导分析;这在以地图作为区域引导的仪表板中格外方便。
使用高亮动作,则可以随时把选中的标记与其他标记分开,突出分析的数据重点。
最新的集值则增加了更多的高级交互功能,它可以在选择的数据标记和各种视图交互中建立桥梁,通过视图即可方便的调整数据范围,让动态集更加灵活。更多内容可以参考最新的集值系列:
新版本推出的跳转按钮,让跨工作表、仪表板和故事的操作非常简单。
2、可视化的展示:仪表板和故事
在完成了各个主题的可视化视图后,我们还要考虑如何“完整的表达”。完成数据可视化只是完成了数据的展示,后面的部分需要更多的业务的理解,比如交互式分析,数据对比探索等等。Tableau提供了两种组合可视化展示和探索的方法,仪表板和故事。借助仪表板我们告诉大家事实是什么,而通过故事,我们可以解释为什么如此,不管是层层剥开的探索,还是假设验证的分析,故事让整个业务分析变得完整。
用仪表板说明数据“是什么”,故事告诉大家“为什么”
仪表板是多个可视化的集合,是按照一定的逻辑关系对工作表和仪表板的系列组合,可同时对比各种数据。比如同时查看销售的区域分布和分月增长,确保从时空两个方面把握全局。
六、【高阶】Tableau的计算
计算是大数据分析的核心之一,计算构成了可视化的逻辑。随着业务分析的深入,我们需要使用多种计算方式完成复杂的分析任务,这就要求我们不仅仅明白多种计算的语法和技巧,更重要的是了解如何作出最好的选择。
在这篇博客中(【tableau】TC-如何选择Tableau计算类型?),我们介绍了如何选择计算,这是需要在实践中掌握的技术。
1、基本计算——最常见而丰富的计算
2、表计算——反应最快、优先选择的计算
3、LOD详细级别表达式——解决复杂问题的必备工具
迄今可能是最好的非官方LOD中文解读,大概就在这里了,全系列六篇文章。
七、如何使用Tableau Prep
你的仪表板访问性能很慢怎么办?每次打开文件加载数据五分钟怎么办?分析时数据文件中有大量的数据冗余怎么办?——Prep帮你解决很多的性能问题。我们会有单独的系列文章介绍这个主题。
长篇大段,写到这里,希望帮助更多 的人理解和使用Tableau,我也会随着自己的培训逐步完善相关的材料。
Feb 25, 2019 update
Mar 4, 2019 update
Apr 24, 2019 update
May 14, 2019 update
Michael Wu
Pingback: 「Tableau」“平民数据科学家”的崛起 – 喜乐君
加油
楼主,整理一下,出本书吧。我买。
正有此意,我还需要多积累啊 指日可待
建议官方请你做Tableau推广大使,写的真好,等你出书了,第一时间买了学习,珍藏。
未来不远,出版后一定第一时间在博客中公告天下 哈哈
评论已关闭。