InterWorks在其Workbook SDK中使用了哪些Tableau API?

时间:2015-05-09 04:32:19

标签: tableau

InterWorks将Workbook SDK作为其适用于Tableau产品的Power Tools的一部分。有谁知道他们是如何做到这一点的? SDK可以在没有Tableau Server的情况下访问工作簿,因此我认为它不是JavaScript或REST API。

1 个答案:

答案 0 :(得分:12)

Tableau工作簿(.twb)文件采用XML格式。结构可能会在不同版本之间发生变化,但相对直接可以遵循。大多数Tableau文件格式也是XML。以x结尾的格式(如.twbx)是包含XML文件和其他文件的压缩目录。

这意味着从这些XML文件中读取信息甚至修改它们并不太难。在极少数情况下,我手工编辑了它们。通常有一个比黑客攻击XML内部更好的选择,但你可以。只需备份您的文件,如果它导致您的工作簿出现奇怪的行为,请不要指望Tableau支持帮助您。

除了Interworks SDK(它是COTS产品)之外,Chris Gerrard还发布了一个免费的Ruby库,用于访问Tableau工作簿https://rubygems.org/gems/twb(或gem install twb)并在github上发布了源代码https://github.com/ChrisGerrard/TWB ,以及他编写的使用twb类https://github.com/ChrisGerrard/TableauToolsRuby的一些(但不是全部)脚本。

Chris在他的博客Tableau Friction上提供了一些有用的示例和脚本,包括这篇关于自动记录计算字段之间关系的聪明文章 http://tableaufriction.blogspot.com/2015/02/more-calculated-field-analysis-fields.html

使用twb,您可以轻松编写简单的Ruby脚本来查看工作簿结构。由于Tableau可以在发布软件的新版本时更改格式,因此使用SDK或twb Ruby gem可以将脚本与格式的更改隔离开来。

Tableau还发布了一个Document API,它支持对工作簿进行适度的常见更改 - 因此您可以编写一个脚本来说明,更新一组工作簿上的连接字符串。

所以你至少有四个选择:

  1. 使用Interworks SDK以及附带支持,文档和价格标签的工具。
  2. 使用免费的开源twb库,并重用现有的Ruby脚本或开发您需要的脚本。如果你延长,希望贡献你的来源。
  3. 滚动您自己的XML解析脚本。
  4. 如果Tableau Document API支持您的用例,请使用它。 https://github.com/tableau/document-api-python
  5. 在所有情况下,当Tableau发布主要版本或次要版本更新时,请执行备份并做好一些调整准备。补丁版本非常安全。