Записки охотника

Добавление кастомного шрифта в Power BI

Тематические статьи
Рвав-рвав, собака Смайл снова в деле!

Сегодня я расскажу вам о том, как реализовать применение собственного шрифта при оформлении отчетов в Power BI Desktop. Это может быть полезно как при формировании пакета корпоративной отчетности согласно собственным стандартам, так и при удовлетворении специфических запросов клиента.
Надо сказать, что временами это оправдано, поскольку список шрифтов, входящих в стандартный пакет нашей любимой программы, довольно небольшой.

Условия реализации

Для обеспечения процесса добавления кастомного шрифта в Power BI предварительно выполнить следующие условия:
  • Обеспечить себе права системного администратора на машине, где у вас, собственно, стоит Power BI Desktop
  • Обеспечить доступ к файлу с нужным шрифтом, в нашем примере мы будем использовать файл "anime-ace-v05.ttf".
Если у вас этого нет, то увы, без прав системного администратора вы не сможете загрузить свой файл в операционную систему.

Установка кастомного шрифта в Windows

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

Путь: Пуск → Параметры → Параметры → Персонализация → Шрифты

Далее, необходимо сделать следующее:

  • Зайти в указанную папку:
Местонахождение системной папки "Шрифты" для Windows 11
  • Скопировать туда собственный шрифт, при этом, поскольку у вас должны быть в наличии права системного администратора, будет произведена автоматическая установка шрифта в операционную систему.

Подготовка файла пользовательской темы в Power BI Desktop

Использование кастомного шрифта в Power BI Desktop возможно только при наличии кастомной (пользовательской) темы.
Рвав-рвав, у нас есть собственный тренинг по разработке пользовательской темы, охватывающей все визуальные элементы стандартного пакета. Подробности можно посмотреть в общедоступной презентации ( см. Тренинг #2).
К сожалению, при недавних апдейтах, в Power BI Desktop был встроен механизм валидации пользовательских тем, в связи с чем наша разработка оказалась недееспособна.
Но если у вас есть заинтересованность в прохождении тренинга, или изучении этой области на наших материалах самостоятельно, мы постараемся поправить нашу разработку, что называется, "в режиме ошпаренной кошки" :-)
Подготовка пользовательской темы с использованием кастомного шрифта включает в себя следующие шаги:

  • Осуществить запуск Power BI Desktop.
  • На закладке "Представление" зайти в пункт "Настроить текущую тему" (список пунктов меню раскрывается по стрелке):
Настройка пользовательской темы
  • В окне "Настройка темы" необходимо перейти на вкладку "Текст" и поменять в выпадающем списке дефолтное семейство шрифтов, например, установив шрифт "Consolas":
Изменение семейства шрифтов
Рвав-рвав, тут важен следующий момент: все это делается для того, чтобы в итоге подредактировать json-файл используемой темы. Как уже упоминал выше, теперь, при наличии встроенного валидатора пользовательских тем, описываемый механизм является самым простым для достижения нужного результата.
Встроенный механизм выгрузки пользовательской темы, и ее последующее изменение, при соответствующей аккуратности, обеспечит нам также и корректную загрузку модифицированной темы обратно в Power BI Desktop.
Следует отметить, что в данном материале описываются самые просты модификации :-)
  • Нажать кнопку "Применить".
  • После применения ваших изменений, на той же закладке "Представление", следует выбрать выбрать пункт "Сохранить текущую тему":
Сохранение пользовательской темы
  • И, далее, при помощи встроенного функционала, осуществить выгрузку пользовательской темы в файл формата "json":
Получение файла формата "json"
  • После того, как вы осуществили сохранение файла пользовательской темы, необходимо ее отредактировать при помощи любого доступного вам редактора (например, "Блокнот"). Редактирование осуществляется просто путем замены одного семейства шрифтов на другой. В нашем случае мы должны поменять шрифт "Consolas" на "Anime Ace v05":
Редактирование пользовательской темы
  • По окончании редактирования файл пользовательской темы, естественно, необходимо закрыть с учетом сохранения примененных изменений.

Демонстрация использования кастомного шрифта в Power BI Desktop

Для освещения сделанных нами изменений необходимо взять какой-нибудь отчет, сделанный при помощи Power BI Desktop, и загрузить в него модифицированную пользовательскую тему.
В качестве примера мы используем такой отчет:
Пример отчета, созданного в Power BI Desktop
В данном отчете имеется текстовое поле, использующее стандартный шрифт "Segoе UI":
Текстовое поле с использованием стандартного шрифта
Для того, чтобы надпись, реализованная при помощи стандартного шрифта изменилась, необходимо загрузить в ваш файл отчета модифицированную пользовательскую тему.
Загрузка пользовательской темы включает в себя следующие шаги:
  • Сама процедура производится на уже не раз упомянутой закладке "Представление" при помощи пункта "Просмотр тем":
Загрузка пользовательской темы
  • После выбора указанного пункта при помощи встроенного функционала необходимо осуществить загрузку пользовательской темы в виде файла формата "json":
Загрузка файла формата "json"
  • По окончании загрузки пользовательской темы на экран будет выведено информационное сообщение следующего вида:
Сообщение об окончании загрузки файла пользовательской темы
Рвав-рвав, если вы вдруг сумели накосячить при редактировании пользовательской темы, загрузка, естественно, будет неуспешна, и с этим придется разбираться отдельно.
  • При закрытии информационного сообщения стиль шрифта в текстовом поле изменится, и примет следующий вид:
Результат применения пользовательской темы
  • В свойствах элемента "Текстовое поле" мы также можем убедиться, что стандартный шрифт "Segoe UI" изменился на "Anime Ace v05":
Текстовое поле с использованием кастомного шрифта

Особенности использования кастомного шрифта в службе Power BI Service

При использовании кастомного шрифта в службе Power BI Service (облако), есть только один нюанс, который нужно учесть разработчику: у всех пользователей, использующих отчет, должен быть установлен шрифт, используемый в отчете, на их локальной машине.
В противном случае отображение отчета для таких пользователей будет происходить с использование дефолтного шрифта.
При соблюдении указанного условия в облаке все также работает корректно:
Вид отчета, опубликованного в Power BI Service
Рвав-рвав, по поводу надписи: ориентируясь на официальную документацию, на мой взгляд, при работе с Power BI, называть "репорт" словом "дашборд", претендуя при этом на некий профессионализм, не совсем корректно.
Это разные сущности.

Ваш Смайл