1

我是 Tableau 新手,遇到性能问题,需要一些帮助。我有一个连接几个大表的查询。我正在使用与 MySQL 数据库的实时数据连接。

我遇到的问题是它在向 MySQL 询问数据之前没有应用过滤条件。所以它本质上是从我的查询中执行 SELECT * 而不是将过滤条件应用于 where 子句。它将所有数据从 MySQL db 拉回 Tableau,然后根据我的筛选条件丢弃不需要的数据。我的两个主要过滤条件是 account_id 和日期范围。

我可以通过从我的帐户表中进行选择以填充过滤器列表来干净地获取帐户列表,然后需要知道如何在从 MySQL 的主数据查询中提取数据时应用该选择。

4

4 回答 4

4

要首先在数据源上应用过滤器,请尝试使用上下文过滤器

使用提取也可以提高性能。

于 2013-10-04T07:58:55.110 回答
0

我会亲自使用提取,进入您的 MySQL 数据库后端,运行查询和CREATE TABLE extract1 AS语句,或者您想要调用数据表的任何内容。

当您将此表导入 Tableau 时,它已经在工作簿中包含您的聚合数据的 SELECT *。从这里您的查询效率将提高十倍。

不幸的是,Tableau 处理时间 + mySQL 后端数据库查询时间 = Ntime 需要一段时间来处理您的数据。

试试提取物...

于 2014-02-18T21:22:42.160 回答
0

我一直在为同样的事情而苦苦挣扎。我发现 tableau 提取并不比直接从 SQL 表中提取快。我所做的是在 SQL 创建的表中已经包含过滤数据,因此 Select * 将只有所需的数据。这样做的缺点是它在服务器上占用了更多空间,但这对我来说不是问题。

于 2014-09-12T15:18:36.263 回答
0

对于大型数据集,Tableau 建议使用数据提取。提取将创建您连接的数据的快照,并且处理此数据将比实时连接更快。

每次访问仪表板时,所有图表和可视化都将更快地加载并节省您的时间。

对于您用于过滤数据集的过滤器,在数据提取连接中工作得更快。但要获取最新数据,您必须在服务器中刷新数据提取或计划刷新(如果您正在将报告上传到服务器)。

Tableau 中有多种类型的过滤器可用,其使用取决于您的应用程序,上下文过滤器和全局过滤器可用于过滤整个数据集。

于 2018-05-24T07:28:52.143 回答