InterWorks 在他们的 Workbook SDK 中使用什么 Tableau API?

What Tableau API does InterWorks uses in their Workbook SDK?

InterWorks 有一个 Workbook SDK 作为其 Power Tools for Tableau 产品的一部分。有谁知道他们是怎么做到的? SDK 可以在没有 Tableau Server 的情况下访问工作簿,所以我不认为它是 JavaScript 或 REST API。

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

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

除了 Interworks SDK(这是一个 COTS 产品),Chris Gerrard 还发布了一个免费的 Ruby 库,用于访问 Tableau 工作簿 https://rubygems.org/gems/twb (or gem install twb) and released the source on github https://github.com/ChrisGerrard/TWB, along with a few (but not all of) the scripts he's written that use the twb classes 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 还发布了一个文档 API,支持对工作簿进行少量常见更改 - 因此您可以编写一个脚本来更新一组工作簿的连接字符串。

所以你至少有四个选择:

  1. 使用附带支持、文档和价格标签的 Interworks SDK 和工具。
  2. 使用免费的开源 twb 库,重用现有 Ruby 脚本或开发您需要的脚本。如果您扩展,希望贡献源代码。
  3. 滚动您自己的 XML 解析脚本。
  4. 如果 Tableau 文档支持您的用例,请使用它 API。 https://github.com/tableau/document-api-python

在所有情况下,请进行备份并准备好在 Tableau 发布主要或次要版本更新时进行一些调整。补丁发布是相当安全的。