如何在Tableau Desktop中以特定间隔自动刷新提取的数据源

时间:2015-01-05 15:44:38

标签: tableau

我使用Tableau Desktop 8.0通过从MySQL数据库中提取数据来创建可视化(.twbx文件)。但是这个数据库每周更新一次。也就是说,在每周开始时,数据库中的数据会发生变化。 因此,我可以安排在特定时间间隔(即在我的情况下每周)自动刷新提取的数据源的任务,以便在每周开始时,应根据数据库中的新更新刷新数据源。报告应相应地反映结果。可以通过Tableau Desktop自动安排吗? 我可以在Tableau Server上轻松完成这一事实。但是,如果使用Tableau Desktop版本可以获得相同的答案,我无法承担服务器的费用。

2 个答案:

答案 0 :(得分:2)

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

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

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

这不仅是一种非优雅的解决方案,也是一种非常不稳定的解决方案。我在虚拟机上运行Tableau Desktop,只有在我实际登录到计算机时,我的脚本才会起作用(否则它将不会运行键盘命令)。如果你的实际机器上有Tableau,那么你需要确保在运行它时没有什么可以搞乱你的脚本。

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

答案 1 :(得分:1)

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

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

Link to code!