После создания Dataset и настройки колонок у нас появляется качественный источник данных для аналитики. Однако на практике этого редко бывает достаточно.
Представим интернет-магазин электроники. В таблице продаж обычно хранятся цена товара, количество проданных единиц, скидка, себестоимость и другие исходные данные. Но руководителя бизнеса интересуют совсем другие показатели: прибыль, маржинальность, средний чек, количество клиентов и многие другие метрики.
Конечно, можно попросить разработчиков добавить новые колонки в базу данных. Однако такой подход неудобен. Каждый новый показатель потребует изменения структуры базы данных и участия технических специалистов.
Apache Superset позволяет решать эту задачу гораздо проще. Аналитик может самостоятельно создавать вычисляемые колонки и пользовательские метрики прямо внутри Dataset.
В этом уроке мы разберемся, чем отличаются Calculated Columns и Metrics, научимся создавать собственные бизнес-показатели и подготовим Dataset для дальнейшего построения дашбордов.
Ключевые термины
- Calculated Column — вычисляемая колонка, которая рассчитывается для каждой строки набора данных.
- Metric — агрегированный показатель, используемый в визуализациях и отчетах.
- Aggregation — операция объединения данных, например SUM, COUNT или AVG.
- Profit — прибыль, полученная после вычета расходов.
- Margin — показатель прибыльности бизнеса.
- Average Check — средняя сумма заказа.
- Expression — выражение, используемое для расчета новых значений.
- Dataset — набор данных, внутри которого создаются колонки и метрики.
Почему обычных колонок недостаточно
Представим таблицу продаж интернет-магазина. Для каждой продажи в базе хранится цена товара, количество единиц, размер скидки и себестоимость. На первый взгляд этого достаточно. Однако аналитик редко работает только с исходными данными.
Бизнес обычно задает вопросы другого уровня:
- Какая прибыль была получена за месяц?
- Какая категория товаров самая маржинальная?
- Какой средний чек у клиентов?
- Сколько денег приносит один заказ?
Ответов на эти вопросы в исходной таблице может не быть. Именно поэтому в аналитике постоянно используются вычисляемые показатели. Они позволяют получать новую информацию на основе уже существующих данных.
Что такое Calculated Column
Calculated Column создает новое значение для каждой строки таблицы. Важно понимать главное правило: Вычисляемая колонка работает на уровне отдельных записей.
Представим, что в таблице есть поля: price, quantity. Мы можем создать новую колонку: price * quantity Для каждой строки будет рассчитана сумма продажи.
Если клиент купил два ноутбука по 1000 долларов, новая колонка вернет значение: 2000. Если другой клиент приобрел телевизор за 800 долларов, результат будет: 800. То есть расчет выполняется отдельно для каждой записи.
Фактически Calculated Column ведет себя как обычная колонка таблицы, хотя физически в базе данных ее нет.
Что такое Metric
Metric работает совершенно иначе. Метрика не рассчитывается для каждой строки. Она агрегирует данные. Например SUM(revenue). Такая метрика вернет общую выручку.
Допустим, в таблице находятся три продажи:
2000
800
1200
Метрика рассчитает 4000.
В отличие от Calculated Column, здесь нас уже интересует не каждая запись отдельно, а итоговое значение по группе данных. Именно поэтому метрики используются практически во всех графиках и KPI-карточках.
Главное отличие между Calculated Column и Metric
Это одна из самых важных тем для понимания Superset. Многие начинающие аналитики путают эти сущности. Представьте задачу расчета прибыли.
Если мы создаем колонку: sales_amount - cost_amount, то получаем прибыль по каждой отдельной продаже. Это Calculated Column.
Если затем создадим метрику: SUM(profit), то получим общую прибыль компании. Это уже Metric.
Можно сформулировать простое правило.
- Calculated Column отвечает на вопрос: Что происходит в каждой строке?
- Metric отвечает на вопрос: Какой итог по группе строк?
На практике обе сущности используются вместе.
Создаем первую вычисляемую колонку
Предположим, что в нашем Dataset есть поля price и quantity. Создадим колонку с суммой продажи.
Переходим в Dataset и открываем раздел Calculated Columns. Создаем новую колонку. В качестве выражения указываем price * quantity.
После сохранения в Dataset появится новое поле. Теперь Superset будет считать сумму продажи автоматически для каждой записи. Такой подход очень удобен. Нам не пришлось изменять структуру базы данных или создавать дополнительные таблицы.
Рассчитываем прибыль
В большинстве компаний прибыль является одной из самых важных метрик. Предположим, что в таблице присутствуют поля sales_amount и cost_amount. Создадим новую колонку sales_amount - cost_amount.
Теперь для каждой продажи будет рассчитываться прибыль. Если товар был продан за 1000 долларов, а его себестоимость составила 700 долларов, прибыль будет равна 300. После создания колонки ее можно использовать в любых графиках и отчетах.
Рассчитываем маржинальность
Прибыль показывает абсолютное значение заработка. Но иногда важнее понимать эффективность продаж. Для этого используется маржинальность.
Рассчитаем ее следующим образом (sales_amount - cost_amount) / sales_amount. Полученный результат обычно отображается в процентах.
Если продажа принесла 300 долларов прибыли при выручке 1000 долларов, маржинальность составит 30%. Этот показатель особенно полезен при сравнении различных категорий товаров.
Например, ноутбуки могут приносить больше прибыли в абсолютных цифрах, а аксессуары — иметь более высокую маржинальность.
Создаем пользовательские метрики
После подготовки вычисляемых колонок переходим к метрикам. Для этого открываем раздел Metrics. И создаем новую метрику.
Наиболее популярные варианты:
- Общая выручка
SUM(sales_amount). - Количество заказов
COUNT(order_id). - Количество клиентов
COUNT(DISTINCT customer_id). - Средняя сумма продажи
AVG(sales_amount).
Подобные метрики будут использоваться практически во всех будущих визуализациях.
Наиболее частые ошибки
-
Путать Calculated Column и Metric.
Вычисляемая колонка работает на уровне строки, а метрика работает на уровне группы строк. -
Создавать метрику там, где нужна колонка.
В результате показатель невозможно использовать в некоторых визуализациях. -
Создавать колонку там, где нужна метрика.
Это усложняет расчеты и делает Dataset менее удобным. -
Не проверять результат вычислений.
После создания колонки или метрики полезно убедиться, что значения рассчитываются корректно. -
Использовать сложные выражения без необходимости.
Чем проще формула, тем легче ее поддерживать. -
Забывать про деление на ноль.
Некоторые расчеты могут завершаться ошибкой при отсутствии данных. -
Создавать десятки похожих метрик.
Избыточное количество показателей затрудняет работу аналитиков.
Наиболее частые вопросы
-
Можно ли изменять существующие метрики?
Да. Любую метрику можно отредактировать в настройках Dataset. -
Изменяют ли Calculated Columns данные в базе?
Нет. Все вычисления выполняются только внутри Superset. -
Можно ли использовать одну вычисляемую колонку внутри другой?
В большинстве случаев рекомендуется использовать исходные поля, чтобы избежать лишней сложности. -
Когда лучше использовать Calculated Column?
Когда необходимо получить новое значение для каждой строки данных. -
Когда лучше использовать Metric?
Когда нужен агрегированный показатель для графиков, таблиц и KPI. -
Можно ли удалить метрику после создания?
Да. Метрики можно свободно создавать, изменять и удалять. -
Почему метрика не отображается в графике?
Чаще всего проблема связана с ошибкой в выражении или типе данных используемых колонок.
Итоги
В этом уроке мы познакомились с двумя важнейшими возможностями Apache Superset — Calculated Columns и Metrics.
Мы разобрались в различиях между вычисляемыми колонками и метриками, научились рассчитывать прибыль, маржинальность, средний чек и другие бизнес-показатели. Также мы увидели, как подготовить Dataset таким образом, чтобы дальнейшее построение графиков занимало минимум времени.
Теперь наш Dataset содержит не только исходные данные, но и полноценные аналитические показатели, которые будут использоваться в отчетах и дашбордах.
В следующем уроке мы впервые перейдем к визуализации данных и познакомимся с разделом Explore, где создаются графики, таблицы и KPI-показатели.