为什么这是这一节课我推荐你反复阅读?

  1. 明确的考点
    Dimension和Measure既是一个Tableau Concpet又是一个Data Concept.

  2. 在考点4.1当中,Tableau Desktop Specialist已经明确指出以下考点:
    4.1.1 Explain what kind of information dimensions usually contain
    4.1.2 Explain what kind of information measures usually contain
    4.1.3 Explain the difference between dimensions and measures

  3. 对于Dimension的理解涉及到后边Data Hierarchy的理解

  4. Dimension/Measure结合Discrete/Continuous 会对你的图表变成什么样产生非常大的影响。更具体的说,以日期为例,讲日期设置成Dimension还是Measure,Discrete还是Continuous会画出完全不同的图,而如果你提前没有这些概念而直接开始画图,你会产生很多疑问。

翻译所带来的理解障碍


如果我们将Dimension和Measure翻译成中文。Dimension一般翻译为维度,Measure会翻译成度量。但是这种翻译并没有让我们的理解变的更加容易,反而一定程度上让理解变的更难了。因为一般情况下我们在生活中不会用这两个词。所以通过翻译来理解这两个概念并不是一个好的选项。

那么让我们求助于ChatGPT看看它怎么说。

Dimension:
In data analysis and machine learning, "dimension" typically refers to the number of attributes or features used to represent each data point. 在数据分析和机器学习当中,维度一般是指代表每个数据点的属性或者特性的数量。换句话说,Dimension是用来描述每个数据点的特性。到这里这个概念只是稍微好了一点点,但是还是不是非常清晰。下面让我们来做一个替换实验

Measure:
In data analysis, a "measure" refers to a quantitative indicator or variable that can be measured or quantified. 在数据分析中,measure一般是指是一个可以被测量或者量化的变量。
hmmm,看上去Measure说白了是一个数而不像是那种文字的描述。

替换实验

现在我要用一系列名词来尝试替换维度和度量这两个概念,这些名词体现了Dimension这个概念不同的侧面。通过了解这些侧面,你可以对这个概念有一个更全面的认识

我们首先来尝试替换Dimension维度,看看你的困惑有没有减少一点

Description 描述
用来描述一个人,一个组织 或者一个物体某种特征的数据
比如 颜色,名字,大小(这里不是指具体的尺寸,而是大中小),国籍,性别等等

Tag 标签
标签对应着一些类似于产品编号,员工编号,学生编号的数据,这些数据发挥着标签的作用,让使用者可以迅速的确定数据来自于哪些对象

Status 状态
在实际数据当中,你可能会自己定义一些分组或者分类的方法 并且把它们保存在数据当中。比如在职员工和离职员工,激活状态或休眠状态,这些都是一种维度

接下来我们尝试替换Measure度量

Value 数值,价钱
数值的大小,价钱的多少,这是Measure最直接的含义

Ratio比例 Percentage百分比 Probability概率
这些概念可以理解为在测量之后在开始学习这两个概念之前,我想说我并不是很喜欢这种直译的方式,或者说在使用的过程当中,我无法快速的将这两个名字和我拿到的数据联系起来,这就进一步造成了对这两个概念理解上的困难

在给出了上边这些例子之后,你或许对这两个概念的理解又进了一步,那么我将提出一个更深入的问题。

我们现在回归到一个本质问题: 为什么我们要学Dimension和Measure?

答案是当我们拿到数据之后,我们必须给数据当中的每个Column定性, 你必须选择它是Dimension,或是Measure, 再或者
将这个column复制一次, 然后Dimension和Measure各保留一个.

我们应该如何判断每个Column是一个Dimension还是Measure呢?

答案就是:Dimension的目的是分组, Measure的目的是计算。
如果一个column是Dimension, 就可以判断哪一行和哪一行是一组数据。
如果一个column是Measure,你就能加减乘除这个Measure里的值。
只要你记住了这个标准,你就可以取判断。

一个column可以同时是Dimension和Measure


在Tableau当中,同一个Field甚至可以同时是Dimension和Measure。 假设一个工厂固定生产3个规格的产品,分别为长度= 100cm/120cm/150cm。当这个数据导入到Tableau之后,Length长度这个field可以作为Dimension,来给所有的产品进行分类,我们可以分别计算100cm/120cm/150cm 三个类别产品的销售额,那么Length在这里的目的就是用来给产品进行分组。 在另一方面,Length又可以当做实际的长度应用到产品成本的计算当中,与其他的Measure比如高度,宽度和单位成本一起来计算成本,运费等等。 这时候Length的目的就是为了计算。换句话说,Length一个column同时有两个目的:分组和计算。

需要注意的是,Tableau里是不支持把一个column同时设置成Dimension和Measure的,你必须选择一个。怎么办? 你将这个column复制一次,原数据中设置成Dimension,新复制的设置成Measure或者是反过来都可以。


将Measure转换成Dimension:Bin的概念

假设我们有一个员工数据,我们想要研究员工的年龄构成。这其中我们就需要将所有的员工按照他们的年龄分类。假设20岁以下分为一组,20到30分为一组,30到40岁分成一组。40到50一组,50岁以上一组。 这个时候基于年龄这个measure,我们创建了Age Group一个Bin。Age仍然是一个Measue. Bin就是将Measure根据它值的大小,划分不同的区间,然后赋予一个Dimension,它的目的同样是为了分组。 Bin还有一个特点,就是Bin会包含数据里所有的值,不会出现漏掉的情况。比如年龄段的Bin,所有可能的年龄都会包含在各个Bin当中

在考点2.3.4 当中 Tableau明确提出了考察Use Bins and Histograms 所以这一课当中,我先给出Bin的概念。

在Dimension的基础上创建新的Dimension:Group的概念

有的时候我们可以在已经存在的Dimension基础上创建新的Dimension,换句话说,在已经分类的基础上再进一步分类。 而这个分类是对原始数据的再加工。假设我们想要根据美国的State划分成东海岸,西海岸,中部等等,我们就要给每个State赋予一个Group,这个group基于用户自己的定义,而并不来源于数据。

考点2.2.1 Create Groups by using marks, headers, and the data pane指的就是这个Group

Tableau当中Dimension和Measure的显示

现在让我们回到Tableau当中的Sample - Super Store Dataset.

在Tableau当中的每一个table下边,Tableau都会在Dimension和Measure中间画一条分割线,这条分割线上的上边就是所有Dimension而分割线下边就是所有的Measure. 每个Table都是如此。当你将一个column从Dimension转换成Measure,或者从Measure转换成Dimension的时候,column的位置就会发生相应的改变。

如果你再仔细观察,你会发现每个column前边有不同的小图标,这个小图标的就对应的是这个column的数据格式。

除此之外,每个小图标还有蓝色和绿色之分,这个颜色对应的是Discrete and Continuous. 我会在下一课当中来区分这两者之间的区别。