2015-05-09 2 views
4

В InterWorks имеется SDK Workbook как часть продукта Power Tools for Tableau. Кто-нибудь знает, как они могут это сделать? SDK может получить доступ к рабочей книге без сервера Tableau, поэтому я не думаю, что это JavaScript или REST API.Какой API-интерфейс Tableau использует InterWorks в SDK Workbook?

+0

Я не знаю инструмент Interworks. Вероятно, они работают вместе с Tableau для разработки этого инструмента (даже для коммерческих целей, лучше иметь что-то, одобренное Tableau). Но публичные API-интерфейсы - это не единственный способ взаимодействия с программным обеспечением. Это выходит за рамки моих знаний о программировании, но я видел слишком много приложений, которые взаимодействовали с программным обеспечением или веб-сайтами, которые не предоставляли API. – Inox

ответ

11

Файл таблицы Tableau (.twb) находится в формате XML. Структура может изменяться между версиями, но относительно прямо следовать. Большинство форматов файлов Tableau также являются XML. Форматы, заканчивающиеся на x (например .twbx), - это zipped-каталоги, которые содержат XML-файл вместе с другими файлами.

Это означает, что не слишком сложно читать информацию из этих XML-файлов или даже изменять их. В редких случаях я редактировал их вручную. Обычно есть лучший выбор, чем взлом внутренних элементов XML, но вы можете. Просто сначала создайте резервную копию своего файла и не ожидайте, что поддержка Tableau поможет вам, если это приведет к странному поведению в вашей книге.

В дополнении к межсетевой SDK (который является COTS продуктом), Крис Джеррард опубликовал бесплатную библиотеку Ruby, для доступа Tableau рабочих книг https://rubygems.org/gems/twb (или камня установить TWB) и выпустил источник на GitHub https://github.com/ChrisGerrard/TWB, вместе с несколькими (но не все) сценарии, которые он написал, которые используют классы twb https://github.com/ChrisGerrard/TableauToolsRuby.

Крис дает некоторые полезные примеры и сценарии на своем блоге Tableau Friction, в том числе этой умной статьи о автоматически документировать отношения между вычисляемым полем http://tableaufriction.blogspot.com/2015/02/more-calculated-field-analysis-fields.html

Использованием TWB, вы можете писать простые скрипты на Ruby легко посмотреть на структуру рабочей книги. Поскольку Tableau может изменить формат при выпуске новых версий программного обеспечения, использование SDK или twb Ruby gem может изолировать ваши сценарии от изменений в формате.

Компания Tableau также выпустила API-интерфейс документа, который поддерживает обычные изменения в обычных книгах, чтобы вы могли написать сценарий, обновив строку подключения в наборе книг.

Так у вас есть по крайней мере четыре варианта:

  1. Используйте межсетевой SDK и инструменты, которые приходят с поддержкой, документацией и ценником.
  2. Используйте бесплатную библиотеку twb с открытым исходным кодом и повторно используйте существующие скрипты Ruby или создайте те, которые вам нужны. И, надеюсь, внести свой вклад в источник, если вы продляете его.
  3. Сверните свои собственные скрипты синтаксического анализа XML.
  4. Используйте Document Document Document API, если он поддерживает ваш прецедент. https://github.com/tableau/document-api-python

Во всех случаях делайте резервные копии и будьте готовы к некоторым корректировкам, когда Tableau выпускает обновление основной или младшей версии. Патч-релизы довольно безопасны.

+1

Я хотел бы добавить пятый вариант этого превосходного ответа. Поскольку книги Tableau представляют собой XML-файлы, вы можете использовать XML-конвертер для синтаксического разбора файлов TWB в текстовые файлы или в базу данных. Когда у вас есть данные в тексте, вы можете использовать Tableau для запроса и визуализации метаданных TWB. https://sonra.io/2017/10/31/convert-xml-metadata-tableau-workbook-text/ –

Смежные вопросы