考点 2.3.1 Add a manual or a computed sort
你真的理解顺序吗?
排序是几乎所有图表完成前一个必备的设置步骤. 对于表格Text Table还有柱状图来讲, 顺序是最重要的. 从常识来讲我们大家都知道顺序无非是从小到大,从大到小么. 但是到了Tableau里边, 你会发现你经常会犯迷糊, 或者怎么也没法把这个排序设置对. 所以在最开始的时候, 我们需要去讲解一些基本概念.
由于顺序是数据的顺序, 那么不同的数据类型, 有可能这个顺序的含义的就不同. 我们先从简单的开始
如果是数字的话: 负数最小, 正数最大. Ascending代表从小到大, Descending代表从大到小.
如果是日期的话: 那就是越往后的日期越大, 越往前的日期越小. 我在日期那一节课讲过, 日期的背后其实是一个数字, 这个数字就是日期与1900年1月1日这个启示日期的差值.
如果是文字的话: 首字母A代表小, Z代表大, Ascending代表从A到Z, Descending代表从Z到A.
如果是以文本保存的数字? 这些数字同样会按照字典顺序排列, 而非数字大小排列. 那什么是字典顺序? 在字典里, 只要第一个字母是A, 那么这个单词就一定排在第一个字母是B的单词前边,不管A后边是什么字母, 有多少个个字母.
从小到大就意味着: Axxx<Bxxx<Cxxx 而从大到小就是反过来的 Zxxx>Yxxx>Cxxx>Bxxx>Axxx
现在我们把这个规律运用到数字上, 如果数字1对应的是A, 2对应B的话, 然后我们假设员工ID 从1 开始.那么1<10<11<111<2<21.
这里就需要注意, 所有首字母, 在这里我应该叫首数字如果是1的话, 那么它会排在所有首数字是2的前边.11111号员工会排在2号员工的前边.
很多初学者就是卡在这里, 不明白为什么明明是数字, 但是确不按数字的大小排列.
排序的三要素, 主体+依据+顺序
☝️上边的这个问题是我在与很多人交谈之后发现需要讲解的一个点. 那就是排序必须满足三个要素, 如果这三个要素不明确, 你是不能操作的.
可能读到这你肯定会冒出一脸问号 这都是啥, 我先给你举一个例子.
左侧的截图里边, 是我们已经创建过的一个最基本的表格, 第一列是Customer Name, 后边是Profit, Quantity, Sales. 如果我这时候问你一个问题, 你能在这个截图里, 只保留Top 10 Customers吗?
相信我, 你会在你的职业生涯中至少碰到一次这种问题.
那么请问面对这个问题 你将如何应对?
上边的这个问题完美的诠释了对于排序来讲, 如果需求当中没有全部给出这三个元素的全部要求的话, 排序是做不了的.
根据上边的问题, 我们首先可以确定的就是要排序的主体或者说排序的对象是Customer Name. 我想这个大家都没有异议. 真正有问题的地方在于保留Top 10 Customer没有依据和顺序. 那么什么是依据
在我们的截图当中, 我们一共有四个column, 但是更重要的是: 这四个Column都可以成为给Customer Name排序的依据!
如果依据是Customer Name, 那么排序的结果就是我们前边提到的字典顺序
如果依据是Profit/Quantity/Sales, 那么最后Customer Name的顺序就是以它们的数值大小来排序.
最后一点顺序就比较单单了, 你是从大到小的Top 10还是从小到大的Top 10.
到这我来总结一下, 给什么排=排序的主体, 按照什么排=排序的依据, 从大到小还是从小到大=排序的顺序.
如果你能理解了这三个要素, 那么不管都复杂的问题, 你都可以拆解成这个三个要素.
排序主体的唯一性
在讲完了上边的这三要素之后, 这个就很好理解了, 在我们所展示的图表当中, 无论你用什么作为依据, 这个顺序有且只有一种, 如果要同时显示Top 10 Customers by Sales 和 Top 10 Customers by Quantity, 你必须创建两个不同的图表, 一个图表是不可能做到的.
如何添加排序
假设我们要给Region按照Total Sales 从大到小排序, 那么下边四张截图就是我们所需要的设置.
右键点击Region, 就会出现第一张截图中的菜单, 在第二个截图当中, Tableau提供了五个选项: Data Source Order, Alphabetic, Field, Manual, Nested
Data Source order是原始数据当中的顺序, 第二个Alphabetic, 就是根据Region本身的字母顺序排序, 第四个Manual就是手动的调整,注意是手动调整Region的值
第三个选项Field是最重要也是最常用的. 在这里, 你将可以选择用哪一个Field来作为排序的依据.
第五个选项Nested. 我将在下一部分专门讲这种排序类型.
Nested Sort 嵌套排序
如果想要解释嵌套排序, 首先得解释什么是嵌套以及嵌套到底影响的是排序三个要素当中的哪个要素.
嵌套排序首先影响的是主体, 也就是说我们现在将的是嵌套的主体的排序问题.
那什么是嵌套. 嵌套的英文是Nested. Nest这个词是巢穴的意思, 雀巢就是这个Nest. Nested我一般就理解为在巢穴里边的 一个主体套一个主体.
我来举一个例子. 假设我们现在要对Category按照Total Sales从大到小进行排序. 那么这个顺序在Tableau当中就是Office Supplies < Furniture < Technology
现在我在Category前边添加一个Dimension: Region
现在我们来思考这个问题. 如果我们此刻提出给Category按照Total Sales排序, 就有一个绕不开的问题, 考不考虑Region?
可能全国的Category的顺序是上边的那个截图里的结果, 但是到了这就不一样了. 我们的主体被更上一级的Dimension分割了.
Category就在巢里的那个Nested的主体.
如果我们选择Nested Sort. 那Category就将被上一级的Region进行分割, 主体就从Category变成了每个Region下边的Category. 以左侧为例,
每一个Region内部的Category都将被单独排序, 在Central里Technology排第一个, 但是到了West, Furniture排第一个, 每一个都不一样.
如果我们不选择Nested Sort选项, 而是选择跟之前一样的Sort by Field, 那么就会出现左边👈截图的这种情况.
Category将不会考虑Region也就是外边这个巢的影响, 单独排序.
在截图里我们可以看到, 所有Region里的Category顺序都是一样的. 这个Category就是单独给Category排序时候的顺序
嵌套排序你不要试图去记住它的中文名字, 你只要记住Nest是巢, Nested Sort只会给巢穴内部的那个部分排序, 然后一个巢穴一个顺序就行了.
Manual Sort 手动排序
手动排序是最简单的排序, 你直接一个一个的确定每个值之间的顺序. 然后保存下来.