Продвинутая аналитика на SQL
2026-02-26 17:10 Diff

В этом уроке мы узнаем, как можно визуализировать таблицы, и рассмотрим основные типы графиков. Часто визуализации наталкивают аналитика на гипотезы, которые он потом проверяет с помощью статистики. С ее помощью можно наглядно видеть зависимости, скрытые в данных. Умение строить графики по таблицам позволят строить информативные и красивые отчеты по данным.

Визуализации

Представим, что у нас есть витрина данных о продажах и прибыли в магазине за определенный период. Мы посчитали суммарные подневные продажи и прибыль и получили такую таблицу:

DailySales

В ней содержатся поля:

  • order_date — дата заказа
  • sales — суммарные продажи за день
  • profit — суммарная прибыль за день

Эта таблица сама по себе уже представляет отчет: день -> продажи и прибыль за день. Но нам будет проще анализировать данные, если мы построим графики — визуализируем их.

Например, графики помогают понять, какие колебания подневных продаж происходят. Это позволяет упростить анализ данных в таблице с большим количеством строк.

Перед тем, как разобрать работу с графиками, рассмотрим, с какими типами признаков нам предстоит работать.

Типы признаков

Признаки, которые встречаются в данных, бывают разных типов. Тип — это характер значения этого признака. В анализе данных мы обычно будем встречаться со следующими типами признаков:

  • Числовые
  • Категориальные

Числовые признаки — это признаки, которые содержат только числа. Например, температуру воздуха мы измеряем в виде числа. В таблице DailySales поля sales и profit — это числовые признаки.

Дату и время тоже можно представить в виде числа в формате timestamp. Этот показывает количество секунд от полуночи 1 января 1970 года до текущих даты и времени.

Категориальные признаки — это наименования или метки. Например, в каталоге с продуктами мы видим категории «Овощи и фрукты», «Заморозка», «Мясо». В этом случае тип признака — категориальный.

Если числовые признаки непрерывны, то есть число может принимать любое значение, то количество категорий всегда конечно. Например, температура воздуха может принимать любое числовое значение. Но количество категорий продуктов в каталоге не бесконечно и их всегда какое-то заранее определенное число.

При этом даже если мы поставим в соответствие каждой категории число, мы не сможем оперировать с ними как с числовыми признаками. Например, мы не можем сравнить, что больше — «Овощи и фрукты» или «Мясо». Но мы можем сравнить температуру воздуха: 15 градусов по Цельсию больше, чем 0 градусов.

Рассмотрим агрегированную таблицу с суммарными продажами по отдельным категориям товаров:

CategoriesSales

В этой таблице категориальный признак — category, а числовой — sales.

В основе любого графика лежит примитивная таблица. Примеры таких таблиц — DailySales и CategoriesSales. В таких таблицах каждая строка — это одно значение на графике. Какая-то из колонок будет независимой переменной, а другая или несколько — зависимыми:

  • Независимая переменная — это переменная, которая строится по горизонтальной оси и не зависит от других переменных. Например, если мы строим график зависимости температуры от времени, то время будет независимым показателем
  • Зависимая переменная — это одна или несколько переменных, которые зависят от других переменных и строятся по вертикальной оси. В примере с температурой и временем, температура будет зависимым показателем, так как она меняется в зависимости от времени

Допустим, мы хотим построить график продаж по категориям товаров. Категория будет независимым признаком, а продажи — зависимым. Во временном графике продаж и прибыли время будет независимым признаком, а продажи и прибыль — зависимыми.

Мы будем работать с разными типами графиков. Они по-разному визуализируют информацию и строят зависимости между разными типами признаков: числовой от числового, числовой от категориального.

В этом уроке мы рассмотрим следующие типы графиков:

  • Линейный график (linear chart)
  • Столбчатая диаграмма (bar chart)
  • Круговая диаграмма (pie chart)
  • Точечная диаграмма (scatter chart)

Начнем с линейного графика.

Линейный график

Здесь и дальше мы будем работать в Google Sheets c этой таблицей.

Посмотрим еще раз на таблицу подневных продаж и прибыли:

DailySales

ссылка на DB Fiddle с этим датасетом.

Если мы хотим посмотреть, как продажи и прибыль изменялись во времени, то для этого подойдет линейный график.

Линейный график — это зависимость одного числового признака от времени. Формат timestamp позволяет перевести даты и время в числа, поэтому линейный график — это зависимость числового признака от числового, где независимая переменная — время.

Построим такой график. Для этого в Google Sheets переходим в лист DailySales и видим таблицу с данными:

Чтобы построить график, выделим столбцы A:C. Во вкладке «Вставка» найдем «Диаграмма» и вставим диаграмму. В меню справа в «Тип диаграммы» нужно выбрать тип «График»:

В итоге мы получили линейный график продаж и прибыли в разрезе времени.

Чтобы графики не выглядели однообразно, мы можем менять цвет линии, фона, стиль, толщину линии и другие параметры. Это называется кастомизацией — изменение внешнего вида графика под свои нужды. Google Sheets предоставляет возможности видоизменения графиков.

Кастомизируем график. Нажмем на его название и впишем «Линейный график продаж и прибыли». Если щелкнуть по самому графику, можно изменить его цвет, стиль линии и другие параметры. Например, можно сделать линию графика profit штриховой и задать толщину линии 4px:

Перейдем на вкладку «Стиль диаграммы» и заменим фон на черный. Последовательно щелкнем на все тексты на графике и заменим цвет текста на белый:

На этом графике мы заменили цвет фона и цвет текста.

Столбчатая диаграмма

Рассмотрим вторую таблицу с суммарными продажами по категориям товаров:

CategoriesSales

Категории товаров находятся в колонке category, а суммарные продажи — в sales. Мы хотим визуализировать продажи, чтобы было видно, насколько продажи по каждой из категорий отличаются друг от друга. Для этого подходит столбчатая диаграмма — зависимость числового признака от категориального.

Откроем лист CategoriesSales. Мы видим таблицу продаж в разрезе категорий, которую мы рассмотрели выше. Вставим диаграмму и выберем тип «Столбчатая диаграмма». Изменим заголовок и кастомизируем по своему усмотрению:

Мы построили столбчатую диаграмму суммарных продаж по категориям товаров. Мы видим, что больше всего покупатели потратили на категорию Furniture.

Круговая диаграмма

Представим, что нам нужно построить суммарные продажи по категориям, но в процентном соотношении. Для это используется круговая диаграмма — показывает числовую переменную в разрезе категорий.

В этом случае в качестве 100% берется целый круг, а определенная категория занимает долю от этого круга. Чем большую долю в круге занимает категория, тем больше в процентах его продажи относительно суммы всех продаж.

Построим круговую диаграмму по таблице продаж по категориям. Для этого в настройке «Тип диаграммы» выберем круговую диаграмму:

По этому графику мы также видим, что на категорию Furniture покупатели потратили больше всего денег.

Сравним столбчатую диаграмму и круговую:

  • С помощью столбчатой диаграммы мы можем визуализировать и абсолютные значения продаж по категориям, и относительные
  • С помощью круговой диаграммы мы можем посмотреть только на процентные доли. В качестве 100% принимается сумма всех продаж, даже если таблица содержит только абсолютные значения

Сейчас мы рассчитаем процентные доли каждого из товаров и убедимся, что круговая диаграмма рассчитывает их верно. Для этого добавим в таблицу колонку sales_percent и запишем в клетке C2 формулу.

Мы используем доли от целого, поэтому в формуле должно быть представлено целое. Мы принимаем за 100% суммарные продажи, а процентная доля от продаж равна продажам, поделенным на суммарные продажи:

Чтобы формулу можно было перетянуть на другие строки, изменим относительные ссылки на абсолютные с помощью символа $:

Итоговая таблица с округленными значениями будет выглядеть так:

CategoriesSales

Сравниваем ее со значениями процентов на круговой диаграмме и видим, что значения одинаковые.

Точечная диаграмма

Допустим, мы хотим найти корреляции между прибылью и продажами. Для визуализации такой зависимости используем точечную диаграмму — визуализирует зависимость одной числовой переменной от другой.

В точечной диаграмме мы наносим на график точки, где одна точка — это одна строка в таблице. По горизонтальной оси идет одна числовая переменная — независимая. По вертикали мы откладываем значения зависимой переменной. В нашем случае продажи будут независимой переменной, а прибыль — зависимой.

Переходим на лист DailySales и выделяем столбцы B:C. Построим по ним диаграмму. Указываем точечный тип диаграммы:

Мы построили точечную диаграмму по прибыли и продажам компании. На диаграмме заметим, что обычно чем больше продажи, тем больше и прибыль.

В нашей точечной диаграмме нет оси времени, она показывает, как одна числовая переменная зависит от другой. В точечной диаграмме могут быть любые числовые признаки, в том числе и дата, но в данном случае мы ее не используем.

Выводы

В этом уроке мы рассмотрели четыре типа графиков:

  • Линейный график
  • Столбчатая диаграмма
  • Круговая диаграмма
  • Точечная диаграмма

Мы определили особенности этих графиков, а также в каких случаях какой график лучше подходит под задачу. Еще мы построили графики для таблиц подневных продаж в магазине и суммарных продаж по категориям товаров.

Такой навык пригодится в аналитике данных, так как часто графики позволяют увидеть выбросы и аномалии в данных, а также наталкивают на разные гипотезы.