Найти тему

SQL для визуализации данных: как подготовить данные для построения диаграмм и графиков

Оглавление
Преобразование данных в диаграммы
Преобразование данных в диаграммы

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

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

Итак, что вас ждет в этой статье? Начнем с того, как SQL можно использовать для подготовки данных для визуализации. Затем расскажем о различных типах визуализаций и о том, как подготовить данные для каждого из них. Все это направлено на то, чтобы дать вам ключи для создания визуально привлекательных историй.

SQL-запросы для подготовки данных

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

4 SQL запроса
4 SQL запроса

Фильтрация данных

Оператор WHERE отфильтровывает ненужные данные. Например, если в исследовании вас интересуют только пользователи в возрасте 18-25 лет, можно отфильтровать их с помощью данного оператора.

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

SELECT * FROM feedbacks WHERE rating < 3;

Сортировка данных

Оператор ORDER BY упорядочит ваши данные. Сортировка может иметь решающее значение для графиков временных рядов, где данные должны отображаться в хронологическом порядке.

При построении линейного графика ежемесячных продаж SQL может сортировать данные по месяцам.

SELECT month, sales FROM products ORDER BY month;

Объединение данных

Оператор JOIN объединяет данные из двух или более таблиц. Это позволяет создавать более обширные наборы данных и, следовательно, более комплексные визуализации.

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

SELECT users.id, SUM(purchases.amount) FROM users

JOIN purchases ON users.id = purchases.user_id

GROUP BY users.id;

Группировка данных

Оператор GROUP BY классифицирует данные. Он часто используется с агрегатными функциями, такими как COUNT(), SUM() и AVG(), для выполнения вычислений в каждой группе.

Если вы хотите узнать среднее время посещения различных разделов сайта, GROUP BY может сгруппировать данные по разделам, а затем показать среднее значение для каждого.

SELECT section, AVG(time_spent) FROM website_data

GROUP BY section;

Типы визуализации данных

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

Диаграммы

В науке о данных диаграммы используются на первых этапах для понимания набора данных. Например, вы можете использовать гистограмму, чтобы понять распределение возрастов пользователей в мобильном приложении. Для построения этих диаграмм обычно используются такие инструменты, как Matplotlib или Seaborn на Python.

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

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

SELECT city, AVG(age)

FROM users

GROUP BY city;

Давайте воспользуемся Matplotlib для создания столбчатой диаграммы. Следующий фрагмент кода предполагает, что grouped_df содержит данные о среднем возрасте из приведенного выше SQL-запроса, и создает столбчатые диаграммы, которые показывают средний возраст пользователей по городам.

import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))

plt.bar(grouped_df['city'], grouped_df['age'], color='blue')

plt.xlabel('City')

plt.ylabel('Average Age')

plt.title('Average Age of Users by City')

plt.show()

Вот столбчатая диаграмма.

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

Графики

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

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

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

SELECT DATE(loading_time), AVG(speed)

FROM website_speed

GROUP BY DATE(loading_time)

Допустим, мы выбираем Plotly для создания линейного графика, который будет отображать скорость сайта за определенный временной промежуток. SQL-запрос подготовил для нас данные, которые показывают скорость сайта.

import plotly.express as px

fig = px.line(time_series_df, x='loading_time', y='speed', title='Website Speed Over Time')

fig

Вот линейный график.

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

Информационная панель

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

Такие инструменты, как PowerBI, Google Data Studio или Tableau, могут извлекать данные из баз данных для заполнения этих панелей мониторинга. SQL может агрегировать и обновлять ваши данные, поэтому у вас всегда есть самая свежая информация прямо на информационной панели.

SELECT COUNT(DISTINCT user_id) as active_users, AVG(session_time)

FROM user_sessions

WHERE session_end IS NULL;

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

Заключение

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

Ссылка на оригинал статьи: https://www.kdnuggets.com/sql-for-data-visualization-how-to-prepare-data-for-charts-and-graphs