本文主要介绍Tableau一些高级比较常用的功能:
1.将行转置为列以重构数据
tableau分析数据的时候更倾向于一行一行的高高的数据,不是很宽很长的数据,需要把列数据转置为行数据。
导入数据,先检查数据类型是否正确,都正确的话,选中需要转置的列,右键单击-转置
转置后根据自己的需要更改名字
2.pivot转置(高级多层嵌套)
在excel中会经常看到合并单元格,一个标题下面又分标题,,两层标题,两个大标题还并排,在Tableau中并不支持该数据结构,需要修改。
例子:我们要把横向的“月份数据”转为列,把月份作为一个列字段,把出生量和建册量作为两个列字段。
Tableau prep支持多层的转置,把多个字段共同的属性字段(比如上面的月份)转置为列字段,原来的总表头(出生量和建册量)共用转置之后的列字段(月份)。
还有一个简单的方法:在数据源界面有一个数据解释器的选项,勾选后会自动识别这些双层的数据:
3.LOD表达式:
“详细级别表达式”、“LOD 表达式”均指 Fixed、Include 和 Exclude 三种 LOD 表达式。
(1)详细级别、聚合度、颗粒度
理解详细级别表达式(LOD Expression),首先要理解什么是详细级别(LOD=Level of Detail)。详细级别是数据聚合度/颗粒度的层次,英文简单易懂,Level of Detail;不同的 Level,代表不同的数据聚合度、不同的颗粒度。Tableau 通过把维度字段、系统自定义的表达式加入到视图,从而决定视图数据的详细级别,之后通过预设的视图表达出来。
- 维度、系统预设的表达式(比如表计算)、用户自定义的表达式(比如自定义的集合字段、LOD 表达式)本质上返回的都是一个数据集合,这些数据集合的详细级别,通过不同的视图表达出来。
如何理解上述的过程?为此,我们先要了解何为聚合度和颗粒度。不同于面向行数据的 Excel,Tableau 面向大数据的数据分析和展现,因此我们所看见的数据绝大多数都是聚合的,这就需要我们非常熟悉每个视图代表的数据的聚合程度。这个聚合程度在 Tableau 中用聚合度 Aggregation 或者颗粒度 Granularity 表示。
在 Excel 中,看数据明细;在 Tableau 中,看数据的聚合程度。
Tableau 的不同的 LOD 详细级别,对应的是不同数据的聚合度和颗粒度。
在 Tableau 中,每增加一个维度,就意味着数据的详细级别在向下移动,在视图中的标记就会增加,比如说,我们在部门、实发金额的基础上增加其他维度到视图中,视图中的标记就会越来越多,数据颗粒度、详细程度越来越高。比如下面的图片,每增加一个维度或者度量字段,数据的详细级别就会从上向下移动,数据的颗粒度就会增加一层。
在 Tableau 中,如何判断操作能引起“视图详细级别”(Viz Level of Detail)的变化?最简单的方法就是看视图中标记的数量。
通常,只要把维度字段或者集字段拖入到视图,Tableau 会根据“可视化详细级别”(Viz LOD)对数据进行聚合,从而引起详细级别的变化。(PS:维度字段拖入到筛选器、工具提示中,可视化的数据范围等会发生变化,但是不会引起详细级别变化。)
(2)详细级别表达式(LOD Expression)
Tableau LOD 提供了一个上升或者下降的通道,实现了“引用但不可见”(比如 Include),或者“可见但局部不引用”(Exclude),甚至可以不受视图和维度筛选影响,直接使用 fixed 指定引用
Tableau 有三种主要类型的数据详细级别,结合下面的图片,可以看到它们各自的位置。
- Table Calc Level of Detail(表计算详细级别)
- Viz Level of Detail (视图详细级别,Viz=visualization 视图)
- Row Level of Detail(行级别详细级别)
(4)几个关键点:
- 大括号的语法意义{}
- 数组。它代表的是一组数的集合,比如班级中每位同学的身高组成一个数组。在数学中经常中经常用大括号表示,Office 的表格也是用大括号。简单的说,
- {Fixed [year] : Sum([sales])} 这个表达式,返回的结果是 {1,2,35,499,99} 这样的一组数据,而不是我们习以为常的一个静态数值。