【问题标题】:Is there a way to get to the stored queries for reports and graphs in Tableau?有没有办法在 Tableau 中访问存储的报表和图表查询?
【发布时间】:2024-05-21 06:45:02
【问题描述】:

我们使用的是 Tableau 10.5.6。几年前,我使用了一个名为 Oracle Sales Analyzer 的报告工具。在该工具中,您可以使用命令行访问通过后端目录创建的报告和图表生成的查询。

如果需要,您可以通过微调代码来重写查询以提高效率。对于像我这样喜欢深入产品后端并在非常低的水平上对其进行调整的极客来说,这是该报告工具的一个非常酷的功能。

我的问题是,Tableau 是否有任何此类设施?创建报告或图表后,有没有办法获取存储的查询。如果存在这些目录,是否还有命令行可以访问它们?否则这些查询只是存储在用户可以访问的 ASCII 平面文件中。

谢谢!

【问题讨论】:

    标签: tableau-api catalog


    【解决方案1】:

    Tableau 可以通过两种方式查询数据库。

    选项 1:自定义 SQL

    在您的数据源中,粘贴您编写的 sql,Tableau 会将查询传递到数据库。这使您可以完全控制 sql,包括添加您可能需要的任何索引提示。见https://onlinehelp.tableau.com/current/pro/desktop/en-us/customsql.html

    选项 2:使用 Tableau 数据源设计器

    这是很多人的做法。在这里,您可以使用连接直观地设计数据源。 Tableau 将该设计转化为 Hyper 引擎认为最有效的查询运行方式。有时,Hyper 会将其转换为常规的 sql 语句。有时它会做一些额外的事情来帮助提高性能,比如将其分解为不同的查询。很大程度上取决于您要连接的数据库引擎。没有为此存储在平面文件中的“sql”。 Tableau 只是在运行时翻译您的设计。 Hyper 引擎在微调方面做得很好,假设您有一个高效的数据库设计,具有适当的索引和当前表统计信息。

    有一种方法可以使用Performance Recording在运行时查看选项 2 中的 sql。性能记录会跟踪可视化过程的每个步骤,并将吐出 Tableau 运行以生成数据集的 sql 语句。 sql 没有存储在 twb 文件中,它是一个运行时分析。

    【讨论】: