Итоговый дашборд:

https://app.powerbi.com/view?r=eyJrIjoiNGQ3MWUzODUtZmNlZi00MDRkLWJlYjYtNDJjODExYzkwNWJlIiwidCI6IjQyNDM0MjljLTFjZWItNDIwMi05ZjcwLTA3ZGRiMTg4NThhMCIsImMiOjl9&pageName=ReportSection

1 Организация потоков данных

1.1 Основные источники данных компании

Компания «Logistic Company» управляет разными потоками и типами данных и работает с ними. Также, проводятся мероприятия по сбору данных для использования при формировании информационных продуктов.

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

Таблица – Данные компании

Данные

Вид представления

Источник получения

Данные по общем объему грузоперевозок, грузооборота по видам транспорта

Электронный открытый документ

Интернет-сайт Росстат, Росморречфлот и прочие узконаправленные отраслевые сайты

Общие данные по величине и структуре подвижного парка ж/д транспорта России

Электронные открытые документы или графические представления

Сайт РЖД и прочие тематические источники по области грузовых перевозок

Данные по стоимости аренды подвижного состава компаний

Электронные таблицы

Телефонный разговор с сотрудником компании

Общие данные по прочим видам грузовых перевозок

Электронные публикации и отчетности

Открытые источники: сайты компаний, отраслей

Показатели грузооборота и грузовых перевозок компаний

Электронные таблицы Excel, Анкеты от операторов ж/д транспорта

Электронная база данных, организованная в Excel

Величина и структура парка подвижного состава

Анкеты компаний, электронные таблицы

Если это напрямую от сотрудника-администратора/секретаря, тогда путем отправки сообщения с просьбой заполнить анкету;

Если электронные таблицы, тогда – это информационная база, организованная в Excel

Финансовые показатели компаний

Таблицы в MS Word, Электронные открытые представления, электронные текстовые представления

Напрямую от сотрудников компаний через анкеты;

Интернет-сайты с финансовой отчетностью;

Официально публикованные отчетности на сайтах компаний

Новости

Электронные публикации по узким тематикам, электронные публикации в программе новостей

Сайты новостей (Яндекс.Новости), разделы «Пресс-центр» на сайтах компаний, сайты партнеров;

Обозреватель компании

На данный момент компания «Logistic Company» не имеет общего хранилища данных, куда могли бы заносится, а в дальнейшем и храниться все новые, периодически поступающие в компанию, показатели и данные.

Используются данные компании для формирования графических представлений различных показателей грузовых перевозок, железнодорожного транспорта и основных железнодорожных операторов. Графические представления формируются каждый раз для каждого графика, таблицы и диаграммы, вручную аналитиками через изменение данных диаграммы в MS Word с переходом в окно Excel для обновления или добавления данных. Некоторые данные формируются аналитиками в общие базы представлений данных и изменяются по мере их обновления, однако, в основном, данные, с которыми работает каждый отдельный сотрудник, могут хранится только у него.

Обмен файлами между сотрудниками осуществляется путем их электронной отправки личными письмами или через облачное хранилище и задачи, в используемой в компании CRM системой Битрикс24.

1.2 Настройка потоков данных Power BI

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

Для начала работы с выбранным программным обеспечением MS Power BI необходимо загрузить данные, с которыми бизнес-пользователь будет работать – преобразовывать и визуализировать их.

MS Power BI позволяет загрузить данные из множества ресурсов, от простейших таблиц Excel до подключения онлайн-ресурсов и корпоративных порталов.

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

Работа с данными при использовании решения MS Power BI требует более сложного подхода к их организации, ведению и контролю. Особенно это касается данных, которые находятся в условиях постоянного увеличения и нарастания к общему объему, потому что при увеличении объема данных повышается и сложность их преобразования до уровня в соответствующем формате и готового к практическому применению. Основной задачей организации данных является удобство и скорость их использования, чтобы бизнес-пользователь мог получить доступ к данным в любой момент с гарантией того, что они будут отображены и представлены в корректном виде.

Для реализации такой задачи MS Power BI в рамках своих функциональных возможностей предлагает решение для самостоятельной подготовки данных и получения аналитических решений на их основе. Отвечает за реализацию этой возможности такое решение, как организация потоков данных или DataFlow.

Потоки данных (Data Flow) в MS Power BI представляют собой набор создающихся и управляемых таблиц в рабочих областях службы программы. Таблицы состоят из столбцов, в которых хранится информация различного типа, идентично тому, как это выглядит в базе данных. Управление таблицами заключается в возможности их добавления, изменения и обновления, осуществляемых из общей рабочей области всего потока данных.

MS Power BI позволяет создавать потоки данных несколькими способами, однако создание потоков данных возможно только для пользователей Premium и Pro лицензии программы:

  • путем определения новых таблиц;

  • с помощью связанных таблиц;

  • с помощью вычисляемой таблицы;

  • с помощью импорта или экспорта.

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

В качестве основного источника данных для использования в Power BI в рамках решения для компании «Logistic Company» предлагается использовать MS SharePoint.

MS SharePoint – это программный продукт от компании Microsoft, основной задачей которого является создание единой информационной среды в рамках одного предприятия с целью обеспечения сотрудников эффективным каналом взаимодействия. Корпоративный портал на основе MS SharePoint становится как центром коммуникации сотрудников, так и электронным хранилищем данных.

На данный момент в качестве корпоративного портала компания «Logistic Company» использует решение на основе Битрикс24, представляющее собой пространство для взаимодействия сотрудников по сети, управления продажами и клиентами, а также хранения файлов. Однако, данное программное обеспечение не способно эффективно взаимодействовать с решением Power BI. Наиболее корректно и эффективно будут взаимодействовать между собой продукты одного разработчика – Microsoft, ввиду чего, предлагается использовать именно SharePoint только для хранения данных, а в дальнейшем, при желании компании, она может организовать и корпоративный портал с помощью SharePoint.

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

Пример создания сайта в SharePoint представлен на рисунке.

Создание сайта в SharePoint
Создание сайта в SharePoint

Принципы организации загрузки документов и работы с сайтами на SharePoint:

  • доступ к полному хранилищу данных и файлов принадлежит генеральному директору;

  • в каждой рабочей группе (отделе) есть управляющий, который имеет свой аккаунт SharePoint, как и все участники группы;

  • управляющий создает сайт в SharePoint и добавляет туда всех участников своей рабочей группы;

  • участникам рабочей группы доступны файлы сайта;

  • в файлах хранятся данные;

  • задача сотрудников рабочей группы – загружать новые данные в существующие файлы или загружать новые файлы в зависимости от ситуации и условий;

  • данные попадают в обработку MS Azure и приводятся к состоянию использования, добавляясь в базу данных;

  • сформированные данные становятся доступны сотрудникам в приложении Power BI для создания отчетов и визуализаций.

Интерфейс работы с документами сайта в MS SharePoint для сайта представлен на рисунке

Интерфейс SharePoint работы с документами
Интерфейс SharePoint работы с документами

Еще одним участником преобразования данных в потоке будет хранилище Azure Data Lake Storage, представляющий собой набор возможностей аналитики данных. Azure Data Lake Storage использует службу Azure как основу для создания корпоративного хранилища и позволяет обрабатывать поступающие данные, анализируя и объединяя их, формируя базу данных, из которой данные будут доступны для пользователей.

Для наглядного представления потока данных была составлена схема, представленная на рисунке

Поток данных
Поток данных

2 Создание визуализаций в MS Power BI Desktop

2.1 Общие сведения о MS Power BI Desktop

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

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

Выбранный продукт MS Power BI Desktop включает в себя три интегрированных между собой компонента, каждый из которых имеет свой интерфейс, возможности и возможности управления.

Интерфейс, представляющий подсистему визуализации и построения отчетов программы MS Power BI Desktop носит название Power View. В данной подсистеме интерфейс достаточно прост и может быть освоен пользователем на интуитивном уровне.

Интерфейс уровня визуализации данных и построения отчетов представлен на рисунке.

Интерфейс окна визуализаций MS Power BI
Интерфейс окна визуализаций MS Power BI

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

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

Еще один компонент работы с данными в программе MS Power BI Desktop является Power Query – инструмент, обеспечивающий самостоятельное обслуживания ETL и по своему принципу работы является надстройкой программы MS Excel. Power Query отвечает за извлечение данных из источников различного формата, позволяет производить их изменение в соответствующих потребностях формах представления. Попасть в область работы Power Query возможно посредством изменения запроса для данных таблиц, с которыми производится работа в MS Power BI Desktop. Интерфейс компонента Power Query представлен на рисунке

Интерфейс окна работы с запросами Power Query
Интерфейс окна работы с запросами Power Query

Основным элементом работы с данными и их управление осуществляется посредством таблиц. Информация хранится в столбцах и строках, на основе которых строятся различные визуальные элементы и представления.

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

В рамках практической части данной выпускной квалификационной работы основными компонентами, с которыми будет производится работа для формирования визуальных представлений данных будет использоваться такой компонент, как Power View, редко – Power Query, а для создания усложненных пользовательских элементов будут использоваться некоторые функции и вычисления на языке DAX.

2.2 Визуализация

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

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

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

Первая визуализация состоит из сводных данных по всей отрасли грузовых перевозок в России. Визуализация представлена на рисунке.

Визуализация показателей отрасли грузовых перевозок
Визуализация показателей отрасли грузовых перевозок

Основные элементы визуализации:

  • карточки с обобщенными показателями по отрасли грузовых перевозок;

  • круговая диаграмма, представляющая структуру грузовых перевозок по видам транспорта в долях от общего объема;

  • график динамики объема перевозки грузов по годам и видам транспорта;

  • таблица с показателями объема грузооборота по годам и видам транспорта с цветовым выделением значений таблицы по грузообороту;

  • фильтр в виде слайдера в правом верхнем углу визуализации для корректировки периода просмотра показателей.

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

Пример использования фильтра представлен на рисунке.

Применение фильтра-слайдера для визуализации
Применение фильтра-слайдера для визуализации

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

Представление по месяцам для графика объема перевозок представлено на рисунке.

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

После выбора детализации, бизнес-пользователю будет открыто новая страница с расширенной информацией по выбранным параметрам.

Детализация состоит из:

  • представления общего объема грузооборота в виде гистограммы;

  • карточки с указанием выбранного года (все данные указаны данные на конец года);

  • карточки представления общего объема грузооборота выбранного периода или периода и вида транспорта;

  • гистограммы с изменением объема грузооборота относительно объема предыдущего года;

  • гистограммы с помесячным представлением объема грузооборота.

Детализация представлена на рисунке

Детализация таблицы грузооборота по году
Детализация таблицы грузооборота по году

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

Детализация по виду транспорта представлена на рисунке

Детализация таблицы грузооборота по году и виду транспорта
Детализация таблицы грузооборота по году и виду транспорта

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

Исходные данные базируются на большом количестве показателей компании, а конкретно – это показатели по:

  • парку вагонов в России и по операторам;

  • структуре парка (виды вагонов);

  • объемы грузооборота;

  • объемы перевозок грузов;

  • структура перевозки грузов (по видам различных грузов);

  • контейнерные перевозки;

  • основным операторам подвижного состава;

  • выручка и прибыль для компаний;

  • динамика и изменения показателей.

Визуальное представление данных по общим показателям железнодорожного транспорта представлено на рисунке

Визуализация показателей железнодорожного транспорта
Визуализация показателей железнодорожного транспорта

Для составления визуальной картины данных по железнодорожным грузовым перевозкам использовались следующие элементы:

  • гистограмма с накоплением для отображения структуры парка вагонов России и наблюдения за динамикой изменений;

  • табличное представление лидеров рынка оперирования железнодорожным транспортом по оценкам компании «Logistic Company» из рейтинга, составленного по основным показателям компаний;

  • круговая диаграмма по структуре перевозимых грузов по железным дорогам в целом;

  • диаграмма с областями, представляющая общий объем грузовых перевозок железнодорожным транспортом за последние 6 лет суммарно.

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

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

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

Открытие детализации информации по ж/д компаниям
Открытие детализации информации по ж/д компаниям

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

Детализация по железнодорожным операторам
Детализация по железнодорожным операторам

Все данные для компаний, в представленной визуализации, агрегированные и представлены только в разрезе лет, детальный просмотр по кварталам и месяцам недоступен ввиду конфиденциальности данных компаний «Logistic Company».

Рейтинг компаний-лидеров информационное агентство «Logistic Company» формирует по:

  • величине парка подвижного состава в управлении;

  • объему грузовых перевозок;

  • объему грузооборота;

  • финансовым показателям выручки и прибыли компании.

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

Для показателей финансовой деятельности, настроена расширенная подсказка в виде графика с иным типом визуального представления – гистограммой с накоплением, которое демонстрирует по столбцам объем выручки и объем чистой прибыли рядом с расчетом рентабельности чистой прибыли. Расчет рентабельности чистой прибыли производился с помощью создания меры для ее расчета DAX формулой.

Представление подсказки появляется при наведении курсора мыши в точку значения по году. Общий вид подсказки в режиме просмотра отчета представлен на рисунке

Расширенная подсказка представления
Расширенная подсказка представления

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

Полноценная гистограмма с накоплением для использования в подсказке к графику представлено на рисунке

Подсказка
Подсказка

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

Применение фильтра для визуализации информации по компаниям железнодорожных операторов представлено на рисунке

Применение фильтра визуализации ж/д операторов
Применение фильтра визуализации ж/д операторов

Помимо детализации данных таблицы компаний-лидеров железнодорожного рынка, визуализация данных по железнодорожным показателям позволяет просмотреть детальные данные по грузовым перевозкам и парку подвижного состава (вагонам).

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

Просмотр показателей ж/д перевозок по году
Просмотр показателей ж/д перевозок по году

К ранее описанным детализациям можно перейти через график общего объема перевозки грузов.

Детализации
Детализации

Детализация по показателям грузовых перевозок железнодорожного транспорта России раскрывает информацию по перевозкам в разрезе выбранного года. Здесь содержится информация по:

  • объемам и структуре перевезенных грузов за выбранный год;

  • контейнерным перевозкам;

  • изменению объема перевозки грузов относительно предыдущего года;

  • общему суммарному объему перевезенных грузов за выбранный год.

Представление контейнерных перевозок для данной визуализации выбрано не случайно. Контейнерные перевозки на рынке сейчас – популярное и развивающееся направление, поэтому информация об этом будет интересна, полезна и важна для клиента, ввиду чего именно объем контейнерных перевозок выбран, как один из элементов представления, для данной визуализации.

Визуализация детализации по объемам грузовых перевозок железнодорожного транспорта представлена на рисунке

Детализация перевозки грузов ж/д транспортом
Детализация перевозки грузов ж/д транспортом

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

Визуальное представление детальных показателей по структуре парка вагонов представлено на рисунке

Детализация структуры парка вагонов
Детализация структуры парка вагонов

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

Визуализация показателей по грузовым перевозкам морским и водным транспортом представлена на рисунке

Показатели морского и внутреннего одного транспорта
Показатели морского и внутреннего одного транспорта

Визуализация состоит из:

  • гистограммы с накоплением, представляющей структуру грузовых перевозок по направлениям: каботажному (внутри страны) плаванию и заграничному;

  • кольцевой диаграммы, представляющей структуру отправки грузов из портов России по основным видам транспортировки;

  • графика с областью, представляющим динамику перевозок грузов морским и внутренним водным транспортом суммарно по годам;

  • гистограммы, представляющей сравнение объема перевалки грузов в портах по бассейнам за два последних отчетных периода.

Визуальное представление данных по грузовым перевозкам воздушным транспортом представлена на рисунке

Визуализация показателей перевозок воздушным транспортом
Визуализация показателей перевозок воздушным транспортом

Визуализация показателей перевозок воздушным транспортом состоит из:

  • карточки значения с суммарным объемом перевезенных грузов за последние 6 лет;

  • круговой диаграммы с представлением структуры рынка авиаперевозчиков, их долями объема грузовых перевозок на рынке;

  • гистограммы с накоплением, которая отображает объем и структуру перевозок по направлениям движения;

  • гистограмму с представлением объема перевозок грузов и пассажиров, ранжированную по аэропортам.

Таким образом, с помощью платформы MS Power BI Desktop на основе данных, с которыми производит работу информационное агентство «Logistic Company» для создания своих информационных продуктов, построены визуализации данных с различными графическими элементами и использованием иных возможностей программы.

2.3 Дополнительные визуализации

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

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

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

DAX – это язык функций и формул, входящий в состав некоторых платформ и программного обеспечения от компании Microsoft (Power BI, Excel (Power Pivot) SSAS Tabular (SQL Server)). Язык DAX не позволяет создавать пользовательские функции, циклы и прочие элементы, доступные для создания на других языках программирования. Он позволяет использовать только готовый встроенный функционал для составления расчетов и вычислений с целью наполнения отчетов и визуализаций.

Первая визуализация, построенная путем создания дополнительных таблиц и мер на языке DAX, представленная на рисунке позволяет сравнивать два настраиваемых пользователем периода времени не зависимо от продолжительности. Реализуется данная визуализация путем определения таблиц дат для обоих периодов времени и добавления мер для расчетов и использования в таблице для их представления. Визуальные элементы, используемые в данной визуализации:

  • слайдер фильтрации изначальной даты;

  • слайдер фильтрации для даты сравнения;

  • таблица с вычисляемыми мерами;

  • гистограмма со сравнением периодов по видам транспорта.

Визуализация сравнения периодов
Визуализация сравнения периодов

Данный визуальный отчет строился на основе данных значений грузового оборота в млрд. т-км по видам транспорта из таблицы Total.

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

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

На рисунке представлен код создания таблицы Дат на языке DAX

Создание таблицы даты на языке DAX
Создание таблицы даты на языке DAX
Simple Date = 
VAR FirstFiscalMonth = 7 -- First month of the fiscal year
VAR FirstDayOfWeek = 0   -- 0 = Sunday, 1 = Monday, ...
VAR FirstYear =          -- Customizes the first year to use
    YEAR ( MIN ( Total[Дата] ))
RETURN
GENERATE (
    FILTER (
        CALENDARAUTO (),
        YEAR ( [Date] ) >= FirstYear
    ),
    VAR Yr = YEAR ( [Date] )            -- Year Number
    VAR Mn = MONTH ( [Date] )           -- Month Number (1-12)
    VAR Qr = QUARTER ( [Date] )         -- Quarter Number (1-4)
    VAR MnQ = Mn - 3 * (Qr - 1)         -- Month in Quarter (1-3)
    VAR Wd = WEEKDAY ( [Date], 1 ) - 1  -- Weekday Number (0 = Sunday, 1 = Monday, ...)
    VAR Fyr =                           -- Fiscal Year Number
        Yr + 1 * ( FirstFiscalMonth > 1 && Mn >= FirstFiscalMonth )
    VAR Fqr =                           -- Fiscal Quarter (string)
        FORMAT ( EOMONTH ( [Date], 1 - FirstFiscalMonth ), "\QQ" )
    RETURN ROW (
        "Year", DATE ( Yr, 12, 31 ),
        "Year Quarter", FORMAT ( [Date], "\QQ-YYYY" ),
        "Year Quarter Date", EOMONTH ( [Date], 3 - MnQ ),
        "Quarter", FORMAT ( [Date], "\QQ" ),
        "Year Month", EOMONTH ( [Date], 0 ),
        "Month", DATE ( 1900, MONTH ( [Date] ), 1 ),
        "Day of Week", DATE ( 1900, 1, 7 + Wd + (7 * (Wd < FirstDayOfWeek)) ),
        "Fiscal Year", DATE ( Fyr + (FirstFiscalMonth = 1), FirstFiscalMonth, 1 ) - 1,
        "Fiscal Year Quarter", "F" & Fqr & "-" & Fyr,
        "Fiscal Year Quarter Date", EOMONTH ( [Date], 3 - MnQ ),
        "Fiscal Quarter", "F" & Fqr
    )
)

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

Модель связи данных для реализации визуализации сравнения настраиваемых временных периодов представлена на рисунке ниже. Для этого использовались таблицы:

  • Simple Date;

  • Comparison Date;

  • Total.

Модель данных
Модель данных

Основным элементом визуализации сравниваемых периодов является матрица со значениями формируемых вычисляемых мер распределенных по видам транспорта по строкам. Меры для вычислений создаются в той таблице, данные которой используются в данной визуализации, здесь – таблица Total.

Меры для вычислений:

  • сумма по обороту перевозок (связана с таблицей дат и зависит от нее);

  • сумма по сравниваемому обороту перевозок (связана с таблицей дат сравнения и зависит от нее);

  • скорректированная сумма сравнительного оборота (корректировка значения сравнительной суммы продаж по количеству дней в двух периодах).

Распределение полей данных в матрице представлено на рисунке

Распределение полей матрицы
Распределение полей матрицы

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

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

Comparison Оборот = 
VAR ComparisonPeriod =
    CALCULATETABLE (
        VALUES ( 'Simple Date'[Date] ),
        REMOVEFILTERS ( 'Date' ),
        USERELATIONSHIP ( 'Simple Date'[Date], 'Comparison Date'[Comparison Date] )
    )
VAR Result =
    CALCULATE (
        [Сумма оборот],
        ComparisonPeriod
    )
RETURN
    Result 

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

Adjusted Comp. Оборот = 
VAR CurrentPeriod =
    VALUES ( 'Simple Date'[Date] )
VAR ComparisonPeriod =
    CALCULATETABLE (
        VALUES ( 'Simple Date'[Date] ),
        REMOVEFILTERS ( 'Date' ),
        USERELATIONSHIP ( 'Simple Date'[Date], 'Comparison Date'[Comparison Date] )
    )
VAR ComparisonOborot =
    CALCULATE ( [Сумма оборот], ComparisonPeriod )
VAR DaysInCurrentPeriod =
    COUNTROWS ( CurrentPeriod )
VAR DaysInComparisonPeriod =
    COUNTROWS ( ComparisonPeriod )
VAR DailyComparisonOborot =
    DIVIDE (
        ComparisonOborot,
        DaysInComparisonPeriod
    )
VAR Result =
    DaysInCurrentPeriod * DailyComparisonOborot
RETURN
    Result

Таким образом, с помощью языка DAX удалось создать визуализацию, способную подстроиться под необходимость бизнес-пользователя при сравнении различных временных периодов.

Вторая визуализация, построенная с использованием языка DAX, состоит из трех таблицах, представляющих данные по разным уровням детализации данных: по годам, кварталам и месяцам. Данный паттерн визуализации осуществляет расчет роста или падения показателей по периодам. Сравнение происходит с каждым предыдущим периодом.

Визуализация с таблицами представлена на рисунке

Визуализация таблиц динамики показателей по периодам
Визуализация таблиц динамики показателей по периодам

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

Полный список мер представлен на рисунке ниже.

Используемые меры:

Перевозки MOM % = 
DIVIDE (
    [Перевозки MOM] ,
    [Перевозки PM]
)

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

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


  1. Trabant_Vishnya
    05.01.2022 04:36
    +1

    От статьи веет имитацией бурной деятельности для заказчика.
    Зачем собирать столь сложно таблицу Дат на DAX и тем самым нагружать модель данных? Можно еще на этапе Dataflow воткнуть простой запрос на M:

    let
    Source = List.Dates(#date(2015, 1, 1),Duration.Days(Date.From(DateTime.LocalNow())-#date(2015, 1, 1))+1,#duration(1,0,0,0)),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), {"Date"}, null, ExtraValues.Error),
    #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Date", type date}}),
    #"Inserted Day" = Table.AddColumn(#"Changed Type", "Day", each Date.Day([Date]), Int64.Type),
    #"Inserted Month" = Table.AddColumn(#"Inserted Day", "Month", each Date.Month([Date]), Int64.Type),
    #"Inserted Month Name" = Table.AddColumn(#"Inserted Month", "Month Name", each Date.MonthName([Date], "en-US"), type text),
    #"Inserted Quarter" = Table.AddColumn(#"Inserted Month Name", "Quarter", each "Qtr" & Text.From(Date.QuarterOfYear([Date])), type text),
    #"Inserted Year" = Table.AddColumn(#"Inserted Quarter", "Year", each Date.Year([Date]), Int64.Type),
    #"Inserted WeekOfYear" = Table.AddColumn(#"Inserted Year", "WeekofYear", each Date.WeekOfYear([Date], Day.Monday), Int64.Type),
    #"Inserted DayOfWeekName" = Table.AddColumn(#"Inserted WeekOfYear", "DayOfWeekName", each Date.DayOfWeekName([Date])),
    #"Inserted DayOfWeekNumber" = Table.AddColumn(#"Inserted DayOfWeekName", "DayOfWeekNumber", each Date.DayOfWeek([Date], Day.Monday), Int64.Type),
    #"Inserted Start of Week" = Table.AddColumn(#"Inserted DayOfWeekNumber", "Start of Week", each Date.StartOfWeek([Date]), type date),
    #"Inserted End of Week" = Table.AddColumn(#"Inserted Start of Week", "End of Week", each Date.EndOfWeek([Date]), type date)
    in
    #"Inserted End of Week"

    И в целом местами буллшит-бинго из визуалок Pbi по удобству пользования для заказчика.
    Особенно 6 страница, тут для пользователя инсайты вытянуть сложнее всего


    1. andgenn Автор
      05.01.2022 09:52

      Можно и на датафлоу написать запрос, согласен)

      Шестая страница больше тестовая получилась)


      1. Kotelock
        06.01.2022 14:28
        +1

        На мой взгляд, здесь decomposition tree не подходит, лучше просто column chart оставить, но в axis использовать не просто месяц, а именно hierarchy, которую надо заказчику (год, финансовый год, квартал, месяц, и т.д.). Тогда можно удобно гулять вверх и вниз по иерархии.


        1. andgenn Автор
          06.01.2022 14:30

          По хорошему даже можно было бы еще добавить Bookmark navigator, который позволяет передвигаться по разным срезам. Но тут действительно этот компонент не вписывается, так как изначально его суть в другом.
          Убрал данную страницу и заодно подкорректировал остальные=)


  1. Kkkk_06
    05.01.2022 09:49
    +1

    Хорошая работа проделана. Интересно узнать обратную связь от самих бизнес-пользователей. Потому что строить аналитику хотя бы без базы данных, источники которые в лучшем случае - Excel - обычно это пустая трата времени. Плюс есть вопросы к визуализации, от простых круговых диаграмм с более 5 категориями плохо становится