目录
1. 简单总结下Tableau分析步骤
1. 连接数据
2. 数据源预处理
3. 在工作表里开展可视化
4. 在新的工作表开展可视化
5. 在新的工作表里再开展可视化
6. ......
7. 汇聚成一个仪表板
8. 还可以生成一个故事板好了,汇报吧~
3-6都是数据探索,不停的探索和发现。出发吧~
2. 连接数据,必须且基础
2.1 支持导入的数据类型丰富多样
2.1.1 Excel导入
如果只有一个sheet,默认为该数据;可以自动读取多个sheet页;
数据源:示例-超市
2.1.2 CSV导入
可以自动读取同目录源下多个文件
(数据源:武侠小说(版权所有者:曾津)
2.1.3 txt导入
可以自动读取同目录源下多个文件,同csv格式,
2.1.4 MySQL数据
依赖公司环境,依赖SQL掌握程度
下载并安装驱动程序后可用~
2.1.5 直接复制数据
这对于小数据量导入是个很不错的选择~
2.2 数据预处理
2.2.1 规整数据
数据解释器:去除空行、标题等,智能识别数据表格;它可以检测并绕过标题、注释、页脚、空单元格等内容,从而确定数据集中的实际字段和值
字段名称位于第一列
文本文件属性
2.2.2 数据格式设置
文本转日期
文本转数字
2.2.3 字段设置
- 列拆分:对有分隔符的列进行拆分,增加数据信息
- 转置:*选中同一维度的多个标题列,转化为一列 ---这是个不常用但非常有用的知识点隐藏:隐藏不需要列
- 重命名:规范命名
(数据源:多列转一列)
2.3 数据联接
*根据相同列字段,列合并;
类似Exce的vlookup,MySQL中的join,Pandas中的merge
2.3.1 联接方式(how)
- 左联接
- 右联接
- 内联接
- 外联接
2.3.2 联接字段(on)
用已有的字段联接*用计算字段联接
感受下Tableau强大的后台运算能力吧~
数据源:英雄榜(曾津)
2.4 数据并集
*数据列一致,行合并;
类似MySQL中的 union,Pandas中的concat
- 直接拖拽
- 新建并集
- 通配符新建并集:文件批量合并---这是个不常用但非常有用的知识点**
思考下:
如何实现合并同一文件夹下相同表头的csv数据?
如何实现合并同一文件夹下的相同表头Excel数据?
仅仅作为数据源处理,Tableau 就已经功能非常强大了~
数据源:武侠小说(版权所有者:曾津)
2.5 数据源管理
2.5.1 数据源的两种读取方式
实时连接:和本地数据源联动,随着本地表的更新而更新 --这是个常用且非常有用的知识点;适用于小数据,临时数据分析
数据提取:提取成Tableau数据库格式,可以按照某字段增加新数据;适用于大数据,定期数据分析
- 创建数据提取
- 刷新数据提取
2.5.2 数据源维护的N种方式
- 查看数据
- 数据刷新
- 替换数据
- 关闭数据源
- 保存数据
2.6 数据源合并(混合关系)
2.6.1 数据源合并和数据表联接的区别
数据源合并是多个数据源之间的联接
数据表联接是一个数据源下表的联接
有两个及以上数据源,两个源之间要通过一个或多个字段实现列合并
2.6.2 如何创建混合关系?
顶部菜单栏”数据“ >> 编辑关系
蓝色的是主源,黄色的辅源,红色的纽带代表已成功联接的字段,灰色的纽带代表未联接成功的字段
数据源:示例-超市
3. 初阶可视化,思路的简单流淌
3.1 简单拖拽,就是这么简单
但数据要用合适的图表来表达
首先必须掌握什么样的图表适用于什么样的目的;
其次必须掌握图表所需要的数据格式;
合适的图表配合适的数据;合适的数据配合适的图表;
没有low图,没有无用的数据。
哪种图表或图形是您的理想选择?数据可视化指南
3.2 字段处理,贯穿在可视化里的润滑剂
3.2.1 维度和度量,先来了解下
维度包含定量值(例如名称、日期或地理数据)。您可以使用维度进行分类、分段以及揭示数据中的详细信息。维度影响视图中的详细级别。
度量包含可以测量的数字定量值。度量可以聚合。将度量拖到视图中时,Tableau(默认情况下)会向该度量应用一个聚合。
绿色度量 和维度 是连续的。连续字段值被视为无限范围。通常,连续字段会向视图中添加轴。
蓝色度量 和维度 是离散的。离散值被视为有限。通常,离散字段会向视图中添加标题。
3.2.2 聚合和粒度,再来了解下
聚合:可用于度量的不同聚合确定单独值的聚集方式;对这些值进行加总 (SUM)、求平均值(AVG),或设置为单独行值中的最大值 (MAX) 或最小值 (MIN)。
粒度:数据的不同聚合粒度。如果决定要以最详细的粒度级别查看数据,需要解聚;
Tips:
良好的数据集是明细级别的数据,未聚合的数据,有丰富维度的数据!
3.2.3 基本的字段处理,点击操作即可
- 数据类型转换:文本转数字,数字转文本
- 度量、维度互转:
- 字段排序:按照源排序,不要按字母排序
- 分文件夹管理字段:如果字段过多,可以按类建文件夹
- 数据格式设置:百分比设置;
- 复制字段:一个字段用做原始值,复制的字段用做衍生
- 日期类型转化和几种日期类型
3.2.4 下钻上卷的字段处理
下钻:
上卷:
分层,必须要分层;
细分到粗分
3.2.5 高级的字段处理,手动创建
- 字段拆分:订单ID的信息拆分
- 分组:地区分组
- 创建集:
- 创建数据桶:是直方图的基础数据
- 创建新字段
- #创建参数
创建方式:
- 字段上创建
- 视图里创建
先讲解方法,具体使用结合图表和案例进行。
3.3 图表的几个重要组成
3.3.1 行和列,思路开始实现
添加行和列:
- 任意拖拽~ 也可以直接拖拽到画布
- 双击指标实现
- 取消:拖出
维度字段排序:
度量指标聚合方式:
隐藏行和列:
在计算年同比增长时,第一年没有可以比较的前一年,因此该列保留为空白。筛选第一年会将其从视图中移除,但它也会从计算中移除(第二年随后没有了可以比较的前一年,并保留为空白)。隐藏空白列(而不是筛选)会使计算保持不变。
数据源:订单销售明细-年同比增长
3.3.2 视图,实现思路的地方
让我们具体了解一下画布显示的内容,这对于调整格式、表计算十分有用:
A. 字段标签- 添加到行或列功能区的离散字段的标签,用于说明该字段的成员。例如,“类别”是一个离散字段,它包含以下三个成员:“家具”、“办公用品”和“技术”。
B. 标题- 工作表、仪表板或故事提供的名称,系统会为工作表和故事自动显示标题。
C. 区/单元格 - 表示视图中所包括的字段(维度和度量)交集的数据。可以用线、条、形状、地图、文本等来表示标记。
D. 图例- 描述视图中的数据编码方式的图例。例如,如果您在视图中使用形状或颜色,则图例会描述每个形状或颜色所代表的项。
E. 坐标轴- 是在将度量(包含定量数值信息的字段)添加到视图时创建的。默认情况下,Tableau 会针对此数据生成连续的轴。
F. 横坐标字段名或标签- 字段的成员名称。
G. 说明- 描述视图中的数据的文本。说明可以自动生成,并且可以打开和关闭。
Tips:一些必须掌握的交互操作,而这是Tableau 深受用户喜爱的原因!
- 突出显示
- 圈选
- 排除
- 隐藏和显示隐藏
- 查看数据和详细数据
- 复制粘贴数据
可以看做是装逼技能,kkk
3.3.3 标记卡,施展视觉魔法
- 自动或手动选择图形
- 颜色:维度,一个图最好是用一个维度去标记颜色大小:
- 度量,一个图只能有一个标记大小的度量
- 标签:显示或如何显示度量值,可多个字段
- 形状:维度,一个图只能有一个标记形状的维度
- 详细信息:鼠标悬停时展现更多的信息,可多个字段
- 工具提示:除了该表提示模板,还可以实现表的引用筛选,可多个字段
时刻思考:
如果一个图增加了颜色图例、增加了大小图例、增加了形状图例,那图的可解读信息是更丰富了呢,还是变杂乱了?
3.3.4 筛选器,减轻图表负担
Tableau里的5种筛选
- 数据提取筛选器
- 数据源筛选器
- 筛选器功能区
- 视图内的筛选
- 行列功能区、标记卡字段胶囊筛选
按以下顺序依次过滤:
1. 数据提取筛选器
2. 数据源筛选器
3. 上下文筛选器
4. 维度上的筛选器(无论是在“筛选器”功能区上还是在视图内的筛选器卡中)
5. 度量上的筛选器(无论是在“筛选器”功能区上还是在视图内的筛选器卡中)
筛选器功能区中的维度字段的四种筛选方式(功能区内)
筛选器功能区中的度量字段的四种筛选方式(功能区内)
日期格式的筛选方式:
三种应用方式:
- 联动筛选:分层结构,仅相关值
- 应用范围
- 添加上下文
显示筛选器后,筛选器卡片的交互筛选和设置(画布中)
3.3.5 页面,制造画布的分身
如:根据日期查看销量走势
如:历年世界各国GDP排名变化情况
尝试制作你的类别排名动态图吧~
3.3.6 智能显示,让它帮你做选择
智能推荐合适的展现图表
3.3.7 分析窗口,简单好用的统计曲线
快速便捷实现你的分析需求
3.3.8 格式设置,从凌乱到整齐
整体工作簿的设置:建议在连接完数据后,优先进行设置
单个工作表的设置
行列名:
- 如何将列名从竖排转为横排?
- 如果有多列,如何将列名从竖排转为横排?
分层网格线
标题网格线
因人而异的设置
3.4 常见的基础图表
Excel里能实现的,Tableau 都能实现,且能进行多维展示。
3.4.1 柱形图/条形图
3.4.2 折线图
3.4.3 面积图/堆积面积图
3.4.4 饼图
3.4.5 圆环图
3.4.6 散点图
3.4.7 气泡图
3.4.8 雷达图
1. 对数据源做处理:复制一列&增加默认的五环坐标数据;
2. 复制到tableau里,将多列转置为一列,依次命名为变量和数值;
3. 计算”路径“字段:
case [变量]
when '1销量能力' then 1
when '2盈利情况' then 2
when '3销售额能力' then 3
when '4市场空间' then 4
when '5消费者信心度' then 5 else 6
end
#4. 计算"弧度"字段:
if [路径] = 6 then pi()/2
else pi()/2-([路径]-1)*2*pi()/5
end
5. 分别计算X 和 Y
X: [数值]*cos([弧度])
Y: [数值]*sin([弧度])
3.4.9 箱线图/盒须图
奇异值(离群值,outlier)的判断方法有两种:
1.
2.上 须 的 临 界 值 : 下 须 的 临 界 值 : :
盒须图中指标意义:
盒须图 | 意义 |
离群值 | 超过上须值 |
上须 | 超过上枢纽,但未超过(上枢纽值+ 1.5*IQR)的最大值 |
上枢纽 | 四分之三分位数 |
中位数 | 中位数 |
下枢纽 | 四分之一分位数 |
下须 | 未超过(下枢纽值-1.5*IQR) 的最小值 |
离群值 | 低于下须值 |
3.4.10 树状图
3.4.11 直方图
适用于探索连续型变量的分布、区间
3.4.12 组合图
3.5 整合工作表
3.5.1 整合成仪表盘
仪表盘的设置操作步骤:
- 新建布局
- 添加工作表
- 调整排版
- 添加交互操作
3.5.2 组织成故事板
将工作表和仪表盘整合到故事版
3.6 结果导出、保存和共享
3.6.1 数据源导出
导出所有数据;
只能导出csv格式;
csv格式打开方式:打开一个空白Excel,数据菜单下选择”从文本“,如果视图显示是乱码的话,可以选择编码,一般是选择UTF-8。
3.6.2 工作表中数据导出
ctr+A,全选工作表中的数据;或框选,选中部分工作表数据;
ctr+V,粘贴到空白Excel表格中
3.6.3 工作表导出
3.6.4 仪表盘导出
3.6.5 故事导出
3.6.6 保存的两种格式:
twb和twbx的格式
- twb:只保存可视化界面;
- twbx:保存数据源和可视化界面
3.6.7 共享到服务器
操作方法:文件--共享
需要Tableau Server 或Tableau Online协作
4. 高阶可视化,满足你一切想象力
4.1 如何增强图表可读性?
4.1.1 排序,表达图表规律
排序方式:
- 数据源顺序
- 字母
- 字段
- 手动
- 嵌套
三种操作:
- 右键字段
- 图表上
- 快捷操作栏里
4.1.2 计算新字段,挖掘图表隐藏信息
- 聚合函数的修改
- 表计算:计算类型和计算依据
- 新建字段
- 临时计算
- 菜单:添加合计和小计
快速表计算的含义:
快速表计算 | 意义 |
汇总计算 | 在分区中以合并方式聚合值 |
差异计算 | “差异”表计算将计算表中当前值与另一个值之间的差异。 |
百分比差异计算 | 当前值与另一个值之间的百分比差异。 |
合计百分比计算 | 当前分区中所有值的百分比 |
排序计算 | 分区中每个值的排名 |
百分位计算 | 在分区中计算每个值的百分位排名 |
移动平均计算 | 会对当前值之前和/或之后指定数目的值执行聚合(总计值、平均值、最小值或最大值) |
YTD总计 | 年初至今总额 |
复合增长率 | 环比 |
年度同比增长 | 年同比 |
YTD增长 | 年初至今增长 |
案例:堆积面积图里的表计算更改成年同比和月环比
案例:计算“经营情况”
案例:计算“利润率” ( sum(利润)/sum(销售额) )
4.1.3 借助趋势线,拟合图表变量间关系
- 趋势线能帮我们发现两个指标之间的计量关系
#线性拟合
Y = b0 + b1 * X
#对数拟合
Y = b0 + b1 * ln(X)
#指数拟合
Y = exp(b0)* exp(b1 * X)
#幂次拟合
Y = b0 * X^b1
#多项式
Y = b0 + b1 * X + b2 * X^2 + .
- 趋势线能帮我们做未来走势拟合,可以简单预测流量、销量
- 趋势线可以在折线图、散点图里叠加使用,并不是所有的图都能添加趋势线
Tips: 在互联网公司,趋势线有什么帮助?如:如何计算用户理论生命周期天数 LT?
- 破题:根据目前一段时间内已经发生的用户留存率曲线,拟合用户在未来2年内的留存率曲线走势;
- 解题:将第0天到2年内每一天的留存率相加就是用户的理论生命周期天数。
番外:为什么留存率相加就是用户的生命周期天数?
4.1.4 借助参考线,表达图表强弱信息
四种形式:
- 参考线
- 参考区间
- 参考分布
- 参考盒须图
三种计算粒度:
还记得粒度是什么意思?
- 整个表
- 区
- 单元格
4.1.5 借助参数,展示图表动态变化信息
参数是全局占位符值,例如数字、日期或字符串,可以替换计算、筛选器或参考行中的常量值。
创建一个动态参数,该参数设置为自动刷新其当前值(依据独立于视图的单值计算的结果)或值列表(基于数据源列)
- 在计算中使用参数
if [利润] >[盈利参数]
then 'Profitable' elseif [利润] = [盈利参数]
then 'Breakeven' else 'Loss'
end
- 在参考线中使用参数
案例:如何计算动态的“经营情况”
案例:如何计算动态的二分类
4.1.6 动态展示,表达图表趋势重点
- 突出显示
- 页面控制
- 图表联动
4.1.7 添加注释,表达你的观点
- 标记 - 选择此选项可添加与所选标记关联的注释。只有选择数据点(标记)后,此选项才可用。
- 点 - 选择此选项可为视图中的特定点添加注释。
- 区域 - 选择此选项可为可视化项中的区域(如一组离群点或目标区域)添加注释。
4.2 函数-数据高阶变化
4.2.1 常用函数-中规中矩的函数
数字函数
ABS(-7) = 7
CEILING(3.1415) = 4
FLOOR(3.1415) = 3
ROUND(3.1415,2) = 3.14
ROUND(324,-2) = 300
EXP(2) = 7.389
文本函数
STARTSWITH(“Joker”, “Jo”) = true
ENDSWITH(“Tableau”, “leau”) = true
CONTAINS(“Calculation”, “alcu”) = true
FIND("Calculation", "alcu") = 2
REPLACE("Version8.5", "8.5", "9.0") = "Version9.0"
LEN("Matador") = 7
UPPER("Calculation") = "CALCULATION"
LOWER("ProductVersion") = "productversion"
TRIM(" Calculation ") = "Calculation"
LTRIM(" Matador ") = "Matador "
RTRIM(" Calculation ") = " Calculation"
SPLIT (‘a-b-c-d’, ‘-‘, 2) = ‘b’
LEFT("Matador", 4) = "Mata"
MID("Calculation", 2, 5) ="alcul"
RIGHT("Calculation", 4) = "tion"
日期函数
DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM
DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'monday')= 1
DATEPART('year', #2004-04-15#) = 2004
DATEPART('month', #2004-04-15#) = 4
DAY(#2004-04-12#) = 12
WEEK (#2004-04-15#) = 16
MONTH(#2004-04-15#) = 4
YEAR(#2004-04-15#) = 2004
NOW( ) = 2004-04-15 1:08:21 PM
TODAY( ) = 2004-04-15
聚合函数
SUM()
AVG()
MAX()
MIN()
MEDIAN()
COUNT()
COUNTD()
PERCENTILE()
VAR()
STDEV()
COVAR()
{CORR(Sales, Profit)}
逻辑判断函数
IFNULL([Profit], 0)
ISNULL([Profit])
IIF([Profit] > 0, 'Profit', 'Loss')
IF [Profit] > 0 THEN 'Profitable' ELSE 'Loss' END
IF [Profit] < 0 OR [Profit] = 0 THEN "Needs Improvement" END
IF NOT [Profit] > 0 THEN "Unprofitable" END
IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END
CASE [Region] WHEN 'West' THEN 1 WHEN 'East' THEN 2 ELSE 3 END
4.2.2 详细级别表达式(LOD)-超越级别的函数
解决Excel透视表解决不了的问题:如何输出每个子类别占相应类别销售额的百分比?
详细级别表达式(也称为 LOD 表达式)允许您在数据源级别和可视化项级别计算值。但是,LOD 表达式可以让您更好地控制要计算的粒度级别。它们可以在较高粒度级别(包括)、较低粒度级别(排除)或完全独立级别(固定)执行。
{FIXED [Segment], [Category] : SUM([Sales])}
[Sales] - {FIXED [Customer Name] : AVG([Sales])}
4.3 高阶图表
4.3.1 词云图
4.3.2 突出显示表
适用于对比类型不同度量大小的展示,类似Excel表的”色阶”
4.3.3 热图
4.3.4 散点热图
适用于展示明细类别在坐标轴上的集中密度
4.3.5 甘特图
4.3.6 瀑布图
4.3.7 地图
4.3.8 人口金字塔图
适用于展示二分类维度数据
4.3.9 帕累托图
适用于展示经济学现状,百分之20%的人贡献了80%的税收问题。以产品为明细级别,去分析帕累托数字。
1. 创建销售额累计百分比字段
销售额总量百分比
RUNNING_SUM(SUM([销售额]))/TOTAL(SUM([销售额]))
2. 创建累计百分比图
3. 创建销售额柱形图,叠加双轴
4. 创建产品数量%字段
%产品名称index()/size()
5. 创建动态参数
销售额总量百分比参数:百分比
#使用动态参数
if [销售额累计百分比]<=[销售额总量百分比参数] then [产品名称数量%]
else null end
注意,图中所有计算变量都要将计算依据改为“产品名称”
4.3.10 桑基图
需要计算3个维度、16个度量、2个参数,多达十余个步骤!
具体请参考:
https://towardsdatascience.com/how-to-make-sankey-diagram-in-tableau-f5f8730e5 962
建议选择其他桑基图网站来代替。