Магия представления
Или превращение длинной таблицы в широкую
В канале Аналитика FM я часто про это пишу - потому что аналитика заканчивается не на запросе, а на том, как ты показал результат.
Подписывайся!
Представь, у тебя есть данные:
| user_id | metric | value |
| ----------- | ------------- | -------- |
| 1 | revenue | 100 |
| 1 | orders | 2 |
Это длинная таблица.
Она удобна для хранения:
гибкая
легко добавлять новые метрики
хорошо ложится в модели данных
Но попробуй быстро понять:
кто сколько потратил
у кого сколько заказов
и сравнить это между собой
Неудобно.
А теперь та же информация:
| user_id | revenue | orders |
| ------------ | ------------- | ---------- |
| 1 | 100 | 2 |
Это широкая таблица.
И вот тут уже:
метрики рядом
сравнение - в одну секунду
можно считать новые показатели
Что значит "превратить длинную таблицу в широкую"
Это значит:
взять значения из строк и разложить их по колонкам
То есть:
metric → становится названиями колонок
value → становится значениями в этих колонках
Ты буквально "разворачиваешь" данные.
Причём здесь pivot table
На самом деле, это и есть pivot.
Слово pivot - это "поворот".
Ты поворачиваешь таблицу так, чтобы:
строки стали колонками
данные стали наглядными
Если ты работал в Excel - ты это уже делал:
сводная таблица = pivot table.
В SQL это можно реализовать так:
SELECT
user_id,
SUM(CASE WHEN metric = 'revenue' THEN value END) AS revenue,
SUM(CASE WHEN metric = 'orders' THEN value END) AS orders
FROM table
GROUP BY user_id;
Зачем это вообще нужно
Потому что аналитика - это не про "достать данные".
Это про сделать их понятными.
Широкая таблица нужна, когда ты:
строишь отчёт
показываешь результат бизнесу
считаешь метрики между собой
Длинная таблица - когда:
хранишь данные
работаешь с событиями
строишь модели
Где чаще всего ошибаются
Самая частая ошибка - пытаться всё делать в широком формате.
Это ломает гибкость:
добавилась новая метрика → переписывай запрос
данные перестают масштабироваться
Правильный подход:
храним - в длинном виде
показываем - в широком
Длинная таблица - это про хранение
Широкая таблица - это про понимание
И pivot - это просто инструмент, который помогает перейти от одного к другому.
И если ты хочешь не просто писать SQL, а реально чувствовать данные и понимать, как их правильно показывать,
в Аналитика FM я как раз разбираю такие вещи - простым языком, но с реальным смыслом.
