Визуализация в Superset
Теория: Вычисляемые поля и смешивание данных
В этом уроке мы поговорим о двух важных возможностях Apache Superset: вычисляемых полях (Calculated Fields) и объединении данных (Data Blending). Это можно представить как работу с данными в двух направлениях: *Calculated Fields расширяет данные "вертикально" – добавляет новые колонки *Data Blending расширяет "горизонтально" – добавляет новые данные
Если говорить на языке SQL, то Calculated Fields похож на ADD COLUMN, а Data Blending похож на UNION операции.
Calculated Fields
Начнем с вычисляемых полей. В Superset есть три основных типа вычислений:
- Арифметические действия
- Сложение, вычитание, умножение
- Возведение в степень
- Любые математические операции
- Агрегация
- Базовые функции: MIN, MAX, AVG, SUM, COUNT
- Дополнительные: COUNT DISTINCT и другие
- Можно комбинировать с условиями
- Условные вычисления Используем CASE для создания условной логики:
Давайте на практике посмотрим, как это работает. Создадим круговую диаграмму с условным вычислением. Для начала возьмем наш датасет с продажами и применим следующий запрос:
Добавим в Dimension колонку age. В Metrics добавим условие:
Мы исключаем из анализа все продажи покупателей младше 30. После применения видим, как изменились пропорции:
Хотя Superset и позволяет делать сложные вычисления, лучше тяжелые расчеты выполнять на уровне ETL или базы данных. BI-инструмент лучше использовать для визуализации и легких трансформаций.
Data Blending
Теперь поговорим об объединении данных (Data Blending). Superset может работать с разными источниками:
- Файлы:
- Excel, CSV, TXT
- XML, JSON
- Access
- Базы данных:
- SQL Azure
- MySQL
- MS SQL Server
- Oracle
- Apache Hadoop
- Внешние сервисы:
- CRM системы
- 1C
- Яндекс.Директ, Метрика
- Google Analytics
- Социальные сети
- Облачные хранилища:
- Google Drive
- Яндекс.Диск
Чтобы объединить данные из разных источников, нужно загрузить их в Superset и создать новый датасет. После этого можно использовать SQL Lab для объединения таблиц через JOIN или UNION.
Перед объединением убедитесь, что структура данных совместима. Лучше стандартизировать названия колонок и типы данных заранее. Также для сложных интеграций лучше использовать ETL-процессы.
И последнее: не пытайтесь делать слишком сложные трансформации в Superset. Этот инструмент отлично подходит для визуализации и анализа, но тяжелую обработку данных лучше делать на уровне базы данных или ETL-процессов.
Выводы
Сегодня мы познакомились с двумя важными возможностями Apache Superset: Calculated Fields и Data Blending. Эти инструменты помогают расширить возможности работы с данными и создать более сложные визуализации. Но помните, что лучше всего использовать Superset для визуализации и анализа, а сложные трансформации делать на уровне базы данных или ETL-процессов.




