Время прочтения: 5 мин.

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

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

Из всего многообразия аналитических решений в области BI-платформ я выбрал open source решение – Metabase, основываясь на личном опыте применения данного продукта при выполнении различных задач, в ходе реализации которых мне удалось выделить несколько отличительных преимуществ:

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

Установить Metabase можно как на контейнере Docker, так и с помощью Jar-файла. Я выбрал второй вариант установки и перед тем как начать убедился в актуальности установленной версии Java на персональном компьютере с помощью следующей команды.

Ввод:

java -version

Вывод:

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

Ввод:

mkdir ~/metabase

mv Users/Artem/Downloads/metabase.jar ~/metabase

После этого запустил metabase.jar

          Ввод:

java -jar metabase.jar

Для того, чтобы открыть пользовательский интерфейс необходимо перейти по адресу http://localhost:3000 и зарегистрироваться. После этого появится главная страница Metabase.

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

Каждую таблицу можно открыть и увидеть достаточно привычную для нас картину — бесчисленное множество колонок и строк.  Слева от выборки в подменю можно выбрать способ визуализации всех данных из таблицы.

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

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

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

Предварительные результаты вывода запроса.

Сделаю выборку по колонкам, которые необходимы для анализа.

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

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

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

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

SELECT "Products"."CATEGORY" AS "Products__CATEGORY", count(*) AS "count"
FROM "PUBLIC"."ORDERS"
LEFT JOIN "PUBLIC"."PRODUCTS" "Products" ON "PUBLIC"."ORDERS"."PRODUCT_ID" = "Products"."ID"
GROUP BY "Products"."CATEGORY"
ORDER BY "Products"."CATEGORY" ASC

Так же обращаться к базам можно напрямую через синтаксис SQL.

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

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

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

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

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