Введение

Один из самых мощных и часто упускаемых из виду аспектов Tableau Server - это возможность позволить пользователям выполнять аналитику самообслуживания. Это было областью внимания в последних нескольких выпусках Tableau с возможностью создания новой книги с нуля и последним добавлением AskData. Затем разместите настраиваемый портал поверх этих и без того надежных возможностей, и вы сможете дать всем пользователям возможность очень эффективно задавать свои вопросы и отвечать на них, а также сокращать расходы за счет отсутствия необходимости предоставлять полные лицензии Creator всем пользователям. .

Почему самообслуживание

Включение самообслуживания заключается в том, чтобы предоставлять нужные данные нужным людям и позволять им задавать свои вопросы и отвечать на них. Он устраняет петлю обратной связи между бизнес-пользователями, отправляющими запросы, и ИТ-разработчиками, создающими отчеты, что замедляет скорость получения аналитических сведений. В конечном итоге люди, которые лучше всего знакомы с тем, что представляют собой данные, могут лучше всего их проанализировать. Однако здесь есть проблемы. Первый - это навыки, необходимые для использования необработанных данных, часто требующие умения писать запросы SQL и глубокого знания таблиц и взаимосвязей базы данных. Это также может быть кошмаром для управления, часто когда данные, извлекаемые из базы данных, изменяются, совместно используются и снова изменяются. Легко забыть, какой отчет основан на каких данных. Одноразовые отчеты также могут быть созданы и отправлены по электронной почте и в конечном итоге потеряны при очистке почтового ящика в будущем. Создание среды, в которой тщательно подобранные данные можно легко обмениваться, анализировать с помощью интуитивно понятных инструментов, а затем сохранять в централизованном месте, имеет решающее значение для успешного самообслуживания. Метод, который я собираюсь обсудить сегодня, использует Tableau Server в сочетании с настраиваемым порталом для доставки решения.

Встраивание

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

Требования

Мы собираемся структурировать нашу среду самообслуживания следующим образом:

  • Будут опубликованы наборы данных, в данном случае экстракты таблиц, которые не являются базовыми источниками данных информационных панелей, но могут быть связаны (мы обсудим это позже)
  • У каждого пользователя будет свой проект песочницы, где он сможет сохранить свою работу.
  • Пользователи не смогут видеть содержимое чужой песочницы, но будут видеть содержимое общедоступных проектов.
  • Пользователи не могут сохранять работу в этих общедоступных проектах

Настройка пользователей и разрешений

Для контекста в этом примере используется портал, который имеет собственную версию локальной аутентификации и настроен с доверенной аутентификацией с Tableau Server. Пользователи существуют как на сервере, так и на портале, но создаются через портал.

Для достижения схемы, выделенной выше, нам нужно выполнять несколько шагов каждый раз, когда мы добавляем пользователя на наш портал, и все они будут автоматизированы с использованием Tableau REST API. Я не буду подробно останавливаться на собственном коде, написанном для этого, поскольку Tableau имеет обширную страницу ресурсов для API, включая примеры (Документация REST API), но я расскажу на высоком уровне о различных используемых вызовах.

  1. Добавить пользователя

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

Ссылка: Добавить пользователя на сайт

2. Создайте свою песочницу

Каждый раз при создании пользователя мы будем использовать сценарий для создания его проекта песочницы и присвоить ему структурированное имя, в данном случае «песочница- {имя пользователя}».

Ссылка: Создать проект

3. Назначить разрешения

Это наиболее сложный шаг, состоящий из нескольких частей:

  • Установите разрешения для группы «Все пользователи» по умолчанию на Запретить сохранение для всех общедоступных проектов (это нужно сделать только один раз в начале - все новые пользователи автоматически добавляются в эту группу при создании и наследовании. эти разрешения). Если вы не хотите, чтобы пользователи при сохранении отображали общедоступные проекты выделенными серым цветом, вы также можете Запретить просмотр. Это возможно, потому что отказ пользователю в возможности просмотра проекта не мешает им просматривать панели мониторинга в этом проекте.
  • Установите разрешения для группы «Все пользователи» по умолчанию на Запретить все для проекта песочницы нового пользователя. При такой настройке все новые пользователи добавляются в группу «Все пользователи» по умолчанию и наследуют разрешение, которое мы установили сейчас, что избавляет нас от необходимости устанавливать разрешения для каждого проекта песочницы для каждого нового пользователя. Например, если у нас уже есть Джим и Майкл на сайте, каждый со своим собственным проектом песочницы, при добавлении Дуайта нам не нужно отказывать ему в разрешениях на Sandbox-Jim и Sandbox-Michael. Он унаследовал эти отказы от принадлежности к группе «Все пользователи».
  • Установите разрешения для нового пользователя на Разрешить все для его песочницы. При этом используется структура разрешений Tableaus. Разрешения, предоставленные отдельному пользователю, имеют приоритет над разрешениями на уровне группы.

Примечание. Если у вас многоуровневые пользователи и вы не хотите полностью отклонять «Все пользователи», вы можете создать новую группу, чтобы справиться с этим, и добавить вызов REST API, который добавляет каждого нового пользователя в эту группу при их создании. Это приведет к тому же поведению.

На изображении ниже вы видите набор «запрещает» для всех пользователей и набор «разрешает» для нашего нового пользователя (Дуайт). Что фактически реализовано, показано ниже, где Дуайт может сохранять в свой собственный проект.

Ссылка: Добавить права доступа к проекту

Изменение разрешений с помощью REST API может сбивать с толку, поэтому ниже я привел пример настройки разрешений тестовой среды нового пользователя. Он показан с использованием JSON и библиотеки запросов для реализации javaScript, но примеры Tableau покажут, как это сделать с помощью Python или Java.

Создание наборов данных

Теперь, когда создана среда для работы наших пользователей, нам нужно предоставить им некоторые тщательно отобранные наборы данных. Это не обязательно должны быть те же источники данных, что и опубликованные информационные панели, но они могут быть похожими. По моему опыту, при разработке панели инструментов Tableau в итоге получается много полей, которые использовались только для целей визуализации и не имеют смысла для обычных бизнес-пользователей. Публикуя отдельный источник данных специально для самообслуживания, мы можем удалить все эти поля и любую дополнительную информацию, которая могла быть важной для панели инструментов, но не для повседневного анализа. После удаления ненужных полей мы можем пройтись и убедиться, что каждое поле имеет значимое имя (First_Order_date_v3_LOD_New не очень помогает бизнес-пользователям) и полезное описание, добавленное в раздел «Комментарий».

Как только все это будет завершено, мы публикуем наш источник данных в одном из созданных нами общедоступных проектов и добавляем тег, который мы планируем использовать позже в качестве фильтра, в данном случае «Самообслуживание».

Доступ к данным

После публикации набора данных нам теперь нужно создать страницу на нашем портале, на которой будут отображаться все доступные наборы данных. Затем мы предоставим ссылки, позволяющие пользователям быстро перейти к AskData для анализа или к Web-Edit для создания новой книги. Мы снова собираемся использовать REST API для поиска всех источников данных, доступных на сайте, и добавить параметр url для фильтрации к тегу, который мы добавили ранее. В итоге получается:

{TableauServer}/sites/{siteID}/datasources?filter=tags:eq:self-service

Ссылка: Источники данных запроса

С возвращенными источниками данных самообслуживания мы затем форматируем их для представления пользователям и добавляем кнопки, которые ссылаются на два упомянутых выше инструмента.

Кнопки переводят пользователя на страницу с фреймом iframe, содержащим встроенное представление соответствующего инструмента. Для AskData это будет выглядеть так:

<iframe src=’http://{Tableau Server}/askData/{DataSourceName}></iframe>

А для веб-редактирования:

<iframe src=’http://{Tableau Server}/authoringNewWorkbook/{Random String}/{DataSourceName}#{Random Number}></iframe>

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

Если мы используем предварительно очищенный источник данных для опубликованной информационной панели и хотим, чтобы пользователь мог легко переходить к очищенным базовым данным, мы также можем добавить ссылки на наши страницы информационной панели.

Бизнес-пользователи теперь могут в полной мере использовать все функции, встроенные в AskData и Web-Edit, прямо на портале. Они смогут видеть добавленные нами описания при наведении курсора на поле, а также дополнительные метаданные (метаданные не отображаются в Web-Edit, только описания).

И они могут создавать визуализации, вводя свои вопросы.

Затем, когда они закончат и нажмите «Сохранить», из-за того, как мы настроили разрешения, единственный вариант, который они увидят, - это их песочница.

Заключение

В этом посте мы создали среду самообслуживания аналитики. Мы предоставили нашим бизнес-пользователям тщательно отобранные источники данных, которые позволяют им задавать собственные вопросы контролируемым образом. Теперь у них есть возможность создавать свои собственные информационные панели и отчеты, к которым они могут получить доступ, не беспокоясь о загроможденном сервере, где другим пользователям нужно копаться в сотнях несертифицированных отчетов. Мы использовали REST API для написания сценария тяжелой работы и обернули все в портал, чтобы создать простой в использовании пользовательский интерфейс. После того, как все настроено, процесс добавления нового пользователя, настройки разрешений, создания нового проекта, предоставления пользователю доступа к набору данных, создания представления и сохранения его для последующего использования может быть записан в один GIF-файл (см. Ниже), а не плохо в течение 45 секунд. Это большой шаг в формировании культуры аналитики в организации.