Чего хочу добиться:
— Есть витрина фактов: поездки / заказы, которые привязаны к карте (ГЕО)
— Хочу подсчитать метрику в привязке к точке (в радиусе) или зоне (GeoJSON, etc.) на карте
— Динамику метрики отследить за периоды времени
— Предоставить пользователям возможность интерактивно выбирать: точку на карте, радиус, временной период
Понятно, что имея любой SQL-клиент можно быстро и просто получать ответы на эти вопросы.
Но далеко не все пользователи готовы преодолеть порог и писать SQL-запросы.
Прототип запроса:
SELECT
order_id
, create_ts
, order_value
FROM analytics.f_orders AS o
WHERE TRUE
AND create_ts >= {{ time_filter.from_expr }}
AND create_ts < {{ time_filter.to_expr }}
AND status IN {{ filter_values('status') | where_in }}
AND greatCircleDistance(lon, lat, {{ longitude }}, {{ latitude }}) <= {{ radius }}
;
Пробую сделать это в Apache Superset
Прочел SQL Templating, просмотрел Preset Live Demo - Jinja Templating
— Вношу изменения в конфиг Superset:
ENABLE_TEMPLATE_PROCESSING: true, перезапускаю контейнеры. Без этого вообще дальше что-то пробовать бессмысленно— Пишу запрос в SQL Lab. Вписываю Jinja. Запрос отработает только если вписать дефолтные значения в меню Parameters
— Пытаюсь сохранить Virtual Dataset - получаю ошибку. Ок, иду на хитрость. Сохраняю без параметров. И далее редактирую в меню Edit Dataset
— И здесь опять вписываю дефолтные значения параметров, чтобы можно было создать Chart
— Пробую нанести Chart на Dashboard и использовать фильтры. Успеха нет. К сожалению, здесь мое терпение кончилось
☹️😑 Очень много шагов, много ошибок и действий к их устранению. Я оставляю эту идею.
Эта же задача решается крайне легко в Metabase - SQL parameters
Причем с продвинутым функционалом, документацией и примерами.
— Setting (Optional) SQL parameters
— Add a parameter to the URL and load the page.
— SQL variable types: Text, Number, Date, etc.
— Setting Default values
Вывод: В Superset это сделать Almost Impossible, в Metabase - крайне легко.
В тему сравнения плюсов и минусов и критериев выбора инструмента для BI-аналитики.
🌐 @data_apps | Навигация по каналу