7голосов
Голосовать
Completed

Custom SQL в качестве датасета

Возможностей DataLens по настраиванию датасетов на основе БД не всегда хватает. Например, соединить четыре таблицы цепочкой (а не звездой) не получится. Как решаю такие задачи сейчас: 1. Создал подключение. Например, к ClickHouse. 2. Создал в ClickHouse представление (view), в котором написал желаемый запрос. 3. Создал датасет на основе этого представления как таблицы. Минусы: 1. Лишнее представление в базе. 2. При необходимости поменять запрос приходится менять представление, что может повлечь изменение набора полей и датасет перестанет работать. Все это особенно неудобно в случае ad-hoc задач. Что хочется: 1. Создал подключение. 2. Создал датасет типа Custom SQL, в котором задан запрос к БД, формирующий таблицу-источник. ??? PROFIT И чтобы датасет не ломался полностью, если при изменении Custom SQL какое-нибудь поле пропало. При этом хочется иметь неограниченную поддержку SQL конкретной БД. То есть чтобы можно было написать буквально произвольный возвращающий таблицу запрос. Такой способ создания датасетов потребуется контролировать: выдавать права на произвольный SQL к БД хочется менее широкому кругу пользователей, чем всем тем, кто имеет права на создания датасетов. Возможно, решается отдельным типом подключения к БД, к которому можно подключать датасеты на базе Custom SQL, и выдачей на него прав ограниченной группе пользователей.