我正在使用Tableau Desktop 8.0通过从MySQL数据库中提取数据来创建可视化(.twbx文件)。但是这个数据库每周更新一次。也就是说,在每周开始时,数据库中的数据都会发生变化。因此,我是否有可能安排一个任务,在特定的时间间隔自动刷新提取的数据源(即,在我的情况下是每周),以便在每周开始时,数据源应该根据数据库中的新更新进行刷新,并且报告应该相应地反映结果。这可以通过Tableau Desktop自动安排吗?我知道在Tableau Server上很容易做到这一点。但我买不起一台服务器,所以如果Tableau Desktop版也能做到这一点,我想得到一个答案。
发布于 2015-01-06 21:04:03
有完全相同的问题,只是我必须每小时更新我的数据库:)
最终的解决方案是Tableau Server。虽然我没有,但我没有为这个问题找到任何“合理”的解决方案。可以使用提取数据API (花费大量精力)来更新(替换) .tde文件,但是您不能自动生成.twbx (这可能是您想要做的事情)。这至少是我需要的)。
所以我选择了一个非优雅的解决方案,使用win32应用程序接口来制作一个脚本来给出键盘命令。基本上,我打开.twb文件(如果还没有打开),把它带到前面,给出alt +D+X命令(刷新所有解压缩),按enter,等待一段时间(以秒为单位,不知道如何发现这个过程是否已经完成),再次按enter,alt +f+k(导出打包的工作簿),一些shift+tabs转到文件夹提示,输入路径,几个选项卡进入名称提示,输入名称,再次输入,瞧
这不仅是一个不优雅的解决方案,而且也是一个非常不稳定的解决方案。我在虚拟机上运行Tableau Desktop,只有当我真正登录到该机器时,我的脚本才能工作(否则它将不会运行键盘命令)。如果您的实际机器上有Tableau,那么,当您运行脚本时,您需要确保没有任何东西可以干扰它。
不是很好的解决方案,但我有最好的解决方案:
发布于 2016-06-02 06:21:46
一种方法是使用Python和Tableau Data Extract API来更新打包工作簿(.twbx)的数据提取。如果你不熟悉Python,值得一试,它是一种非常直观的编程语言,具有强大的库,可以从csv、excel、MySQL、SQLite、API等加载数据。它是一种用于web应用程序、数据分析、办公自动化等的优秀语言。
使用Tableau Desktop,您可以访问Python中的Tableau数据提取API。除了数据提取API之外,其中的技巧是打包的工作簿实际上是一种不同类型的zip文件。因此,一般步骤是:解压打包的工作簿>加载新数据>创建新数据提取w/ API >替换提取>压缩备份为新的打包工作簿。下面是一个带有完整代码的要点的链接。在创建一个python文件之后,您可以调度它的执行。但是,是的,服务器是调度自动刷新的最佳解决方案,以及其他一些很好的功能,尽管我知道在小范围内很难证明这是合理的。
https://stackoverflow.com/questions/27782900
复制相似问题