Продвинутая аналитика на SQL
Теория: Агрегация для столбчатой диаграммы
В этом уроке мы пройдем агрегацию для столбчатой диаграммы. Мы разберем, какие типы столбчатых диаграмм существуют, сагрегируем данные о продажах, найдем суммарные продажи по категориям товаров и визуализируем их в виде столбчатых диаграмм.
Столбчатые диаграммы — это полезный инструмент визуализации, когда нужно сравнить числовые величины по разным категориям. Знания из урока помогут строить отчеты с использованием столбчатых диаграмм.
Столбчатая диаграмма
Столбчатые диаграммы используют, чтобы визуализировать, какое число соответствует каждой категории.
Предположим, у нас есть таблица суммарных продаж товаров по разным типам:
total_sales
В этой таблице есть два столбца:
- Тип товара — значение, которое выражается строкой. Категориальное значение
- Суммарные продажи — числовое значение
В столбчатой диаграмме каждая категория наносится отдельным делением на одну из осей диаграммы. Это деление — основание столбца. По другой из осей мы откладываем числовое значение категории. Высота столбца будет равна этому числу.
Столбчатые диаграммы бывают:
- Вертикальные
- Горизонтальные
В вертикальной диаграмме столбцы направлены по вертикальной оси, а в горизонтальной — по горизонтальной оси.
Вертикальная столбчатая диаграмма по таблице выше будет выглядеть так:
На этом графике мы изобразили вертикальную столбчатую диаграмму суммарных продаж.
Горизонтальная столбчатая диаграмма выглядит аналогично, но с перевернутыми осями:
Мы видим, что горизонтальная столбчатая диаграмма отличается от вертикальной только расположением признаков по осям.
Агрегация суммарных продаж для каждого товара
Теперь представим, что у нас есть таблица продаж товаров по разным категориям и регионам:
sales
В этой таблице есть такие столбцы:
- order_id — ID заказа
- order_date — дата заказа
- ship_date — дата отгрузки товара
- ship_mode — класс отгрузки
- customer_id — ID покупателя
- customer_name — имя покупателя
- segment — категория покупателя
- country — страна
- city — город
- state — штат / округ
- postal_code — почтовый индекс
- region — регион
- product_id — ID товара
- category — категория товара
- sub_category — подкатегория товара
- product_name — наименование товара
- sales — сумма продаж по заказу
- quantity — количество единиц товара в заказе
- discount — скидка на заказ
- profit — прибыль по заказу
Мы хотим получить таблицу суммарных продаж по подкатегориям товаров и визуализировать ее с помощью столбчатой диаграммы. Для этого мы агрегируем таблицу sales по подкатегориям товаров. Мы будем использовать столбцы sub_category и sales.
Агрегация для визуализации столбчатой диаграммой «схлопывает» данные о продажах, суммируя все продажи по каждой из категорий. Так мы получаем суммарные продажи по каждой уникальной категории товаров и, например, можем узнать наиболее прибыльную категорию.
Агрегируем таблицу продаж в суммарные продажи по подкатегориям товаров средствами SQL.
Для этого мы откроем базу данных bar_chart. В ней содержится таблица sales, в которой 1000 строк и 20 столбцов. Ее начало мы видели в таблице Sales выше. Напишем SQL-запрос для агрегации:
В результате этого запроса мы получили таблицу:
total_sales
В этой таблице представлены суммарные продажи для каждой из подкатегорий товаров.
Скопируем таблицу в Google Sheets, заменим в столбце total_sales все точки на запятые и построим столбчатую диаграмму:
На рисунке мы видим столбчатую диаграмму суммарных продаж по подкатегориям товаров.
Отсортируем категории по убыванию продаж, чтобы наглядно увидеть самые прибыльные категории. Напишем SQL-запрос с сортировкой по убыванию:
С помощью такого запроса мы получили отсортированную таблицу:
ordered_total_sales
Здесь представлена отсортированная по убыванию таблица продаж по подкатегориям товаров.
Теперь построим по этой таблице горизонтальную столбчатую диаграмму. Для этого скопируем таблицу в Google Sheets и выберем тип диаграммы «Линейчатая»:
Мы построили горизонтальную столбчатую диаграмму по отсортированной таблице суммарных продаж по категориям. Видим, что самые прибыльные категории — это телефоны и стулья.
Теперь попробуем исключить из агрегации штат Нью-Йорк. Напишем агрегацию на SQL с условием:
Посмотрим на таблицу, которую мы получили:
total_sales_without_NY
В этой таблице содержатся суммарные продажи по подкатегориям товаров всех штатов кроме штата Нью-Йорк.
Построим по таблице диаграмму:
Мы видим, что самыми прибыльными категориями все еще остаются телефоны и стулья.
Выводы
В этом уроке мы рассмотрели, что такое агрегация для столбчатой диаграммы. Мы получили таблицу суммарных продаж по категориям товаров, построили вертикальную столбчатую диаграмму, горизонтальную диаграмму по отсортированной таблице и нашли самые прибыльные категории товаров.
Столбчатые диаграммы часто используются, когда нужно изобразить абсолютные числовые значения по разным категориям относительно друг друга. Знания о том, как агрегировать данные для столбчатой диаграммы, позволят строить полезные и информативные отчеты.




