День 3.
Строим первый дашборд. Загружаем данные из базы

Всем привет! Сегодня мы создадим первый дашборд в Visiology.

Как известно, для создания дашборда необходимо:
1
2
3
Загрузить данные из источника в BI
Настроить связи между данными (создать модель)
Визуализировать данные в конструкторе дашбордов
Давайте начинать!

Загрузка данных в ViQube

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

✅Раскройте базу с меткой Sprint 2023 в названии. Здесь мы и будем работать.

Сейчас эта база пуста, в ней нет данных. Чтобы они там появились, нужно добавить загрузчики. Загрузчики позволяют загрузить в ViQube данные из другой СУБД, файлов Excel или CSV.

✅Перейдите в раздел загрузчиков.

✅Добавьте новый загрузчик.

Начнем с таблицы, содержащей факты продаж.
✅Назовем загрузчик Leads.

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

При импорте из БД, данные получаются за счет выполнения SQL-запроса. В нашем случае запрос будет такой:

SELECT
              "Leads".*

FROM
              "Leads"
Он означает: “загрузи все поля (*) из таблицы Leads”. Конечно, здесь могут быть и более сложные запросы.

✅Сохраните настройки.

✅Зайдите в редактирование структуры данных.
Вам откроется предпросмотр данных. Какова структура таблицы, с которой мы работаем?

Таблица Leads - это лог событий по сделкам. Для каждой сделки (поле Sales_ID) может быть 2 события: создание сделки и закрытие сделки, каждое событие со своей датой. Единое поле дат в этой таблицы - Date, а тип события определяется в поле Date_type.

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

Таким образом, по одной сделке в этой таблице может быть до 2-х записей, и общая структура данных в таблице такая:
Чтобы мы могли оперировать данными на визуализации, нужно разметить в таблице Показатели и Измерения.

Разметка показателей и измерений

✅Кликните по перечеркнутому кружку рядом с полем Revenue. Перечеркнутый кружок значит, что полю не присвоена никакая роль.

✅Выберите роль Показатель
✅Выберите вид агрегации SUM

Первым делом, система попросит вас ввести наименование группы показателей. Группа показателей - это наименование раздела, в который будут помещены показатели на основе данных из этой таблицы.

✅Назовем нашу группу “Сделки”.
После сохранения, группа показателей данной таблицы отобразится над полями. Мы также можем отредактировать название поля, которое будет выводиться в списке показателей. Давайте назовем его “Сумма сделки”.

✅Также, давайте добавим показатель в виде суммы по полю Amount.

Как видите, вводить название группы показателей от нас не больше просят.
✅Переименуем Amount в Количество.

Однако, одними показателями сыт не будешь. Нужно разметить также измерения, чтобы отображать показатели в их разрезе.

Начнем с поля Delivery_city.
✅Щелкаем по перечеркнутому кружку, выбираем Измерение > Создать новое.


Назовем наше измерение “Сделки”. На самом деле, измерение - это не свойство отдельно взятого поля, а группа полей, которые используются как аналитические разрезы.


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

✅Переименуем поле в Delivery_city в “Город доставки”

В таблице сделок есть еще одно поле, которое интересует нас как разрез свойств сделок. Это поле Status. Ему тоже надо назначить измерение. Но теперь мы не будем создавать новое, а ✅выберем существующее, т.е. измерение Сделки.
✅Само поле переименуем в Статус.

Вот результат
✅Также, добавим в измерение Сделки поле Date_type.
Можно назвать его “Тип события”.

✅Сохраняем результат нашей работы.

Возможно, вы работали раньше в BI-системах, где понятие “Измерение” всегда относилось к какому-то одному полю. И в терминах этих систем у нас тут должно быть 3 измерения: Город доставки, Статус сделки, Тип события. Из-за этого сейчас картина не очень понятная: почему мы добавили 3 разных поля в одно измерение, да еще и назвали его “Сделки”?
Не беспокойтесь, ситуация прояснится на этапе сборки дашборда ;)
Евгений Стучалкин
Методолог системных подходов в разработке бизнес-аналитики
✅Чтобы сохранить внесенные в структуру изменения, нужно нажать на кнопку Загрузить данные.

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

Однако, мы чуть не забыли про важную деталь!
Календарь! Поэтому, давайте для дополним модель справочной таблицей-календарем.

✅Для этого создадим еще один загрузчик, назовем его Календарь. Загрузка будет идти из той же базы, что и для Leads.

Запрос для загрузки данных:

SELECT
             "Calendar".*

FROM
              "Calendar"
✅Зайдем в настройки структуры. Первым делом, изменим тип данных на просто Дата, для поля Date.
Это важно для корректной связи данных.

✅Для поля Date создайте новое измерение Календарь.
Поместите в это измерение все поля данной таблицы.
✅Переименуйте поле Date в Дата.
Сохраните изменения и загрузите данные.

Теперь, нам нужно связать данные календаря, и таблицы сделок.
✅Для этого донастроим загрузчик Leads. Полю Date в таблице Leads выставьте тип данных Дата.

А теперь, зададим полю Date измерение. Но на этот раз мы будем не создавать новое, а выбирать существующее:

✅В открывшемся окошке выбираем измерение Календарь, раскрываем список входящих в него полей.
Выбираем поле Дата, как ключевое поле для связи разрезов измерения Календарь и таблицы Leads.

(Набор полей в вашей базе данных может отличаться)

✅Сохраняем изменения и загружаем данные заново.

Именно так в Visiology 2 устанавливаются связи между данными. Позже мы рассмотрим эту механику более детально.

Построение базового дашборда

✅Запустите дизайнер дашбордов, нажмите на кнопку “Создать”, и задайте название дашборда с вашими фамилией и инициалами.

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

✅Перейдите в раздел “Вставка”, и выберите визуализацию График.


✅Выделите график. Вывод данных осуществляется с помощью раздела Привязка данных в панели справа.

Прежде всего нужно выбрать, откуда в визуализацию будут поступать данные. Помимо ViQube, есть возможность использования языков программирования Python и C#. А также заполнить данные от руки в таблицу.

Однако нам нужен именно ViQube.

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

Вам будет доступна только одна группа - Сделки. Выбираем ее.

Теперь нам нужно выбрать показатель.
✅Выберите Сумму продаж.

Отлично, у нас есть картинка! Однако, без аналитического разреза (измерения), она не несет в себе большого смысла.

В Visiology добавлять измерения можно двумя способами.

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

✅Добавьте в качестве измерения в строках поле Date_YM.

И вот у нас выводится симпатичный график.

Давайте настроим для графика фильтрацию.
✅Для этого добавим над ним элемент Фильтр.

Для фильтра также нужно настроить запрос. Выбираем источник ViQube, вариант “без группы показателей”.

✅В качестве измерения установим поле Date_Y из календаря.

✅Тут же, в привязке данных, отмечаем, на какие визуализации должен влиять фильтр.


Теперь при выборе на фильтре года мы увидим отфильтрованный график.
Вот и все основы построения визуализаций в Visiology. Возможно, вы спросите: “Постойте, мы просто вывели задвоенную сумму сделок, смешав успешные, открытые и проигранные сделки, сразу на дату закрытия и создания сделок. Что вообще можно понять по такому графику?” И будете совершенно правы. Но с этим мы будем разбираться в следующем занятии.

✅Сохраните ваш дашборд, чтобы не потерять результаты работы.

заключение

  • 1
    Чтобы анализировать данные в Visiology 2, нужно загрузить их в базу ViQube;
  • 2
    Для каждой таблицы создается группа показателей, в которой прописываются способы агрегации полей, по которым будут рассчитываться показатели. Группы показателей используются как каталог при построении дашбордов
  • 3
    Для аналитических разрезов нужно создавать Измерения. Измерение - это каталог полей, содержащий разрезы одной сущности. Также, с помощью Измерений настраиваются связи между таблицами.
  • 4
    Каждый дашборд может работать только с одной базой ViQube
  • 5
    Визуализации создаются в основном как настраиваемый запрос в ViQube