Текстовая версия
Друзья, коллеги, партнёры – всем привет. Меня зовут Бикаев Альберт, я являюсь исполнительным директором компании myBI и сегодня я хочу показать вам один кейс, который раскрывает все сложности создания отчётов с (так скажем) красивым дизайном (если говорить просто).
Итак, мы в компании myBI уже много лет занимаемся успешным внедрением решений на базе платформы Power BI от Microsoft, и за это время успели накопить большой опыт в реализации проектов совершенно разной сложности.
Сегодня для аналитиков не секрет, что Power BI – это не только превосходный конструктор бизнес-аналитических моделей, но уже новый отраслевой стандарт в прикладной визуализации данных. И если с моделированием и подключением данных в Power BI относительный порядок, то с визуализацией есть определенные нюансы. Связаны они в первую очередь с нехваткой гибкости в самих визуализациях. В принципе можно понять разработчиков – они хотели сделать более универсальный и быстро разворачиваемый продукт, и это у них, кстати, отлично получилось.
Но что делать, если этих визуализаций недостаточно?
Сейчас я покажу один пример, который наглядно демонстрирует, в какой тупик можно зайти, пытаясь создать необычный отчёт, пользуясь стандартными средствами (и не только стандартными).
Итак, около года назад перед нами встала задача создать отчёты с визуализацией финансовых показателей группы банков. Нужно сказать, что отчёт имел презентационную задачу и в связи с этим были поставлены особые требования к дизайну и вёрстке отчёта. В частности все показатели по всем банкам группы должны были отображаться на одном листе без скроллинга.
Конечно, табличный вариант реализации здесь подошёл бы лучше всего. Но. Каждый показатель помимо своего собственного значения имел несколько сопутствующих, которые должны были располагаться рядом с основным показателем.
Кроме того, все значения – и основные, и сопутствующие, должны были иметь своё условное форматирование цветом фона и иконками стрелка-вверх стрелка-вниз. Получаем следующую картину – в одну ячейку нам надо погрузить массу информации и заставить её по-своему светиться. Табличный вариант уходит сразу! Давайте посмотрим, чем же можно его заменить.
Есть встроенная визуализация KPI – она позволяет вывести основной показатель, целевой и выполнение этой цели.
Но! Во-первых: цель можно поставить только сопоставимую с основным показателем. А заказчик хочет, чтобы подсвечивалось основное значение на основе сопутствующего. Помимо этого, у визуализации нельзя изменить размер шрифта)) Это невероятно, но факт. И индикация касается исключительно цвета шрифта, а нужен цвет фона –
эта визуализация нам точно не поможет, идём дальше.
Есть карточка – она выводит одно значение, там настраивается размер и цвет шрифта,
но нет никакого условного форматирования.
Идём дальше. А дальше ничего и нет. Но!
Те, кто работают в Power BI, знают о существовании кастомных визуализаций, которые можно скачать с сайта майкрософт, импортировать в отчёт и пользоваться.
Идём туда, и что там видим? Визуализаций действительно много.
Нас интересует категория KPI.
Находим две более-менее похожие на нашу задачу: это Card with States и KPI indicator.
Начнём с KPI Indicator – в него можно включить основной показатель, целевой, измерение времени, и ещё несколько, связанных с текущим и целевым показателем на
конец временного измерения.
Его можно достаточно гибко кастомизировать, но всё равно не получилось добиться того, что нужно по задаче. Проблемы были с выравниванием значения в карточке и с наименованием значения – его нельзя оставить пустым. Вместо пустоты подставляется название меры, поэтому пришлось назвать его буквой “О” и поставить минимальное значения шрифта.
Card with States условно подошла – можно было настроить выравнивание, размер шрифта и даже установить стрелочки индикаторами. Заливка цветом была доступна среди возможностей, но глючила и не работала.
По-прежнему, ни один из индикаторов не позволил форматировать основной показатель на основе сопутствующего.
В общем, мы скомпоновали это всё так, как было похоже на задачу. После этого к вёрстке подключился заказчик и попросил внести некоторые правки и, в итоге, получился следующий отчёт.
Но, прежде чем я его открою, хочу поставить секундомер, сейчас узнаете зачем)) Итак, кликаю на лист с отчётом. Первые 10 секунд не происходит вообще ничего.
Далее начинают загружаться визуализации.
Некоторые загружаются быстро (из числа встроенных), а вот другие, в частности наша Card With States, которую мы встроили в отчёт, думает ооочень долго.
В среднем отчёт загружался от 1 до 2 минут, бывали случаи, когда он не мог прогрузиться и за 3-4 минуты. Нужно отметить, что при открытии отчёта на портале Power BI в части вычислений используются ресурсы серверов майкрософт, а вот отображение визуализаций происходит уже на стороне пользователя, и в этом случае, чем слабее его ноутбук, тем больше времени может потребоваться на отображение самих визуализаций.
В общем понятно, что отчётом пользоваться невозможно, нужно либо возвращаться к табличному варианту, либо пересматривать всю задачу целиком.
Мы у себя решили не оставлять это как есть, а сделать всё так, как оно и должно быть.
В результате кропотливой работы получился следующий отчёт:
Видно, что отчёт появляется на экране моментально, через 1 секунду, а визуализации загружаются на 2-3 секунды в среднем.
Итак, что у нас здесь: мы разработали свои собственные визуализации – 4 разных виджета. Первые два ряда виджетов включает в себя 4 показателя со своими иконками для компактности. Здесь отображаются сразу и основной показатель, и динамика, и целевое и т.д.
Причём, сразу выводятся индикации выполнения целевого показателя – кружок сверху и так называемый лейбл у показателя. Переключаем месяц и видим, как моментально реагируют визуализации, всё происходит “налету”. И индикаторы тоже перекрасились в другие цвета.
Да, кстати, сверху мы вывели мини-легенду, чтобы было понятно, о чём иконки.
Есть крайне интересные возможности: во-первых, первый ряд виджетов – это ОДНА визуализация, у которой есть группирование по банкам, то есть мы просто бросаем в неё измерение Банк и она раскидывает все банки по разным виджетам – полная динамическая обработка.
Во-вторых, эта визуализация является адаптивной, то есть она подстраивается под ту область, в которую она вписана – я начинаю её двигать и она адаптируется – то есть я могу расположить виджеты по два в ряд, либо по одному в ряд – фактически в столбик. Это превращает работу с версткой в сплошное удовольствие – не надо считать пиксели, метиться в сетку, выделять сразу пачку объектов, чтобы их передвигать и прочее.
Далее идёт визуализация похожая, но несколько иная, тут другая подача показателей.
Следом за ней тоже вариант с более крупной презентационной подачей – тут также есть появление тени при наведении на виджеты.
Ещё ниже идут экспериментальные виджеты с прогресс-баром.
Да, забыл сказать, любые числа или текст внутри виджетов можно выделить и скопировать, что очень удобно.
Теперь внимание – за последние месяцы мы реализовали массу кастомных визуализаций, как для своих проектов, так и на заказ для наших партнеров.
И сейчас мы рады сообщить, что мы делаем данную услугу доступной для всех наших клиентов. То есть абсолютно каждый из вас может заказать у нас кастомную визуализацию – от самого простейшего текстового поля с особым шрифтом, до сложнейших виджетов, графиков, таблиц и прочего.
Переходите на сайт MYBI.RU, звоните, оставляйте заявки.
Спасибо!