使用Tableau中的参数进行动态查询

时间:2017-06-26 09:23:39

标签: sql postgresql tableau bigdata

我正在尝试利用tableau创建一个Web仪表板,与具有相当数量行的postgres数据库进行交互。

这里的关键是相关数据在纬度/经度边界内,所以我在自定义SQL语句中使用tableau参数来获得我需要的东西,如此

SELECT id, lat, lng... FROM my_table
WHERE lat >= <Parameters.MIN_LAT> AND lat <= <Parameters.MAX_LAT>
AND lng >= <Parameters.MIN_LNG> AND lng <= <Parameters.MAX_LNG>
LIMIT 10000

我正在使用基于Google地图窗口小部件边界的Tableau JavaScript API设置这些参数。移动地图后,我将刷新参数,数据也需要更新。这种刷新不是经常进行的,而是足够频繁,不能接受长等待时间。

因为lat / lng边界是动态的,并且完整的未过滤表非常大(~1GB),我认为创建数据提取是不切实际的。我错了吗?

此外,当我更改我正在应用的一些in-Tableau过滤器时,即使MIN_LAT,MAX_LAT,..参数未通过,也会等待很长时间,就像它每次都重新执行查询一样。改变。

解决这个问题的最佳方法是什么?我是Tableau的新手,很抱歉,如果我错过了一些非常明显的东西!

感谢。

1 个答案:

答案 0 :(得分:0)

解决此问题的最佳方法是使用较少的信息进行查询(1GB太多,摘录可以帮助将数据分组以非常快速地呈现维度,但是&#39它是......如果没有任何东西可以分组,那将是非常宽容的,这允许深入研究以提供有关子后续步骤或仪表板级别的更多信息。 我正在考虑数据库的一个字段,它可以告诉显示信息的缩放级别。 如果你在谷歌地图上导航...首先你找到了国家,然后是首都城市,然后是城市,然后是小城镇,然后是当地的商店......

按键位于您每次的缩放级别。

You may visit Tableau about Drill downs.