近年来,随着买方市场的形成,企业对物流领域中存在的第三利润源开始有了深刻的认识,优化企业内部物流管理,降低物流成本成为目前多数国内企业最为强烈的愿望和要求。这说明,我国物流活动的发展水平还比较低,加强企业内部物流管理活动仍然是全社会物流活动的重点。 那Tableau又能为物流分析带来什么样的可视化展现呢,下面小编就带大家做一个物流距离可视化展现的demo. 当我们点击一个城市的时候,可以用图形化的方式展示其他城市与该城市的距离,甚至可以通过距离去筛选城市,以便我们可以快速了解物流成本大小。 上图是数据源样式,一共有5个维度,其中经度和维度是指City的经纬度。 要计算地图上两个城市之间的距离,需要知道两个城市的经纬度,在原始数据中,我们已经知道了其中一个城市的经纬度,现在要计算第二个城市的经纬度,以便计算两个城市之间的距离。 我们是希望选择其中一个城市的时候,tableau会自动计算该城市与其他所有城市的距离,第二个城市的经纬度是会变动的,那么在计算坐标的时候,就要用到一个城市参数。 PS:本例会涉及一些数学知识,如弧度、球面余弦定理等,如小伙伴有兴趣,可以补充些相关知识点。 1 创建弧度参数K 2 创建参数Relative City 该参数将显示为参数控件以作筛选 3 创建半径参数Earth_radius 创建第一个计算字段,命名为Latitude 0,计算内容为 WINDOW_AVG(ATTR(if [CityStateAbbr]=[Relative City] then [Latitude] end)) 创建第二个计算字段 Longitude 0,内容为 WINDOW_AVG(ATTR(if [CityStateAbbr]=[Relative City] then [Longitude] end)) 创建计算字段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] ) ) 将latitude/longitude拖放在行与列上面,将distance置于颜色上面,把CityStateAbbr/Latitude 0/Longitude 0置于标记选项卡上。 请注意,该处需修改distance的表计算,具体设置如下图。 将参数Relative City显示参数控件。将distance设置为筛选器。 大功告成。现在你就可以通过选择不同城市迅速查看该城市与其他城市的距离情况。 |
|