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

MrR*_*Lee 5 tableau-api

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

Ale*_*ore 13

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

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

  • 我想为这个优秀的答案添加第五个选项.由于Tableau Workbooks是XML文件,因此您可以使用XML转换器将TWB文件批量解析为文本文件或数据库.获得文本数据后,可以使用Tableau本身查询和可视化TWB元数据.https://sonra.io/2017/10/31/convert-xml-metadata-tableau-workbook-text/ (2认同)