美文网首页
低调的Distance函数

低调的Distance函数

作者: 扫地sir | 来源:发表于2019-11-12 17:12 被阅读0次

    Distance是2019.3新增的空间函数,相比起MakeLine,MakePoint略显低调了,官网也是一笔带过,并没有操作的实例。

    官网地址:https://help.tableau.com/current/pro/desktop/zh-cn/functions_functions_spatial.htm

    以前写过一篇文章《在Tableau地图中根据距离筛选地址》里面介绍了利用参数和球面余弦定律计算距离的文章,个人感觉还是很麻烦的,现在如果利用Distance函数就显得简单多了。

    举个例子,我们还是用上一篇文章的美国城市的数据

    百度网盘地址:https://pan.baidu.com/s/1d8Gr-equC3BH92uljwmbGQ

    随便挑几个城市做成如下的数据结构

    新建一个distance计算字段

    distance=DISTANCE(MAKEPOINT([Start Latitude],[Start Longitude]),MAKEPOINT([End Latitude],[End Longitude]),'km')

    需要配合MakePoint函数,'km'代表公里,如需要其他距离单位,可以参考官网介绍

    只需要简单的拖拽,就可以计算两个城市间的距离了,可以说非常的方便

    在可视化方面,Distance函数确实是没有MakeLine那样炫酷,不过我们也可以尝试模拟一下《在Tableau地图中根据距离筛选地址》里的效果

    • 右键Latitude字段,选择创建参数,自动创建一个Latitude 参数

    • 右键Longitude字段,选择创建参数,自动创建一个Longitude 参数

    创建计算字段

    • distance=DISTANCE(MAKEPOINT([Latitude 参数],[Longitude 参数]),MAKEPOINT([Latitude],[Longitude]),'km')

    配合参数动作,计算选择的点与其他点之间的距离

    • color=IIF([distance]<=500,TRUE,NULL)

    判断距离的大小,也可以做一个参数来自由控制

    • 将Latitude拖到行功能区,右键选择维度,将Longitude拖到列功能区,右键选择维度(一定要选择维度)

    • 把color拖到标记栏的“颜色”标签

    • 选择“编辑参数动作”,按照下图制作lat和long两个参数动作

    如果操作正确,点击任意一个点,就会出现如下的效果,模拟成功。

    我们也可以用Toan Hoang大神的方法,右键distance建立一个数据桶,拖到颜色上,效果也是很炫的。

    Toan Hoang网站:https://tableaumagic.com/tableau-2019-3-distance-function/

    另外要说的是,在实验过程中,有时候明明是选了某个点(测试了一下,参数动作确实取到了坐标点),但就是算不出距离,所以不知道是这个函数不稳定,还是有其他原因。

    此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下

    相关文章

      网友评论

          本文标题:低调的Distance函数

          本文链接:https://www.haomeiwen.com/subject/rdhqictx.html