- 
Использовать одинаковые названия колонок в разных датасетах для использования единого фильтра В Apache SuperSet есть такая замечательная функция, как кросс-фильтрация - возможность фильтровать 2-более разных датасета в рамках одного дашборда по колонкам с одинаковым названием.  2 разных виртуальные таблицы с одинаковым названием колонок = 1 фильтр вместо 2х. На практике, часто начинающие BI-щики плодят множество лишних фильтров, чтобы покрыть все задействованные на дашборде визуализации хотя при грамотном и стандартизированном нейминге этого можно избежать и улучшить UX. Так пусть же amount везде (в идеале, на уровне источника данных) будет amount, а customer_id будет customer_id, а не customer_id и id_of_customer. 
- 
Оптимизация производительности и асинхронная обработка Настройка CacheOut в Датасетах Для тяжёлых запросов и бэкенд-задач включите Celery-воркеры и Redis (или RabbitMQ) в качестве брокера и кеша. Это отделит задачу выполнения SQL от веб-сервера, сократит время отклика UI и предотвратит блокировку потоков Gunicorn.  В секундах задаём сколько держать кеш перед тем, как обновить Активируйте кэширование на уровне SQL Lab или отдельных Chart, чтобы повторные запросы обрабатывались быстрее. Параметры кэширования можно задать в superset_config.pyчерез ключиCACHE_DEFAULT_TIMEOUTиRESULTS_BACKEND.
- 
Настраиваем временной сдвиг для регулирования часового пояса Предположим, что ваш источник данных живёт по UTC-0, а бизнес и, следовательно бизнес, по UTC-4. Чтобы данные с типом Date не показывали искажённые данные следует устранить это расхождение через настройки конкретного датасета.  Смещение времени настаиваем уже в часах Важно, SQL_lab использует часовой пояс сервера, где развёрнут BI SuperSet. При желание, можно настроить часовой пояс SQL_lab либо всего BI SuperSet через superset_config.py.
- 
Используем фильтр "Единицы измерения времени" - 
BI SuperSet по мимо классического фильтра "Интервал Дат" имеет ещё "Единицы времени", который позволяет выбрать в чём мерить - года, дни, минуты. +1 полезная фича при анализе данных дашборда и -1 причина делать лишний визуал.  При желание, можно добавить адекватный перевод этих единиц 
 
- 
- 
В фильтрах есть переключатель WHERE|HAVING Мелочь, на которую не все обращают внимание, но при задаче фильтра в чарте можно выставлять не только WHERE, но HAVING, чтобы бывает полезно в работе.  
- 
Прописывать описание чартов и дашбордов В настройках чарта, в описании пишем свой текст, сохраняем.  Просто пример, но описание может (должно) быть более информативным :)  В дашборде это уже выглядит, как дополнительная строка в верху графика 
- 
Отключаем // настраиваем content_security_policy По умолчанию, в дашбордах BI SuperSet, в блоке оформления Текст нельзя отобразить некий медиафайл из вне, но, если настроить content_security_policy в superset_config.py, то доступ не будет ограничен и объект появится. Тут уже всё зависит от вашей индивидуальной политики ИБ. Можно, как просто отключить csp полностью, так и задать ограничение для конкретного домена. TALISMAN_ENABLED = False TALISMAN_CONFIG = { "content_security_policy": None, "force_https": True }или жеTALISMAN_CONFIG = {
 'content_security_policy': {
 'img-src': ["'self'", "data:", "https://*.example.com"], # Разрешить определенные домены
 },}
- 
Пользуемся активнее Custom Metrics и Custom columns, а не делаем 5 копий одного датасета. - Metrics (Метрики) представляют собой агрегированные выражения, например - SUM(sales)или- AVG(price)
- Custom Columns (Пользовательские столбцы) Это вычисляемые поля, добавляемые к таблице на уровне источника данных. Используются для расширения набора колонок, например - col1 + col2или- SUM(CASE WHEN status = 'completed' THEN amount ELSE 0 END). Могут быть использованы в Group By, фильтрах и визуализациях. Не могут быть использованы внутри Metrics, так как Superset не разворачивает их определения в SQL-запросе
 Бывает так, что нужно на основе одних и тех же данных (одного датасета) построить ряд визуализаций в разных единицах измерения или за разные периоды. Зачем же делать копии датасета, когда можно обойтись одним? ... Просто используем Metrics и Custom_columns. Например, хотим видеть какую-то метрику в нескольких единицах измерения: шт, $, % от ... Просто открываем вкладку Custom Columns и задаём логическое условие и как подходящие под условие значения (результат * на курс $). Или мы хотим иметь ср.кол-во заказов на день, то переходим в Metric и создаём новую метрику CAST(COUNT(DISTINCT "order_id") AS DECIMAL(10, 2))/'30' Ещё есть мощная Jinja, но о ней уже в следующей части ... 
- 
Настраиваем сертификацию и описание дашбордов. Сертификация в Apache Superset — это способ отметить определённые объекты (например, дашборды, чарты, датасеты, метрики) как проверенные и одобренные для использования внутри организации. Это бывает полезно, когда ваша организация не маленькая или количество объектов в BI перевалило за 100. С Помощью процедуры сертификации можно отделить dev, stage, prod визуализации между собой и дать пользователям больше доверия к дашбордам. С помощью фичи можно наладить базовый процесс Контроля Качества Данных и отслеживать% «Проверенных дашбордов» и кто конкретно утвердил. Полезно на уровне ролей разделять доступ к «проверенным» и «непроверенным» объектам. Поэтому не стоит пренебрегать галочкой «Сертифицировано». 
- 
Периодические «Субботники» дашбордов. У меня такие субботники проходят, как минимум раз в месяц и позволили посчитать первую версию Health Score. Помимо простого просмотра всего, чтобы было сделано мной или BI‑специалистами делается следующее: Объекту (дашборду, датасету) начисляются «штрафные» баллы (чем больше тем «хуже здоровье») за: 
 — скорость, медленные запросы и ошибки (либо сделано на скорую руку без витрин)
 — отсутствие владельца
 — невостребованность — кол‑во просмотров дашборда < 3 за последние 2 месяца
 — заброшенность — срок с последнего обновления
 — дублиОсобое внимание если: - Критично важный объект 
- высокий MAU 
- используется топ-менеджментом 
 
Жду ваших лайфхаков. Как вернусь из отпуска, то возьмусь за Часть №2. Секунда самопиара и моего личного проекта, где я публикую Data в картинках.
 
          