考点2.1.4 Create a map using geographic data
地图的特殊性
在讲怎么做地图之前, 我想先讲讲地图的特殊性. 在所有的图表类型当中, 我喜欢折腾地图, 地图也是有时候一个dashboard中最吸引人的地方. 其中有几个原因.
第一个就是基于地理位置的数据一般来讲, 人是很难直接理解的. 设想一下, 一个数据集当中有一百个客户的地址, 你说你看完之后去想象它们之间的位置关系你是想不出来的. Excel里的数据你还可以自己做做汇总, 但是到了地图这块,用地图来可视化就是唯一的解决方案.
地图的地域性
不同的国家对于地图数据, 地图的分析和理解是完全不一样的. 在国外, post code邮政编码是一种重要的区域划分. 对于政治相关的数据, 选区就是非常重要的区域划分. 如果是人口普查,可能还有一种划分方法. 你所要处理的地图数据有时候跟你所在的国家有非常大的关联.所以除了知道常规的中国的那种省市区县的行政区域划分方法之外, 准备在海外就业的人员需要下功夫了解你所在的行业和国家的一些地理区域划分方法. 我会在高级课程当中专门开一章来讲这些知识.
地图的复杂性
在Tableau中, 地图可以变得极其复杂. 地图的文件可能会变的特别大.当前你对地图的初始印象可能仅仅是在一个地图底座上边,标出一些点就完了. 但是真实的分析往往比你想象的要复杂的多.
举个例子, 以你家为中心, 开车三十分钟能够到达的区域长什么样你想过吗. 通过地图展示人流量, 通过颜色来标注出人流量的多少等等. 说了这些主要想强调地图的上限和下限都很高, 作为初学者,目前你处理的还都是比较简单的问题.
地图就是个大Pizza
在Tableau中制作地图的过程就有点像做一个大Pizza. 整个Pizza的底就是Tableau内置的原生地图. 你在这个基底的基础上再撒上你自己的数据, 也就是馅料, 就做成了一个地图. 这个Pizza的基底你也是可以选的. 有人喜欢吃薄的,有人喜欢吃厚的. 对应在地图上就是有人喜欢浅色的地图, 有人喜欢深色的地图. 其实烤Pizza这一步并不难, 难的是准备馅料. 为了降低难度, Tableau这个厨师在它的出厂数据集Sample-Superstore中完成了很多'预制'步骤或者说它帮你做了很多步, 让你觉得烤这盘'Pizza' 感觉很容易. 但是请注意如果是你自己拿到这盘原材料, 可是没有人帮你提前处理的, 因此你要特别注意. 不要被一些课程所迷惑.
如果我使用Sample Superstore为例, 你会觉得创建一个地图太容易了, 因为…你只需要一个双击
在上边的动图里, 我只是双击了一下postal code, 这整个地图就出现了. 我把sales拖拽到label上, 那个地方的销售额就出现了, 我把sales移动到color上, 地图就按照销售额的大小来显示颜色了. 是不是不要too easy
在你感叹Too Easy之前, 你需要知道Tableau帮你干了哪些苦活
在你找到Postal Code这一列的时候, 并且准备双击的时候. 你有没有思考过两个问题?
第一: 为什么Postal Code前边的图标是个地球?
第二: 为什么Postal Code排在Country/Region, Region, State/Province, City的后边
你需要了解的幕后工作
在现实世界里, 192.168.1.1, 1381234567, (39.916668, 116.3833311) 这些数字对Tableau来讲都没有意义. 只有你自己知道第一个是ip地址, 第二个是个手机号, 第三个是一个地理坐标. Tableau它什么都不知道. 记住Tableau它什么都不知道.
如果你不告诉它, 它只会把192.168.1.1当做是一串文字,仅此而已. 邮政编码也是一样, 你需要手把手告诉Tableau, 这个叫做Postal Code的列所代表的是邮政编码. 在sample superstore里, Tableau的开发者帮你提前帮你把这步做好了.它不仅帮你设置好了postal code, 国家, 州,城市,邮政编码都提前帮你设置好了.
但是, 真正的问题是你还不知道这一步已经有人帮你做了.
如果你以为这就完事了, 那么我接下来问你另一个问题, 邮政编码比如1234, 它是哪的邮政编码, 这个世界上有这么多国家, 有没有可能一个国家跟另一个国家都用一个相同的邮政编码, 或者说可能就是你的数据集里有多个国家, 然后多个国家的多个邮政编码就都混在一起了.
到这了你就会发现你不单要告诉Tableau, postal code这一列是邮政编码, 你还要告诉Tableau, 这个邮政编码是哪个国家, 哪个state, 哪个city的postal code Tableau才能对上号, 把它们正确的画在地图上.
稍微总结一下. 在你双击点这一下之前, 在Sample Superstore里开发者帮你做了两件事: 第一是告诉Tableau, 这一列对应的是城市, 这一列对应的是州等等. 第二件事就是告诉Tableau, 这个postal code对应的是这个城市, 这个省, 这个国家的邮政编码等等
要是没人提前给你做这些工作, 你该怎么办?
如果你真正拿自己的数据导入Tableau中, 你看到的情况就是左边这个截图里的情况. City是String. Postal Code也是String. 全都是string.
你这时候再双击Postal Code 你试试, 它能出地图来我把电脑吃了. 所以学东西还是要从根上学, 别老天天五分钟教你掌握Tableau地图, 十分钟玩转Tableau的. 太der了
设置Geographic Role
认真看下边的这个动图, 我给所有有地理位置属性的字段都添加了另一层属性, 这层属性叫做Geographic Role. 在Geographic Role中, 从国家,到地区, 到邮政编码, 你只要选择对应你的数据的选项. 这一步就算是设置好了.
设置好了的标志就是, 这个字段前边有个小地球图标, Tableau表示我知道了, 这是个地址
Geographical Role设置完之后, 在动图里, 我双击了Postal Code. 跟之前一样, 地图又再次出现了. 但是我想说的不是这个. 在这个地图的右下角出现了小的角标, 写着23 unknown.
如果我们点击这个角标, 在屏幕里出现红色的unrecognized, 也就是未识别. 这一点就涉及到了第二步的必要性, 你不单纯要告诉Tableau, Postal Code对应的是邮政编码, 你还要把它排在国家,城市之后, 告诉Tableau数据里是这些国家和城市的邮政编码. 否则就会出现动图里这种未识别的情况
创建 Hierarchy
我在Data Grouping那章专门写了一课讲Hierarchy因此在这里我将专注于讲如何操作. 用鼠标左键把city移动到Country头上, 就会出现一个选项叫Create Hierarchy. 然后再把Postal Code拖拽到这个City的下边. 这个Hierarchy就创建好了.
在我创建好之后, 双击Postal Code. 虽然还是同样的地图, 但是地图的右下角已经不再出现23 Unknown. 这代表着之前没有识别的Postal Code已经成功识别到
这一课就讲到这里, 下一课我讲专门讲一下烙Pizza这张大饼的底和上边的馅料