Всем привет!

Перед вами продолжение рассказа про план-фактный анализ в Power BI Desktop. Первую часть можно почитать здесь. Если хотите прочитать в целом про платформу Power BI, то добро пожаловать сюда.
Сегодня расскажу про построение интерактивных отчётов и совсем немного про создание вычисляемых полей в Power BI Desktop. Под катом будет много гифок, так что аккуратнее с трафиком.

Внешний вид Power BI Desktop
Рисунок 1. Внешний вид Power BI Desktop

Внешний вид Power BI Desktop в режиме подготовки отчётов показан на рисунке выше. На панели «Визуализации» осуществляется выбор нужного типа отображения данных и дальнейшее форматирование. На панели «Поля» отображаются все таблицы, столбцы и меры, которые есть в модели данных.
Давайте рассмотрим процесс подготовки отчёта, показанного на рисунке.
Для создания любой визуализации нужно просто перетащить содержащие нужные данные поля в область отчета. В зависимости от типа данных к ним могут быть автоматически применены различные агрегатные функции, а также различные способы визуализации. В нашем случае нас интересуют поля «Дата», «План (руб.)» и «Факт (руб)».

Рисунок 2 Перетаскивание полей в область отчета
Перетаскивание полей в область отчета

После перетаскивания полей в область отчёта сформировалась таблица, которая содержит несколько столбцов. Внешний вид данных в области отчётов настраивается при помощи панели «Визуализации». Перечень доступных способов отображения данных не очень большой, но достаточен для решения многих задач. Кроме того, Power BI Desktop имеет месячный цикл обновлений, что позволяет надеяться на расширение функционала в будущем.

Панель Визуализации в Power BI Desktop
Рисунок 3 Панель Визуализации в Power BI Desktop

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

Рисунок 4 Изменение типа визуализации
Изменение типа визуализации


Кроме того, для визуализаций доступны два уровня фильтров – на уровне визуального элемента и на уровне страницы. Как можно догадаться из названия, фильтр уровня страницы будет применен ко всем визуальным элементам, расположенным на странице отчёта. Фильтровать можно по любым полям в модели данных. В данном случае применим фильтр уровня страницы по полю «Категория», т.к. в отчете требуется отображать только данные по расходам.

Фильтры визуальных элементов
Рисунок 5 Фильтры визуальных элементов

Рисунок 6 Применение фильтра страницы
Применение фильтра страницы

После применения фильтра можно немного настроить внешний вид диаграммы, например, поменять цвета. Эту операцию можно выполнить при помощи вкладки «Формат» на панели «Визуализации». Варианты форматирования свои для каждого типа визуализации, причем для текстовых элементов форматирование недоступно в принципе. Например, для элемента типа «Карточка» нельзя изменить ни цвет, ни размер шрифта. Для диаграмм можно настраивать цвета элементов, включать-выключать подписи данных и т.д. Крайне интересно наличие такой надписи при выборе цвета как «Цвета темы». К сожалению, мне не удалось найти способов создавать свои темы для Power BI Desktop, возможно этот функционал будет доступен в будущем.

В нашем случае изменим цвета данных, добавим отображение меток данных, а также изменим тип оси Х на категориальную.

Форматирование диаграммы
Рисунок 7 Форматирование диаграммы

Рисунок 8 Изменение формата диаграммы
Изменение формата диаграммы

Помимо общей динамики расходов мне интересно посмотреть — по каким категориям расходы были в рамках плана, а по каким есть отклонения в большую, меньшую сторону. Для этого добавлю линейчатую диаграмму с группировкой.

Рисунок 9 Добавление линейчатой диаграммы
Добавление линейчатой диаграммы

Обратите внимание, что по умолчанию данные в диаграмме сортируются в алфавитном порядке. Это неудобно, но всегда можно изменить поле и порядок сортировки. Основное ограничение при настройке сортировки для визуального элемента – сортировать можно только по тем полям, данные из которых присутствуют в графике (см. рисунок).

Рисунок 10 Сортировка диаграммы
Рисунок 10 Сортировка диаграммы

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

Рисунок 11 Сортировка по столбцу
Рисунок 11 Сортировка по столбцу

После настройки сортировки и небольшого форматирования заголовков диаграмма примет более приятный для глаз вид:

Рисунок 12 Отформатированная диаграмма
Рисунок 12 Отформатированная диаграмма

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

Рисунок 13 Почти готовый интерактивный отчет
Почти готовый интерактивный отчет

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

Рисунок 14 Некорректное отображение среза по датам
Рисунок 14 Некорректное отображение среза по датам

Для того, чтобы мы могли добавить срез по годам нам потребуется создать вычисляемый столбец, который будет содержать значение года. Это можно сделать как в режиме отчёта, так и в режиме моделирования данных. Для создания вычисляемых столбцов и мер используются формулы языка DAX. В нашем случае для создания столбца, содержащего значения года потребуется простая формула: Год=Year([Дата]). Процесс создания вычисляемого столбца и добавления среза в отчет показан на рисунке 15.

Рисунок 15 Создание вычисляемого столбца и добавление среза
Создание вычисляемого столбца и добавление среза

Отчёт почти готов, остается только добавить название и логотип компании.

Рисунок 16. Добавление названия и логотипа
Добавление названия и логотипа


На этом вторая часть статьи про план-фактный анализ в Power BI Desktop завершается. Большая просьба ответить на опрос про полезность и понятность моих статей. Спасибо, что дочитали.
Полезны ли были для вас статьи про план-фактный анализ в Power BI Desktop?

Проголосовал 41 человек. Воздержалось 14 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Комментарии (6)


  1. dannyzubarev
    06.08.2015 00:31
    +4

    Обязательно продолжайте серию – это очень интересно, и вполне может подтолкнуть людей к внедрению BI системы, если будут доступны явные примеры использования «на практике».


  1. andrewsch
    06.08.2015 11:42
    +3

    Интересные (лично для меня, но возможно и для других) темы:

    1. Визуализация данных, полученых от простых REST Web Services — JSON или XML.
    2. Возможности рассылки таких интерактивных отчетов другим (избранным) людям — например, менеджерам внутри организации
    3. Возможности внедрения таких интерактивных отчетов в сторонние веб-сайты (внутренний сайт компании — естественно, не публичный).


    1. dmitriysolovev
      06.08.2015 15:02

      Про визуализацию данных от REST сервисов планирую написать в течение месяца. А вот возможности рассылки отчётов нет. Если нужна рассылка каких-либо регламентных отчётов — это к SSRS. Power BI предполагает публикацию отчетов и панелей в сервис и уже там мы предоставляем общий доступ к ним внутри организации. Обещают, что позднее будет предоставлена возможность управления безопасностью с использованием групп Active Directory. Там же в «облаке» настраивается автообновление — ежедневное в бесплатной версии и ежечасное в платной. Но бесплатная версия поддерживает автообновление только из других SaaS сервисов или файлов, которые лежат в OneDrive, OD4B. Зато в платной версии есть возможность «живого» подключения к локальным источникам без заливки данных в «облако». Пока это работает, насколько я понял, для SSAS и приложений, которые используют REST API Power BI. Как поработаю с этим функционалом в реальной жизни, смогу написать подробнее


      1. andrewsch
        06.08.2015 15:06

        Спасибо! Очень информативно! Жду новых статей с нетерпением!


    1. zharikovpro
      06.08.2015 17:53

      Да, REST бешено всем нужен сейчас) Куча систем интегрируются только так и не иначе по-нормальному… Не писать же для каждой свой скрипт выгрузки данных в общую БД.


    1. dmitriysolovev
      13.08.2015 11:12

      Вышла статья про работу с внешними API из Power Query.