物流距离可视化

近年来,随着买方市场的形成,企业对物流领域中存在的第三利润源开始有了深刻的认识,优化企业内部物流管理,降低物流成本成为目前多数国内企业最为强烈的愿望和要求。这说明,我国物流活动的发展水平还比较低,加强企业内部物流管理活动仍然是全社会物流活动的重点。

那Tableau又能为物流分析带来什么样的可视化展现呢,下面小编就带大家做一个物流距离可视化展现的demo.当我们点击一个城市的时候,可以用图形化的方式展示其他城市与该城市的距离,甚至可以通过距离去筛选城市,以便我们可以快速了解物流成本大小。

———–视频demo————–

数据源:US CitisUS Citis (点击下载 )

物流1

上图是数据源样式,一共有5个维度,其中经度和维度是指City的经纬度。

思路:我们要计算地图上两个城市之间的距离,那么我们需要知道两个城市的经纬度,现在在我们的原始数据中,我们已经知道了其中一个城市的经纬度,那么我们现在要计算第二个城市的经纬度,以便计算两个城市之间的距离。

我们是希望选择其中一个城市的时候,tableau会自动计算该城市与其他所有城市的距离,那么我们第二个城市的经纬度就是会变动的,那么在计算坐标的时候,就要用到一个城市参数。

在本例中,会涉及一些数学知识,如弧度、球面余弦定理等,如果小伙伴希望更深入理解,可以边学习本例边百度数学知识哦-

操作步骤:

创建参数:

1 创建弧度参数k

物流2

2.创建参数Relative City,该参数将显示为参数控件以作筛选。

物流3

3.创建半径参数Earth_radius

物流4

创建计算字段

1. 创建第一个计算字段,命名为Latitude 0,计算内容为

WINDOW_AVG(ATTR(if [CityStateAbbr]=[Relative City] then [Latitude] end))

物流5

2. 创建第二个计算字段 Longitude 0,内容为 WINDOW_AVG(ATTR(if [CityStateAbbr]=[Relative City] then [Longitude] end))

物流6

3. 创建计算字段distance,内容为

[Earth_radius] * acos ( cos( [k]*avg([Latitude]) ) * cos ( [k]*avg([Longitude]) ) * cos ( [k]*[Latitude 0] ) * cos ( [k]*[Longitude 0] ) + cos( [k]*avg([Latitude]) ) * sin ( [k]*avg([Longitude]) ) * cos ( [k]*[Latitude 0] ) * sin ( [k]*[Longitude 0] ) + sin( [k]*avg([Latitude]) ) * sin ( [k]*[Latitude 0] ) )

该公式涉及到球面余弦定理,如果小伙伴感兴趣,这样一个公式是计算

创建视图

1.将latitude/longitude拖放在行与列上面。

将distance置于颜色上面,把CityStateAbbr/Latitude 0/Longitude 0置于标记选项卡上。

请注意,该处需修改distance的表计算,具体设置如下图。

物流7

2.将参数Relative City显示参数控件。将distance设置为筛选器。大功告成。现在你就可以通过选择不同城市迅速查看该城市与其他城市的距离情况。

物流8