2.2.3 Organize dimensions into a hierarchy

Hierachy与Group, Set, Bin的区别

Tableau的官方文档并没有对Hierachy给出一个非常准确的描述, 导致我最开始在学习Hierachy的时候就是一知半解. 那么Hierachy到底是什么.

在解释Hierarchy到底是什么之前, 我们先来复习一下我们之前已经学过的Group, Set, Bin的概念.

Group是将一个Dimension当中的各个值手动近一步分类, 创建出一个新的Dimension. Dimension → 另一个Dimension

Set也是将一个Dimension当中的值进行重新分类, 但是分类的标准不同: 是通过计算这个Dimension的附属Measure从而得到一个数值,在这个数值计算的结果上根据条件进行分类.
比如每个顾客都有一个总的消费额, 分类的依据是这个总的消费额的数值,而不是顾客的名字本身. 根据消费额的高低,将顾客进行分类
Dimension → 计算Dimension对应的Measure →新的Dimension

Bin是将Measure进行分组, 它只考虑Measure本身, 是一个将Measure转换为Dimension的过程

总而言之, 上述的三个概念都会生成一个新Dimension, 其中两个是依据现有的Dimension生成, 一个是手动, 一个是自动.
最后一个Bin是依据Measure生成.

Hierachy和上述三个概念均不一样, Hierachy创建之后, 不会有新的Dimension生成, 它所包含的都是已经存在的Dimension. Hierachy的核心功能是告诉Tableau, 这些Dimension之间的关系. 如果我们不设置Hierachy, Tableau不会认为Field之间有任何关系. 他们都是独立的个体

什么是Hierarchy?

Hierachy中文翻译过来是层级,级别. 我们有时候看电视说你级别不够, 这个机密不能给你看. Hierachy就是这个级别. 但是在Tableau里边没有那么玄乎, Hierachy在Tableau里主要是指分类上的级别. 我来举几个例子你就明白了.

地理上的级别 Geographical Hierarchy: 国家→省/州→市→区→街道

组织上的级别 Organisational Hierarchy: 总公司→分公司→部门→组

产品分类上的级别 Product Hierarchy: 产业 → 产品大类 → 产品小类 → 产品 比如汽车产业 → 民用车 → 轿车 → C级车

职务级别 Management Hierarchy: CEO → Head of Departments → Manager → Team Leader

上边的所有这些例子都是是我们日常生活中会遇到的Hierarchy.

Hierachy有哪些特点:


1. Hierachy都是Dimension, 没有Measure.
由于Hierarchy都是描述性质的, 没有比较意义, 即使是有数值, 这个数值也不是为了比较. 比如邮政编码, 10001跟10002没有比较, 不存在谁大谁小的问题.

2. Hierachy都是一对多的关系

一个城市只能归属于一个省, 不能有一个城市同时归属于两个省的情况发生.

3. 从上到下

准确的说, 所有在一个Hierarchy内部的Dimension一定存在一个上下级关系, 不存在平级的关系. 如果不满足这个条件, 这个Hierarchy就不存在.

在Tableau里创建Hierarchy

如果我们回到Tableau所提供的Sample - Superstore Dataset的话, 它里边其实已经帮你创建好了两个Hierarchy, 分别叫做Location和Product.

我们先利用Tableau已经创建好的这个Hierarchy来学习一下创建好的成品长什么样:

在Location当中, 第一个Dimension是Country/Region, 然后是Region, State/Province, City, 最下边的是Postal Code.
这意味着我们所有的Dimension必须按照级别从上到下排列

其次我们发现Location前边有个下拉箭头, 箭头点开包含这些column. 但是Location并不是一个单独的新的Dimension. 如果你把Location拖拽到右侧的Rows Shelf. 会发现它所显示的不是Location, 而是Location下边最高级别的Dimension: Country/Region

接下来我们就以重建Location这个Hierarchy为例, 展示在Tableau当中如何创建一个Hierarchy

首先, 右键点击Location, 选择Remove Hierarchy. 这时你会看到Location下边所有的field都会被打撒, 而不是都集中在Location下.

下一步, 按住CTRL, 把我们所有准备加入到Hierarchy当中的Dimension都选中
在Tableau当中, 按住CTRL, 选中Country, Region, State, City Post Code

下一步点击鼠标右键, 选择Hierarchy, 选择Create Hierarchy, 给Hierarchy添加一个名字Location

最后一步: 调整Dimension的顺序
Hierarchy下的Dimension必须严格按照级别从高到低排列. Country必须排第一个, State第二个等等.

鼠标右键按住我们需要调整的Dimension, 然后上下移动调整顺序

从0创建Hierarchy的全过程展示

Hierarchy有什么用?

Hierarchy是Tableau当中一个特有的功能, 但是为什么Tableau要添加一个这样的功能呢? 在Tableau的官方文档当中, 它只提及了一点叫做Drill Up and Down. 但是其实还有一个更加重要的原因,我会在这部分讲解.

  1. Drill Up and Down

    Drill是电钻或者是动词钻的意思, Drill Up和Down 中文一般翻译为上钻和下钻, 如果根据字面意思来理解, 就是下上和向下寻找更多细节. 比如我知道了一个省的总销售额, 我下钻就是想要了解这个省下边各个城市的总销售额, 而上钻就是了解这个省所在的大区的销售额.

    当我们把Location这个Hierarchy移动到右侧的Rows Shelf上的时候, 与以往不同的是, 你会发现Country/Region的左边会出现一个加号, 如果你点击这个加号,Hierarchy当中的第二个Dimension: Region就会出现, 你再点击Region前边的加号, State/Province就会出现. 以此类推一直到最后一个column Postal Code.

Hierarchy Drill Up and Down功能展示

2. Hierarchy能够帮助Tableau准确的识别地理位置

这个知识点在Tableau官方文档介绍Hierarchy时没有提及但是它对你正确的创建地图至关重要. 那么这句话到底是什么意思呢?

我们首先来假设Location这个Hierarchy并不存在, 也就是Country是Country, State是State, City是City 但是我并不知道它们之间的关系. 在这种情况下, 如果我们让Tableau单独根据City这个column里边的值绘制地图的话, Tableau就会困惑. 假设有一个city叫Alexandria, 这是一个在英语国家非常常见的地名, 可能相同国家不同的州都有这个地方, 那这个时候Tableau就会困惑, 它不知道要把Alexderia放在地图上的什么位置.

但是一旦Hierarchy创建好了, Tableau所识别的不再单单是这个city的名字, 而是这个city层级上边所有的Dimension包括州和国家.

我将在下边的动图当中展示, 设置好Hierarchy与没设置好Hierarchy在创建地图时的区别

Create Map with No Hierarchy

在上边Tableau的右下角我们可以注意到,在没有设置Hierarchy的情况下, Tableau无法识别363个city的名字, 所以我们所看到的地图实际上数据是不全的

接下来我们看看如果Hierarchy设置好是什么样的. 双击City这个field, 右边就会自动生成地图.

Create Map with Hierarchy

在Hierarchy创建好之后, 我们可以发现Tableau的右下角不再出现Unknown的提示. 这时我们再将视线拉回到Marks区域, 我们会注意到, 在双击city之后, City被添加到了Detail当中, 但是顺带的, Country/Region, State/Province也添加到了Detail里边. 这意味着所有City以上级别的column都被添加了进去, 所以Tableau才能成功的识别每一个City的位置.

在Dashboard中使用Hierarchy的注意事项

  1. 当你的dashboard展示空间有限的时候, 一直按加号会压缩右侧显示Measure的空间, 所以如果你准备让用户使用Hierarchy功能, 请确保留足够的展示空间

  2. Hierarchy这个功能在Tableau当中并不明显, 如果你不把鼠标放在指定的位置, Tableau是不会显示那个加号的, 因此如果要让用户注意到这个功能一定要标注出来.

在下边的这个动图当中你可以看到, 当我持续点击Country/Region旁边的加号时, 左边会不断扩大, 压缩右侧数据的空间导致整个报告越来越拥挤. 同时你也可以看到, 那个加号不是非常明显, 如果不是特别提醒一般用户很难察觉到