【问题标题】:How to refresh the extracted datasource automatically in Tableau Desktop at specific intervals如何以特定时间间隔在 Tableau Desktop 中自动刷新提取的数据源
【发布时间】:2016-06-02 06:21:46
【问题描述】:

我正在使用 Tableau Desktop 8.0 通过从 MySQL 数据库中提取数据来创建可视化文件(.twbx 文件)。但是这个数据库每周更新一次。也就是说,在每周的开始,数据库中的数据都会发生变化。 那么我是否可以安排在特定时间间隔(即在我的情况下每周)自动刷新提取的数据源的任务,以便在每周开始时根据数据库中的新更新刷新数据源报告应相应反映结果。这可以通过 Tableau Desktop 自动安排吗? 我知道它可以在 Tableau Server 上轻松完成这一事实。但是我买不起服务器,所以如果 Tableau Desktop 版本也可以的话,我想得到答案。

【问题讨论】:

  • Tableau 8 有一个 API,可让您创建 TDE 文件。您也许可以使用它。这是documentation的链接。

标签: tableau-api


【解决方案1】:

有完全相同的问题,只是我必须每小时更新一次我的数据库:)

最终解决方案适用于 Tableau Server。虽然我没有它,但我没有找到任何“合理”的解决方案。提取数据 API 可用于(付出很多努力)更新(替换).tde 文件,但您将无法自动生成 .twbx(这可能是您想要做的。这就是我需要的至少)。

所以我去了一个非优雅的解决方案,使用win32 api制作了一个脚本来给出键盘命令。基本上我打开 .twb 文件(如果还没有打开),把它放在前面,给出一个 alt + d + x 命令(刷新所有提取),按回车,等待一段时间(以秒为单位,不知道如何发现过程是否完成),再次按回车键,alt + f + k(导出打包的工作簿),一些 shift+tabs 进入文件夹提示,输入路径,几个选项卡进入名称提示,输入名称,再次输入,瞧

这不仅是一个不优雅的解决方案,而且也是一个非常不稳定的解决方案。我在虚拟机上运行 Tableau Desktop,并且我的脚本只有在我实际登录到该计算机时才能工作(否则它不会运行键盘命令)。如果您在实际机器上安装了 Tableau,那么您需要确保在运行脚本时没有任何东西会弄乱您的脚本。

不是很好的解决方案,但我有最好的解决方案:(

【讨论】:

    【解决方案2】:

    一种方法是使用 Python 和 Tableau 数据提取 API 更新打包工作簿 (.twbx) 的数据提取。如果您不熟悉 Python,那么值得研究一下,它是一种非常直观的编程语言,具有强大的库,可用于从 csv、excel、MySQL、SQLite、API 等加载数据。它是一种用于 Web 应用程序、数据的很棒的语言分析、办公自动化等。

    使用 Tableau Desktop,您可以访问 Python 中的 Tableau 数据提取 API。除了 Data Extract API 之外,其中的一个技巧是打包的工作簿实际上是一种不同类型的 zip 文件。因此,一般步骤是:解压缩打包的工作簿 > 加载新数据 > 使用 API 创建新的数据提取 > 替换提取 > 压缩备份为新的打包工作簿。下面是带有完整代码的要点的链接。创建 python 文件后,您可以安排它的执行。但是,是的,Server 是安排自动刷新的最佳解决方案,还有其他一些很棒的功能,尽管我知道在小范围内很难证明这一点。

    Link to code!

    【讨论】:

      猜你喜欢
      • 2019-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 2022-01-11
      相关资源
      最近更新 更多