Наш сайт использует файлы cookie, чтобы улучшить работу сайта, повысить его эффективность и удобство
Настройки сookie
Файлы cookie, необходимые для правильной работы сайта, всегда разрешены.
Основные файлы cookie
Всегда Включено. Эти файлы cookie необходимы для использования веб-сайта и его функций. Их нельзя отключить. Они устанавливаются в ответ на ваши запросы, такие как настройка параметров конфиденциальности, вход в систему или заполнение форм.
Аналитические файлы cookie
Disabled
Эти файлы cookie нужны чтобы помочь нам понять, на сколько вам удобен наш веб-сайт и насколько эффективны наши маркетологи:) Смотрите список аналитических файлов cookie, которые мы используем.
Рекламные файлы cookie
Disabled
Эти файлы cookie предоставляют информацию рекламным компаниям с целью предоставления или ограничения персонализированной рекламы. Эта информация может быть передана другим рекламным компаниям. Смотрите список рекламных файлов cookie, которые мы используем.

Умножение двух чисел посредством разработки пользовательской функции Jinja в Apache SuperSet

блог о bi, №1 в рунете
Умение пользоваться шаблонами Jinja в Apache Superset позволит расширить функционал ваших дашбордов, а в некоторых случаях оптимизировать датасет. О таких свойствах мы писали в нескольких статьях: «Предварительная фильтрация данных во вложенном запросе по значениям фильтров в Apache Superset», «Создание юзеров с ограниченными правами в Apache Superset» и «Вывод разных полей датасета в одной колонке таблицы в зависимости от значения фильтра». Не многие знают, что есть возможность разработать свой шаблон, такой пример мы рассмотрим в этой статье.

Нельзя забывать включить шаблоны Jinja: установите ENABLE_TEMPLATE_PROCESSING значение True в файле \superset\docker\pythonpath_dev\superset_config.py.
Исходный код стандартных шаблонов Jinja можно посмотреть в файле \superset\superset\jinja_context.py.
Чтобы добавить пользовательскую функцию и расширить контекст Jinja, не делая новую сборку docker контейнера, необходимо определить JINJA_CONTEXT_ADDONS в файле \superset\docker\pythonpath_dev\superset_config.py следующим образом:

ㅤJINJA_CONTEXT_ADDONS = {
ㅤㅤ'<Название_шаблона>': <тело_функции>,
ㅤ}

В качестве примера создадим функцию tst, которая рассчитывает произведение двух чисел:

ㅤJINJA_CONTEXT_ADDONS = {
ㅤㅤ'tst': lambda x=0, y=0: x * y,
ㅤ}
Останавливаем контейнер и запускаем его снова:
docker-compose stop
docker-compose -f docker-compose-non-dev.yml up –d
Переходим по ссылке http://localhost:8088/login/, авторизуемся и заходим в SQLLab для проверки работоспособности нашего пользовательского шаблона:
На рисунке видно, что функция работает на входе у нас два числа 2 и 3, на выходе одно число 6.