Привет, Хабр!
Сегодня я рассмотрю основные возможности BI-инструмента с открытым исходным кодом Metabase.

Каждый, кто работает с данными, рано или поздно сталкивается с необходимостью выбора того либо иного 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-решений.