Относится к экстрактам
Публикация книг Tableau с помощью Tableau Desktop довольно проста и понятна. Но когда дело доходит до их программной публикации через вызовы API, это может быть головной болью. В одном из моих проектов я должен публиковать книгу на сервере на лету на основе некоторого пользовательского ввода. Затем пользовательский ввод решает, какие данные следует заполнить в книге. Структура книги во всех случаях была одинаковой, разница заключалась только в данных. Я перепробовал много способов, и в этом уроке позвольте мне рассказать о самом простом из всех 😃
Основная идея, лежащая в основе этого, состоит в том, чтобы создать одноразовую информационную панель (скелет или шаблон) через рабочий стол Tableau, загрузить упакованную книгу (файл .twbx), изменить данные в упакованной книге и опубликовать ее через API. Итак, приступим ...
Настраивать
- Python 3.5 или выше
- Сервер Tableau 2020.3
- Библиотеки - Tableau Server Client, Tableau Hyper API
pip3 install tableauserverclient pip3 install hyperapi
Импорт
import os import shutil from zipfile import ZipFile import tableauserverclient as TSC from tableauhyperapi import *
Шаг 1. Создайте шаблон книги в Tableau Desktop
Это однократный процесс. Просто создайте панель управления с фиктивными данными на Tableau Desktop и загрузите упакованную книгу (.twbx). Назовем это шаблонная книга. Сохраните это в каталоге вашего проекта. Все последующие шаги будут выполняться программно.
Шаг 2. Разархивируйте книгу шаблонов и создайте ее копию
Обратите внимание, что файл twbx - это не что иное, как некая форма zip-файла. С этим подойдут обычные операции по распаковке zip-архива.
Шаг 3. Обновление гиперфайла новыми данными
Hyper - это механизм обработки данных, используемый tableau начиная с версии 10.5. Раньше использовался формат .tde. Подробнее о гипердвигателе здесь.
Для простоты можно представить Hyper как своего рода SQL-файл. В терминах Tableau это называется выдержкой. Hyper API использует запросы на основе SQL для взаимодействия с файлом .hyper. Наш файл рабочей книги (.twb) запросит данные у гипер-файла. Кроме того, схема (или определение таблицы) в новом файле должна согласовываться с гиперфайлом, содержащимся в книге шаблонов.
Шаг 4. Изменение файла TWB, резервное копирование
В файле twb вы можете изменить заголовок панели инструментов, имя книги и т. Д. Это можно сделать с помощью взлома XML или простого поиска и замены в Python.
После этого нам нужно заархивировать содержимое и изменить расширение на. twbx
Последний шаг: опубликуйте книгу
Давайте наконец опубликуем только что созданную книгу на сервере таблиц.
Вы можете найти полный код в этом репозитории на github.
Это все было с моей стороны. Любые отзывы / мысли, не стесняйтесь публиковать в разделе ответов здесь. Хотел бы их услышать! Если вам нравится общаться со мной в социальных сетях, вот мой идентификатор LinkedIn и twitter.
Если вы найдете эту статью полезной и интересной, дайте мне знать, хлопнув в ладоши 👏.