【发布时间】:2017-11-29 02:33:33
【问题描述】:
我正在尝试利用 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),我认为创建数据提取是不切实际的。我错了吗?
此外,当我更改一些我正在应用的 Tableau 内筛选器时,会等待很长时间,就好像它每次都在重新执行查询一样,即使 MIN_LAT、MAX_LAT、.. 参数不是改变了。
解决此问题的最佳方法是什么?我是 Tableau 新手,如果我遗漏了一些非常明显的东西,非常抱歉!
谢谢。
【问题讨论】:
-
我先试一试,这将提高您在 Tableau Desktop 上的性能并帮助您解决过滤器延迟问题。如果您不使用数据提取,则查询将在每次交互时运行。
-
您不需要为此自定义 SQL。常规过滤器可以正常工作,并且可以更好地让 Tableau 生成高效的 SQL
标签: sql postgresql tableau-api bigdata