
Рассказывается о возможностях SQL применительно к анализу данных. Сравниваются различные типы баз данных, описаны методы подготовки данных для анализа. Рассказано о типах данных, структуре SQL-запросов, профилировнии, структурировании и очистке данных. Описаны методы анализа временных рядов, трендов, приведены примеры анализа данных с учетом сезонности. Отдельные главы посвящены когортному анализу, текстовому анализу, выявлению и обработке аномалий, анализу результатов экспериментов и А/В-тестирования. Описано создание сложных наборов данных, комбинирование методов анализа. Приведены практические примеры анализа воронки продаж и потребительской корзины.
Для аналитиков, исследователей и специалистов по обработке данных
С ростом объема информации, вычислительных мощностей и облачных хранилищ SQL стал незаменимым инструментом для аналитиков, исследователей и специалистов по обработке данных. Эта книга показывает новые способы улучшения навыков работы с SQL, решения сложных практических задач и максимального использования SQL в рабочих процессах. Вы узнаете, как применять SQL для анализа различных типов данных, выявления аномалий, обработки результатов экспериментов и создания сложных наборов данных. Вы научитесь комбинировать методы SQL для более быстрого достижения целей с помощью простого и понятного кода.
• Узнайте о ключевых шагах по подготовке данных к анализу
• Выполняйте анализ временных рядов
• Используйте когортный анализ для изучения изменений групп с течением времени
• Научитесь применять мощные функции SQL для анализа текста
• Выявляйте отклонения и аномалии в данных
• Установите причинно-следственную связь с помощью анализа экспериментов и результатов А/Б-тестирования
• Применяйте SQL для оценки эффективности воронки продаж
Книгу “SQL для анализа данных” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Предисловие. 11
Условные обозначения. 12
Использование примеров кода. 13
Благодарности. 13
ГЛАВА 1. Анализ с помощью SQL.. 15
1.1. Что такое анализ данных. 15
1.2. Почему SQL. 18
Что такое SQL. 18
Преимущества SQL. 21
SQL против R или Python. 22
SQL как часть процесса анализа данных. 24
1.3. Типы баз данных. 26
Строчные базы данных. 27
Колоночные базы данных. 29
Другие типы хранилищ данных. 31
1.4. Заключение. 32
ГЛАВА 2. Подготовка данных для анализа. 33
2.1. Типы данных. 34
Типы в базах данных. 34
Структурированные и неструктурированные данные. 36
Количественные и качественные данные. 37
Первичные, вторичные и третичные данные. 38
Разреженные данные. 39
2.2. Структура SQL-запроса. 40
2.3. Профилирование: распределения. 43
Гистограммы и частоты.. 44
Биннинг. 46
n-тили. 49
2.4. Профилирование: качество данных. 52
Поиск дубликатов. 52
Исключение дубликатов с помощью GROUP BY и DISTINCT. 54
2.5. Подготовка: очистка данных. 56
Очистка данных с помощью CASE. 56
Преобразование типов. 59
Работа с null-значениями: функции coalesce, nullif, nvl 62
Отсутствующие данные. 65
2.6. Подготовка: структурирование данных. 69
Зависимость от конечной цели: для BI, визуализации, статистики
или машинного обучения. 70
Сворачивание с помощью оператора CASE. 71
Разворачивание с помощью оператора UNION.. 73
Операторы PIVOT и UNPIVOT. 75
2.7. Заключение. 77
ГЛАВА 3. Анализ временных рядов. 79
3.1. Работа с Date, Datetime и Time. 80
Преобразование часовых поясов. 80
Форматирование дат и временных меток. 83
Арифметические действия с датами. 87
Арифметические действия со временем.. 90
Объединение данных из разных источников. 91
3.2. Набор данных о розничных продажах. 92
3.3. Анализ трендов данных. 93
Простые тренды.. 94
Сравнение временных рядов. 96
Вычисление процента от целого. 105
Приведение к базовому периоду. 109
3.4. Скользящие временные окна. 114
Расчет скользящих временных окон. 116
Скользящие окна на разреженных данных. 122
Расчет накопительного итога. 125
3.5. Анализ с учетом сезонности. 127
Сравнение периодов: YoY и MoM.. 129
Сравнение периодов: этот же месяц в прошлом году. 132
Сравнение с несколькими предыдущими периодами. 137
3.6. Заключение. 140
ГЛАВА 4. Когортный анализ. 141
4.1. Составляющие когортного анализа. 141
4.2. Набор данных о законодателях. 144
4.3. Анализ удержания. 146
Общая кривая удержания. 148
Заполнение отсутствующих дат для большей точности. 152
Когорты, полученные из временного ряда. 158
Определение когорт по другой таблице. 164
Работа с разреженными когортами. 169
Когорты по датам, отличным от первой даты.. 174
4.4. Связанные когортные анализы.. 177
Выживаемость. 177
Возвращаемость или поведение при повторной покупке. 182
Накопительный итог. 188
4.5. Поперечный анализ через все когорты.. 192
4.6. Заключение. 201
ГЛАВА 5. Текстовый анализ. 203
5.1. Текстовый анализ и SQL. 203
Что такое текстовый анализ. 204
Как можно использовать SQL для текстового анализа. 204
Когда не стоит использовать SQL. 206
5.2. Набор данных о наблюдениях НЛО.. 206
5.3. Характеристики текста. 207
5.4. Разбор текста. 210
5.5. Преобразование текста. 216
5.6. Поиск в текстовых данных. 225
Подстановочные знаки: LIKE, ILIKE. 225
Точное соответствие: IN, NOT IN.. 231
Регулярные выражения. 234
5.7. Конкатенация и реорганизация. 251
Конкатенация строк. 251
Реорганизация текстовых полей. 255
5.8. Заключение. 259
ГЛАВА 6. Выявление аномалий. 261
6.1. Возможности SQL для обнаружения аномалий. 262
6.2. Набор данных о землетрясениях. 263
6.3. Поиск аномалий. 264
Сортировка для поиска аномалий. 265
Расчет процентилей и стандартных отклонений. 268
Поиск аномалий с помощью графиков. 276
6.4. Виды аномалий. 284
Аномальные значения. 284
Аномальное количество или частота. 288
Аномальное отсутствие данных. 293
6.5. Обработка аномалий. 295
Исследование аномалий. 295
Исключение аномальных записей. 296
Замена на альтернативные значения. 298
Изменение масштаба. 300
6.6. Заключение. 302
ГЛАВА 7. Анализ экспериментов. 303
7.1. Плюсы и минусы SQL для анализа экспериментов. 304
7.2. Набор данных о мобильной игре. 306
7.3. Типы экспериментов. 307
Эксперименты с бинарными результатами: тест хи-квадрат. 308
Эксперименты с непрерывными результатами: t-тест. 310
7.4. Спасение неудачных экспериментов. 313
Система назначения вариантов. 313
Выбросы.. 314
Метод временных рамок. 316
Эксперименты с повторным воздействием.. 317
7.5. Альтернативные анализы, когда контролируемые эксперименты невозможны 319
Анализ «до и после». 319
Анализ естественных экспериментов. 321
Анализ популяции около порогового значения. 323
7.6. Заключение. 324
ГЛАВА 8. Создание сложных наборов данных. 325
8.1. SQL для сложных наборов данных. 325
Преимущества использования SQL. 326
Перенос логики в ETL. 326
Перенос логики в другие инструменты.. 329
8.2. Упорядочивание кода. 330
Комментарии. 330
Регистр, отступы, круглые скобки и другие приемы форматирования. 332
Хранение кода. 335
8.3. Контроль над порядком вычислений. 335
Порядок выполнения операций SQL. 336
Подзапросы.. 339
Временные таблицы.. 342
Общие табличные выражения. 343
Расширения для группировки. 345
8.4. Управление размером набора данных и проблемы конфиденциальности. 349
Частичная выборка с помощью остатка от деления. 349
Уменьшение размерности. 351
Персональные данные и конфиденциальность. 356
8.5. Заключение. 358
ГЛАВА 9. Комбинирование методов анализа и полезные ресурсы.. 359
9.1. Анализ воронки продаж.. 359
9.2. Отток, отставшие и анализ разрывов. 361
9.3. Анализ потребительской корзины.. 366
9.4. Полезные ресурсы.. 368
Книги и блоги. 369
Наборы данных. 370
9.5. Заключение. 371
Об авторе. 373
Об обложке. 374
Предметный указатель. 375

Кэти Танимура более 20 лет занимается анализом данных в самых разных отраслях, от финансов до программного обеспечения и сферы потребительских услуг. Кэти управляла командами специалистов по анализу данных в нескольких ведущих технологических компаниях. Имеет богатый опыт работы со стандартом SQL, включая наиболее популярные проприетарные базы данных и базы данных с открытым исходным кодом.
-
Программирование на Kotlin для Android
1100 ₽
935 ₽