Вопрос или проблема
Рабочая книга Tableau, над которой я работаю, имеет разных пользователей, входящих в систему, чтобы видеть данные для своей компании. В панели инструментов я создал динамическое изображение, которое показывает логотип клиента в зависимости от того, кто вошел в систему. Я создал это, используя выпадающее меню Карта и выбрав Фоновое изображение. Поле, которое контролирует, какое изображение отображается, является измерением клиента, в котором указаны все клиенты в базе данных.
Проблема, с которой я столкнулся, заключается в том, что некоторые пользователи, внутренние пользователи, могут видеть всех клиентов. Когда эти пользователи входят в систему, мне нужно, чтобы логотип либо исчезал, либо отображался логотип основной компании. Столбец клиентов не отображает этих пользователей, поскольку они не являются клиентами. Это означает, что у меня нет столбца для использования в качестве фильтра.
Я выполнил каждое действие на этом сайте, и, надеюсь, это даст достаточно примеров, так как я не могу поделиться оригинальной рабочей книгой. Вот сайт, который я использовал для создания этого: https://www.thedataschool.co.uk/nora-ann-weststrate/tableau-creating-filter-dependent-images/
Я нашел решение, создав это вычисляемое поле:
{EXCLUDE [ColumnName] : COUNTD([ColumnName]) = 23}
Это исключало всех клиентов, когда все они были показаны. Затем я добавил это на панель фильтров и панель цветовых маркеров.
Ответ или решение
Динамические изображения в Tableau: Решение проблемы с отображением логотипов клиентов
Ваша проблема с динамическими изображениями в Tableau, в частности с отображением логотипов клиентов в зависимости от того, кто входит в систему, является достаточно распространенной задачей, особенно в среде, где различные пользователи имеют разные уровни доступа к данным. Позвольте мне подробно объяснить, как вы можете эффективно решить эту проблему.
Описание текущей ситуации
Вы создали дашборд, который динамически отображает логотип клиента на основе параметра, определяемого элементом измерения — столбцом клиентов. Однако вы столкнулись с проблемой, когда внутренние пользователи могут видеть всех клиентов, но при этом не должны отображать логотипы, так как они не являются клиентами.
Предложенное решение
Как вы уже упомянули, вы нашли решение, создав вычисляемое поле:
{EXCLUDE [ColumnName] : COUNTD([ColumnName]) = 23}
Это вычисляемое поле исключает всех клиентов, когда отображаются все записи. Давайте разберем, как это работает и как правильно интегрировать это решение.
-
Создание вычисляемого поля:
- Откройте ваш рабочий лист Tableau.
- Перейдите в раздел «Создать поле» и введите вышеуказанное вычисляемое поле. Убедитесь, что
ColumnName
заменен на актуальное имя вашего поля измерения клиентов.
-
Добавление фильтра на карточку фильтров:
- Перетащите созданное вычисляемое поле на карточку фильтров.
- Убедитесь, что оно настроено так, чтобы исключать ненужные значения для нужных типов пользователей.
-
Настройка цветовой карточки:
- Перетащите ваше вычисляемое поле также на цветовую карточку. Это позволит визуально различать, когда логотипы клиента должны быть показаны, а когда — нет.
-
Настройка логики отображения изображений:
- Вам также потребуется добавить условие для контроля отображения логотипа главной компании для внутренних пользователей. Создайте дополнительное вычисляемое поле, которое проверяет, является ли текущий пользователь внутренним. Если это так, используйте основной логотип.
Простой пример:
IF [UserType] = 'Internal' THEN 'Main_Company_Logo.png' ELSE [CustomerLogo] END
Оптимизация производительности
Поскольку ваше решение предполагает фильтрацию данных, важно следить за производительностью дашборда. Убедитесь, что база данных, из которой извлекаются логотипы, оптимизирована, и изображения загружаются быстро, чтобы избежать задержек в работе.
Заключение
Используя предложенные подходы, вы сможете добиться динамического отображения логотипов клиентов в вашем Tableau дашборде, учитывая различные уровни доступа пользователей. Убедитесь, что ваши вычисляемые поля и фильтры хорошо документированы, чтобы другие пользователи могли понимать их логику.
Если у вас возникнут дополнительные вопросы или потребуется помощь в дальнейшей настройке, не стесняйтесь обращаться. Удачи в ваших усилиях по оптимизации вашего Tableau дашборда!