本文作者:Alan Eldridge
自从我使用 Snowflake 以来,我一直使用纽约 Citibike 项目的数据集作为我的演示数据。它里面大约有 6 千万条的自行车行程记录,包含了起始和终止车站的纬度/经度数据,我一直使用下图的仪表板来进行可视化,将起始位置和结束位置放在了不同的地图中:
但我真正想做的是:制作一张能让我选择一个起始点并显示乘客去向的地图。像下图这样:
有了最新的 Tableau 2019.2 beta 版,我做到了。它在我的 Snowflake 演示数据库上运行,我使用了以下计算来创建行:
这个新功能如此有用的原因是:它能让起始和结束位置数据保存在同一记录中。在早期版本的 Tableau 中,我不得不使用数据透视功能将记录拆分为两个,让我可以使用线标记和路径。但这会对性能产生影响,因为这将使得需要读取和处理的数据量增加一倍。
所以 MakeLine()给了我起
点和终点之间的线,如下所示:
我还想要制作起始位置的点图(这样我可以选择它们),如下所示:
如您所见,我将这两个地图都设置为无背景颜色,它向我展示了分层地图和
透明工作表
的技巧。这里的秘诀就是将工作表的背景颜色设置为“无”:
一旦我这样做之后,我就可以使用浮动布局将它们分层:
为了保证它们对齐,我使用了地图的搜索/缩放功能将每个地图窗口设置为相同的区域:
现在我需要让两张地图一起工作,我设置了从点图到线图的筛选操作来只显示所选起始站的路线:
我还需要一个筛选器来控制右上角的 Number of Trips(行程数量) - 这需要一个单独的筛选器,因为这里的逻辑与上面的相反。即当我清除选择时,我希望显示所有行程:
这给了我三个元素(点,线,行程计数)之间的交互动作,但新的问题是点图层模使得线图层变得模糊了(因为它位于顶部):
我们需要隐藏未选择的点,此时“使用隐形形状
来隐藏标记”
这个小技巧开始发挥作用。我们定义一个用于保存所选标记的集合,我们将使用该集合来控制标记形状 - 使用一个填充圆圈用于 IN,一个不可见的 10 x 10p x PNGcustom 形状用于 OUT:
然后,我们使用一个集操作设置集值更新为选择:
结果将是:选定的点显示为圆圈,而未选择的点消失,这使我们可以看到不间断的线条。我们通过清除选择来重新获得所有起始点:
最后一个步骤是我们需要空间背景的基本地图。我最初在线图中放置了这个地图,但问题是当没有路线显示时这个地图就会消失 - 即没有选择起始点的情况下。
为了解决这个问题,我简单地添加了第三张地图,其中包含一个可见的基本地图,但有一个不可见的标记。这意味着这张地图将在上层的所有状态中可见。
最后我们得到了一张包含起始点和路线的地图,并会根据选择动态更新。整个 Viz 制作的关键要素整理如下:
1、利用 MakeLine()在起始站和终止站之间创建线标记,即使底层数据库中没有空间数据元素 - 只是原始的 lat / lon 字段。
此外,我们不需要数据透视功能
创建开始和结束记录;
2、透明工作表允许我将地图分层放置在一起;
3、使用隐形自定义形状的这个小技巧;
4、设置集操作以控制起始点的可见性。
复制链接至浏览器,即可免费试用 Tableau 最新版本。
https://www.tableau.com/zh-cn/products/desktop/download?
utm_campaign=Prospecting-GART-ALL-ALL-ALL-ALL&utm_medium=Social&utmsource=WeChat+&utm_campaign_id=2019168&utm_language=CN&utm_country=GrCHINA-CN
如果小伙伴们对于
Tableau 产品有其他问题或需求,欢迎给我们留言~~
Tableau 中国官方微信定期为您推送最新行业趋势、热点资讯、精彩活动等信息。立即订阅,官方信息一手掌控,更多精彩,更多新鲜,敬请期待!