![](https://habrastorage.org/getpro/habr/upload_files/1b2/1c7/b84/1b21c7b846d10eb8b063c514668c1d3f.png)
Хабр, привет!
Меня зовут Александр Ларин, я руководитель центра технической поддержки и обучения в GlowByte и лидер самого большого в России сообщества FineBI.
В данной статье я хотел бы показать новичкам основы работы в FineBI: как подключиться к источнику данных, создать на его основе датасет, провести обработку данных, собрать свой первый дашборд – и всё это сделать буквально за 30 минут. А тех, кому этого будет недостаточно, приглашаю на наши курсы.
Прежде чем приступим, небольшой офтоп. Приглашаю на онлайн-конференцию Fine Day.
Fine Day online: Истории цифровизаторов - уникальное мероприятие для цифровых инноваторов! Присоединяйтесь к нам, чтобы узнать истории успеха от ведущих цифровизаторов, включая представителей АвтоВАЗа, Министра здравоохранения Калининградской области, эксперта в области построения BI и компании ПИК.
Дашборд – это интерактивный инструмент для визуализации данных, предназначенный для представления ключевой информации о бизнес-процессах или метриках в удобной форме.
Дашборды обладают функциональностью интерактивного взаимодействия. Пользователи могут взаимодействовать с графиками, фильтрами и другими элементами управления, чтобы получать детальную информацию, а отображение нескольких графиков на одной странице, позволяет быстро получать обзорную информацию о различных аспектах бизнеса или процесса.
![Пример сложного дашборда со многими компонентами Пример сложного дашборда со многими компонентами](https://habrastorage.org/getpro/habr/upload_files/b9f/cee/5c0/b9fcee5c06887bd40814389136087009.png)
Сегодня мы научимся строить дашборд, который позволит анализировать продажи небольшого розничного магазина масштабных моделей классических автомобилей.
1. Подключение источника данных
В FineBI существует несколько способов получения данных. Рассмотрим один из основных – подключение к базе данных. Если возможности создать подключение к базе данных нет, то можно загрузить данные из Excel-файла.
Воспользуемся готовой БД classicmodels, которую можно скачать по данной ссылке. Она содержит типичные бизнес-данные, включая информацию о клиентах, товарах, заказах на продажу, позициях заказа на продажу и т. д. Скачанный файл можно открыть в любой СУБД, например MySQL Workbench.
![ER-диаграмма БД ER-диаграмма БД](https://habrastorage.org/getpro/habr/upload_files/011/30f/5c7/01130f5c790da820a448942d61c914e1.png)
Для создания нового подключения перейдем на вкладку Data Connection Management и нажмем New Data Connection. FineBI из коробки предоставляет готовые коннекторы к популярным СУБД. Выбираем подходящий. Остается только ввести необходимые данные для подключения.
![Форма подключения базы данных Форма подключения базы данных](https://habrastorage.org/getpro/habr/upload_files/199/411/421/199411421b1b4ca548aec0c9ae9919a1.png)
2. Создание датасетов
Переходим во вкладку Public Data, где хранятся датасеты. В FineBI доступно 2 режима подключения к источнику данных: Spider (сохранение данных в кэш) и Direct Data (прямое/лайв соединение к источнику). Нажав на шестеренку рядом с Public Data, можно выбрать подходящий режим. В нашем случае можно выбрать любой режим, в реальных задачах выбор режима зависит от объема запрашиваемых данных, частоты обновления источника и других аспектов.
Нажмем на плюс рядом с нужной папкой, выберем Database Table, далее – нужные таблицы из подключения. Выберем таблицы customers, orderdetails, orders, products, payments.
![Раздел Public Data Раздел Public Data](https://habrastorage.org/getpro/habr/upload_files/9a1/3ad/bd1/9a13adbd11d86cdd1304b7bebf355e6d.png)
Нажмем на кнопку Edit. Перед нами откроется интерфейс с такими инструментами предварительной обработки данных из БД, как выбор нужных полей, смена типа данных для полей, преобразование строки в колонку, колонка с рекурсией. Для поля orderNumber (таблицы orders и orderdetails) поменяем тип c расчетного на текстовый. Это позволит нам в будущем удобно фильтровать данные по номеру заказа.
![Интерфейс предобработки данных датасета Интерфейс предобработки данных датасета](https://habrastorage.org/getpro/habr/upload_files/3d1/113/630/3d1113630c8e8b64ac0d864f7c95bdaa.png)
3. Подготовка данных
На вкладке My Analysis хранятся дашборды пользователя. Это своего рода песочница, в которой можно создавать новые объекты анализа. Создание дашборда включает в себя несколько этапов:
обработку данных,
создание отдельных визуализаций (компонентов),
размещение компонентов на дашборде.
Весь процесс хранится в объекте Analysis Subject.
![Раздел My Analysis Раздел My Analysis](https://habrastorage.org/getpro/habr/upload_files/842/ac6/f67/842ac6f67adbc97766ce17ba566af71b.png)
Создадим новый Analysis Subject. Далее откроется новая страница, предлагающая выбрать источник данных для дашборда. Выбираем созданные ранее датасеты и жмем ОК.
![Выбираем датасеты для дашборда Выбираем датасеты для дашборда](https://habrastorage.org/getpro/habr/upload_files/40a/29a/4e6/40a29a4e615de12846a7503d42fff872.png)
На вкладке Data происходит подготовка данных для анализа. FineBI предлагает много инструментов для обработки данных: объединение, пересечение, фильтры, добавление новых столбцов и др.
Обработанные датасеты называются Self-Service Dataset (SSDS), их можно опубликовать на платформе для других пользователей для совместной работы.
![Пример объединения двух таблиц с помощью JOIN на вкладке Data Пример объединения двух таблиц с помощью JOIN на вкладке Data](https://habrastorage.org/getpro/habr/upload_files/287/65b/255/28765b255193943f675d6592e76bcb3a.png)
На вкладке Model View настроим связи между таблицами, перетащив их друг на друга. FineBI автоматически определит поле для ключа и тип связи: 1:1, 1:N или N:1. Это позволит строить визуализации, используя данные из нескольких таблиц.
![Построение связей между таблицами в Model view Построение связей между таблицами в Model view](https://habrastorage.org/getpro/habr/upload_files/8ac/39b/a75/8ac39ba75bcbf70ae9ae0ea2abd9cf5f.png)
4. Создание визуализации
Приступим к созданию визуализаций. В форме подготовки данных нажмем Add Component и создадим новый компонент визуализации. Откроется форма создания нового компонента – слева представлена форма со списком полей нашего датасета, в центральной части – форма настройки компонента, а справа – форма предварительного просмотра.
![Пустая форма компонента (визуализации) Пустая форма компонента (визуализации)](https://habrastorage.org/getpro/habr/upload_files/17f/b48/d14/17fb48d148f5c51934fb08101af4062f.png)
FineBI предлагает заготовки для многих типов визуализаций. Они представлены в секции Chart Type. Выбрав Custom Chart, можно комбинировать основные типы визуализаций (например, столбчатая диаграмма + линейный тренд).
Все столбцы делятся на индикаторы (Indicator) c типом значения и измерения (Dimension), с типом текст или дата. Для измерений можно настроить сортировку, группировку, фильтр и пр. Для индикаторов можно настроить сортировку, тип агрегации (сумма, среднее и т. д.), быстрое вычисление (чтобы не создавать множество дополнительных расчетных индикаторов) и пр. В FineBI есть возможность конвертировать расчетное поле в измерение и наоборот.
![Конвертация Конвертация](https://habrastorage.org/getpro/habr/upload_files/718/413/43c/71841343c6caaef079a52e1935d7e453.png)
Создадим расчетный индикатор TotalSum, который позволит нам определить стоимость заказа, т. к. данный показатель отсутствует в нашем датасете.
![Add Calculator Indicator в меню Add Calculator Indicator в меню](https://habrastorage.org/getpro/habr/upload_files/ada/864/966/ada8649669d127417cb32e7e2d7aae59.png)
Для расчета нужно перемножить поля quantityOrdered и priceEach из таблицы orderdetails. В поле ввода формулы введем формулу
${quantityOrdered}*${priceEach}
Для выполнения более сложных вычислений можем использовать функции, которые представлены в меню слева.
![Интерфейс Calculation Indicator Интерфейс Calculation Indicator](https://habrastorage.org/getpro/habr/upload_files/60d/6e8/44d/60d6e844d160e86890db25ce1d44c469.png)
Теперь создадим первую визуализацию с типом Group Table, которая позволит просматривать суммарные продажи для каждой категории. Поле с категорией можно развернуть и посмотреть продажи по отдельным товарам. В свою очередь, поле с товарами можно развернуть, чтобы посмотреть конкретные заказы и заказчиков. В нашей таблице измерения это название категории, название товара, номер заказа и имя клиента; индикатор – сумма сделки и процент от общей суммы продаж.
![Таблица Group Table Таблица Group Table](https://habrastorage.org/getpro/habr/upload_files/a49/6c1/f12/a496c1f1282b584591105291f2ee55b0.png)
![Настройка быстрых вычислений Настройка быстрых вычислений](https://habrastorage.org/getpro/habr/upload_files/811/e4c/cea/811e4ccea9efa6796b3e9404c619ec98.png)
Перейдем ко второй визуализации – линейному графику, который позволит анализировать продажи во времени. Для этого в меню Chart Type выберем Custom Chart. Далее выберем тип графика Line в Graphic Property. Расположим индикатор TotalSum на вертикальной оси. Горизонтальной осью графика будет дата заказа, то есть поле orderDate в таблице orders.
![Линейный график Линейный график](https://habrastorage.org/getpro/habr/upload_files/87c/bc6/80f/87cbc680f224c3ba464ffb692cd99260.png)
В меню Graphic Property можем настроить свойства графика, такие как цвет, толщина и стиль линии, отображение маркеров, подпись точек графика и др.
![Пример: настройка отображения продаж по каждой категории отдельным цветом Пример: настройка отображения продаж по каждой категории отдельным цветом](https://habrastorage.org/getpro/habr/upload_files/c3c/6fc/426/c3c6fc4261e68bc296107b8bd88d6d57.png)
В Component Style можем настроить общие свойства визуализации, такие как стиль и отображение осей, легенды графика, задний фон и др.
![Пример: изменение заднего фона визуализации Пример: изменение заднего фона визуализации](https://habrastorage.org/getpro/habr/upload_files/263/722/3b0/2637223b0b8acebe70ed3324d089300f.png)
5. Сборка дашборда
Итак, перейдем к сборке дашборда. Справа внизу нажмем на фиолетовый значок Add Dashboard. Перейдем на вкладку Dashboard. Перед нами откроется пустая форма, на которую мы перетащим компонент-таблицу и компонент-график.
![Форма сборки дашборда Форма сборки дашборда](https://habrastorage.org/getpro/habr/upload_files/548/abf/bae/548abfbaeb4220f4b111acc823a414d6.png)
Добавим фильтры, чтобы был удобный поиск по названию продукта, имени покупателя и номеру заказа. Для этого выберем сверху Filter Component. В открывшемся меню найдем Text List Filter Component. Чтобы добавить фильтр по имени заказчика, выберем слева в интерфейсе фильтра таблицу customers и перетащим customerName в поле Field. Аналогично сделаем фильтры по названию продукта и номеру заказа.
![Настройка Text List Filter Component Настройка Text List Filter Component](https://habrastorage.org/getpro/habr/upload_files/26c/08e/a66/26c08ea66417fbc595835feb5a5ea28a.png)
После того как мы разместили все фильтры и компоненты на дашборде, можем приступать к визуальному оформлению дашборда.
Поменяем стиль нашего дашборда, чтобы он выглядел интереснее. FineBI предлагает несколько готовых стилей в меню Preset. Также можно настроить собственную форму в меню Custom.
![Настройки Dashboard Style Настройки Dashboard Style](https://habrastorage.org/getpro/habr/upload_files/223/943/574/22394357476a810ece83b9ea6880ca6b.png)
Посмотрим на финальный результат:
![Пример готового дашборда Пример готового дашборда](https://habrastorage.org/getpro/habr/upload_files/0ed/2bc/503/0ed2bc503dd0f35326228cca5f0139d9.png)
Заключение
Итак, в данной статье мы собрали несложный дашборд с линейным графиком, вложенной таблицей и фильтрами, который позволяет быстро найти нужные заказы и посмотреть доход магазина. Получившийся дашборд можно сделать общедоступным по публичной ссылке, опубликовать на платформе, экспортировать в Excel и PDF.
Надеемся, что вам было интересно и полезно! Не забывайте, что в GlowByte мы предлагаем обучение по работе с FineBI и техподдержку для этого инструмента! Если у вас возникнут вопросы или понадобится помощь, наша команда сертифицированных специалистов всегда готова помочь.
И не забудьте присоединиться к нашему сообществу в Telegram! Там вы сможете обмениваться опытом с другими пользователями FineBI, задавать вопросы и оперативно узнавать об обновлениях.