我是Tableau的新手,有性能问题,需要一些帮助。我有一个连接多个大表的查询。我正在使用到MySQL数据库的实时数据连接。
我遇到的问题是,在向MySQL请求数据之前,它没有应用过滤条件。因此,它实质上是执行SELECT * from my query,而不是将筛选条件应用于where子句。它将所有数据从MySQL数据库拉回Tableau,然后根据我的过滤条件丢弃不需要的数据。我的两个主要过滤条件是account_id和一个日期范围。
只需从my account表中执行select来填充筛选器列表,我就可以干净利落地获得帐户列表,然后需要知道在从MySQL的主数据查询中提取数据时如何应用该选择。
发布于 2013-10-04 15:58:55
若要首先在数据源上应用筛选器,请尝试使用context filters。
还可以通过使用extracts来提高性能。
发布于 2014-02-19 05:22:42
我个人会使用一个提取语句,进入您的MySQL DB后端,运行查询和一条CREATE TABLE extract1 AS语句,或者您想将您的数据表称为什么。
将此表导入Tableau时,工作簿中已有您的聚合数据的SELECT *。从这里开始,您的查询效率将提高十倍。
不幸的是,Tableau处理时间+ mySQL后端数据库查询时间= Ntime需要一段时间来处理您的数据。
试试这些提取物..。
发布于 2014-09-12 23:18:36
我也一直在为同样的事情而挣扎。我发现tableau提取并不比直接从SQL表提取更快。我所做的是在SQL创建的表中,这些表中已经包含已过滤的数据,因此Select *将只包含所需的数据。这样做的缺点是它占用了服务器上更多的空间,但这对我来说不是问题。
https://stackoverflow.com/questions/19163899
复制相似问题