Симулейтив
前往频道在 Telegram
Мы — образовательная платформа в сфере аналитики Симулейтив: simulative.ru Создаём курсы-симуляторы, где обучаем на кейсах из реального бизнеса. Канал по ML: @modprod Наш уютный чат: @itresume_chat Поддержка: @simulative_support
显示更多7 385
订阅者
无数据24 小时
无数据7 天
+2730 天
数据加载中...
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
八月 '26
八月 '26
+114
在0个频道中
七月 '26
+199
在0个频道中
Get PRO
六月 '26
+145
在0个频道中
Get PRO
五月 '26
+79
在0个频道中
Get PRO
四月 '26
+82
在2个频道中
Get PRO
三月 '26
+102
在2个频道中
Get PRO
二月 '26
+143
在0个频道中
Get PRO
一月 '26
+114
在1个频道中
Get PRO
十二月 '25
+143
在2个频道中
Get PRO
十一月 '25
+118
在2个频道中
Get PRO
十月 '25
+191
在1个频道中
Get PRO
九月 '25
+135
在2个频道中
Get PRO
八月 '25
+202
在1个频道中
Get PRO
七月 '25
+221
在2个频道中
Get PRO
六月 '25
+192
在1个频道中
Get PRO
五月 '25
+354
在0个频道中
Get PRO
四月 '25
+473
在4个频道中
Get PRO
三月 '25
+480
在2个频道中
Get PRO
二月 '25
+317
在2个频道中
Get PRO
一月 '25
+463
在1个频道中
Get PRO
十二月 '24
+321
在3个频道中
Get PRO
十一月 '24
+293
在1个频道中
Get PRO
十月 '24
+241
在0个频道中
Get PRO
九月 '24
+184
在0个频道中
Get PRO
八月 '24
+220
在0个频道中
Get PRO
七月 '24
+147
在0个频道中
Get PRO
六月 '24
+213
在1个频道中
Get PRO
五月 '24
+261
在1个频道中
Get PRO
四月 '24
+253
在0个频道中
Get PRO
三月 '24
+216
在0个频道中
Get PRO
二月 '24
+214
在0个频道中
Get PRO
一月 '24
+220
在1个频道中
Get PRO
十二月 '23
+304
在0个频道中
Get PRO
十一月 '23
+313
在0个频道中
Get PRO
十月 '23
+103
在0个频道中
Get PRO
九月 '23
+118
在0个频道中
Get PRO
八月 '23
+186
在0个频道中
Get PRO
七月 '23
+157
在0个频道中
Get PRO
六月 '23
+137
在0个频道中
Get PRO
五月 '23
+127
在0个频道中
Get PRO
四月 '23
+120
在0个频道中
Get PRO
三月 '23
+145
在0个频道中
Get PRO
二月 '23
+140
在0个频道中
Get PRO
一月 '23
+144
在0个频道中
Get PRO
十二月 '22
+139
在0个频道中
Get PRO
十一月 '22
+124
在0个频道中
Get PRO
十月 '22
+102
在0个频道中
Get PRO
九月 '22
+126
在0个频道中
Get PRO
八月 '22
+332
在0个频道中
Get PRO
七月 '22
+158
在0个频道中
Get PRO
六月 '22
+198
在0个频道中
Get PRO
五月 '22
+142
在0个频道中
Get PRO
四月 '22
+208
在0个频道中
Get PRO
三月 '22
+169
在0个频道中
Get PRO
二月 '22
+257
在0个频道中
Get PRO
一月 '22
+141
在0个频道中
Get PRO
十二月 '21
+89
在0个频道中
Get PRO
十一月 '21
+465
在0个频道中
Get PRO
十月 '21
+69
在0个频道中
Get PRO
九月 '21
+111
在0个频道中
Get PRO
八月 '21
+208
在0个频道中
Get PRO
七月 '21
+758
在0个频道中
Get PRO
六月 '21
+65
在0个频道中
Get PRO
五月 '21
+313
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 27 八月 | +2 | |||
| 26 八月 | +3 | |||
| 25 八月 | +4 | |||
| 24 八月 | +3 | |||
| 23 八月 | +5 | |||
| 22 八月 | 0 | |||
| 21 八月 | +6 | |||
| 20 八月 | +2 | |||
| 19 八月 | +4 | |||
| 18 八月 | +1 | |||
| 17 八月 | +3 | |||
| 16 八月 | +2 | |||
| 15 八月 | +2 | |||
| 14 八月 | +4 | |||
| 13 八月 | +3 | |||
| 12 八月 | +3 | |||
| 11 八月 | +5 | |||
| 10 八月 | +9 | |||
| 09 八月 | +6 | |||
| 08 八月 | +3 | |||
| 07 八月 | +6 | |||
| 06 八月 | +12 | |||
| 05 八月 | +4 | |||
| 04 八月 | +6 | |||
| 03 八月 | +6 | |||
| 02 八月 | +10 | |||
| 01 八月 | 0 |
频道帖子
💻💻💻💻💻Как использовать ИИ в аналитике на трёх уровнях?
Два аналитика посчитали retention по одному и тому же вопросу — один получил 34%, другой 21%. Оба SQL-запроса технически верны, но каждый объяснял нейросети метрику по-разному. Как такое может быть?
29 августа вместе с Ильёй Ковалёвым, тимлидом команды клиентской аналитики в Dodo Brands, разберём, как устроена работа с ИИ на трёх уровнях — от разового промпта до процесса, который сам ловит свои ошибки.
На вебинаре вы:
➡️ Узнаете, почему хороший промпт из пяти блоков даёт совсем другой результат, чем «напиши запрос», и увидите это на реальном SQL-примере;
➡️ Разберётесь, как контекст команды выносится из головы аналитика в репозиторий, и почему это меняет качество ответов ИИ;
➡️ Увидите на одной и той же задаче — расчёте retention — все три уровня подряд и разницу в результате;
➡️ Узнаете три правила, которые не меняются ни на одном из уровней.
🧑🏻💻 Спикер: Илья Ковалёв, тимлид команды клиентской аналитики в Dodo Brands, автор Telegram-канала Кусочек пиццы
📆 Когда: 29 августа, 12:00 МСК
➡️ Поставить напоминание в календарь
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS
| 2 | 💻 Ошибка в SQL: избыточные подзапросы
Проверяя работы студентов на нашем курсе «Аналитик данных», мы часто встречаемся с ошибкой избыточных подзапросов. То, что можно было решить в один запрос, студенты решают за 3.
✅ Почему так происходит?
Из-за того, что многие пишут SQL-запросы так же, как это «звучит» в их голове. А SQL работает немного иначе — на нём нужно буквально «мыслить». Но это приходит с опытом, за счёт большого количества практики (как правило, к концу модуля по SQL такие ошибки уже никто не делает).
✅ Пример
Он будет довольно простым — наверняка вы бы написали здесь сразу один запрос. Однако эта ошибка проявляется даже в таких случаях, чего уж говорить про более сложные.
Итак, задача: вывести id транзакции и предыдущую сумму транзакции со знаком минус. Вот решение студента:
SELECT id,
LAG(neg) OVER(ORDER BY id)
AS lg
FROM (
SELECT id, sm, -sm AS neg
FROM (
SELECT id, sum AS sm
FROM transactions t
) t
) t1
И это ещё не всё, можно и побольше накрутить. Но зачем так, если можно так:
SELECT id, LAG(-sum) OVER(ORDER BY id)
FROM transactions t
✅ А как писать такие запросы?
Отсекайте лишнее. Напишите запрос так, как получилось. Затем попробуйте упростить. Затем ещё. И так до тех пор, пока не получите минимально возможный запрос.
✅ Совет
Не старайтесь сразу писать сложные и оптимизированные конструкции. Напишите сначала, как сможете, а затем пытайтесь упростить запрос. Как говорил знаменитый дядюшка Кнут: «Преждевременная оптимизация — корень всех зол».
Ставьте 🔥, если полезно, и сохраняйте, чтобы не потерять!
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 284 |
| 3 | Привет! Меня зовут Ева Панкратова, и я новый ментор курса «Аналитик данных» в Симулейтив 👋🏻
Я руковожу отделом продуктовой аналитики в компании Метр Квадратный. Вместе с командой мы помогаем бизнесу принимать правильные решения — для этого придумываем метрики для оценки новых продуктов, проводим эксперименты и аналитические исследования.
Пять фактов обо мне:
➖ Работаю с данными больше 6 лет: финтех, телеком и IT: Accenture, МегаФон, Райффайзенбанк, М2. Последние два года — в руководящей роли.
➖ Строила аналитику со всех сторон: начинала как DWH-аналитик, который строит и тестирует витрины данных, а затем перешла к плотной работе с бизнесом и проверке продуктовых гипотез.
➖ Специализируюсь на А/В и экспериментах. Провела десятки тестов как аналитик, а потом запускала А/B-тестирование в компании, занимаясь как выбором платформы для тестов, так и выстраиванием культуры экспериментов.
➖ Провела 162 собеседования, собирая команду. Так что не понаслышке знаю, что спрашивают на собеседованиях и как выглядит цепляющее резюме.
➖ Считаю важным делиться опытом: пишу курсы и веду воркшопы для корпоративного университета, выступаю на профессиональных конференциях и периодически менторю студенческие стартапы.
Я буду разбирать ваши задачи, отвечать на вопросы в чате и показывать, как данные становятся источником решений, а не просто красивых отчётов.
Присоединяйтесь, старт потока 31 августа ❤️
📌 Записаться на профессию «Аналитик данных»
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 462 |
| 4 | 🔴 Через 5 минут начинаем!
Евгений Буторин скоро начнёт разбор финального SQL-проекта — смотрим, как превратить решение задачи в полноценный кейс для портфолио и обсудим, что сейчас происходит с наймом в аналитике.
Подключайтесь, самое полезное только начинается 👀
➡️ Подключиться к эфиру | 141 |
| 5 | 💻 Как база данных устроена изнутри, и почему PostgreSQL и ClickHouse решают разные задачи?
Привет! На связи Валерия Елпатьевская, ментор курса «Инженер данных» 👋🏻
Базы данных внешне могут выглядеть похоже, но внутри они оптимизированы под разные задачи. Выбирая инструмент, нужно помнить о том, какую именно задачу мы решаем: хотим ли мы быстро добавлять в базу новые строки и обновлять старые или мы хотим строить множество аналитических запросов и агрегаций.
И здесь важно понимать разницу между OLTP и OLAP.
💻 OLTP (Online Transaction Processing), как видно из названия, заточена под транзакции. То есть эти базы предполагают операционную нагрузку.
OLTP-системы отлично подойдут, когда у нас много коротких операций и важна консистентность, конкурентный доступ и быстрая работа с отдельными строками. Примеры данных, которые удобно хранить в OLTP: заказы, пользователи, платежи, статусы.
Под такую нагрузку обычно берут PostgreSQL. Он хранит данные построчно, использует индексы, WAL, MVCC и механизмы очистки старых версий. Это хорошо подходит для сценария: «найди пользователя по id», «обнови заказ» или «вставь новую запись».
💻 OLAP (Online Analytical Processing), как опять же ясно из названия, заточен под аналитику. Здесь запросы часто читают миллионы строк, считают различные агрегаты, группируют данные по времени, регионам, каналам. Примеры данных, которым больше подойдёт OLAP — метрики, продажи и поведение пользователей.
Под такие задачи лучше подходят колоночные базы вроде ClickHouse. Они хранят данные по колонкам, сильно сжимают их и эффективно сканируют большие объёмы. ClickHouse не очень подходит для частых одиночных обновлений и удалений. Он лучше работает с пакетной загрузкой и чтением больших массивов данных.
То есть важное различие между OLTP и OLAP в том, как данные хранятся и читаются: если нам важны быстрые транзакции, нам нужно хранить и читать по строкам, а если мы планируем доставать срезы по признакам и строить агрегаты, лучше подойдёт организация по колонкам.
Если сильно упростить:
➡️ PostgreSQL — про состояние системы и транзакции.
➡️ ClickHouse — про аналитику по большим потокам событий.
На практике это часто работает вместе. PostgreSQL хранит основные бизнес-данные: пользователей, заказы, настройки. ClickHouse собирает события, метрики и поведение для дашбордов и отчётов.
Ставьте ❤️, если полезно, и сохраняйте, чтобы не потерять!
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 488 |
| 6 | 💻💻💻💻💻Онлайн-практикум: превращаем SQL-проект в первый кейс для портфолио
Если вы уже пробовали решать задачи на SQL, следующий шаг — научиться превращать их в проекты, которые можно показать работодателю!
Что будет происходить на вебинаре:
➡️ Разберём финальный SQL-проект и подход к его решению;
➡️ Поймём, как оформить проект так, чтобы он выглядел сильным кейсом в портфолио;
➡️ Обсудим, что сейчас происходит на рынке и как заходить в аналитику в 2026 году.
🧑💻 Спикер: Евгений Буторин, руководитель CRM-аналитики развития клиентской базы в Альфа Банке, ментор бесплатного интенсива по SQL
📆 Когда: 25 августа, 19:00 МСК
➡️ Поставить напоминание в календарь
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 461 |
| 7 | ⚡️ Через 5 минут начинаем!
Валерия Елпатьевская уже на месте — через пять минут открываем сырые parquet-файлы с 9 млн поездок нью-йоркского такси и с нуля собираем весь ETL-пайплайн: очистка, погода, витрины, отчёт в DuckDB.
Успевайте подключиться, пока не стартовали 👀
👉🏻 Подключиться к трансляции 👈🏻 | 120 |
| 8 | Час до стрима! Валерия всех ждёт ❤️
👉🏻 Подключиться к трансляции 👈🏻 | 100 |
| 9 | 视频消息 | 185 |
| 10 | #проанализировали_и_поняли | 535 |
| 11 | 💻💻💻💻 Собираем ETL-пайплайн для 9 млн строк
Присоединяйтесь сегодня к практическому стриму — Валерия Елпатьевская, инженер данных в Альфа-Банке, соберёт полный ETL-пайплайн на реальных данных: от сырых parquet-файлов до готового аналитического отчёта и витрин в DuckDB. В работе — открытый датасет поездок нью-йоркского такси за осень 2025 года, больше 9 млн строк!
Что сделаем:
1️⃣ Загрузим данные из открытых источников;
2️⃣ Почистим датасет от аномалий;
3️⃣ Обогатим поездки данными о погоде;
4️⃣ Визуализируем статистику по датасету;
5️⃣ Загрузим агрегаты в DuckDB и напишем запросы для финального отчёта.
Если вы только присматриваетесь к профессии дата-инженера и хотите понять, из чего реально состоит его работа, приходите! Стрим пригодится и тем, кто уже сам пишет ETL: сверите свой подход с тем, как выстраивает пайплайн инженер с опытом.
📆 Когда: 24 августа, 19:00 МСК
➡️ Поставить напоминание в календарь
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 589 |
| 12 | 💻💻💻💻💻Как аналитику данных использовать ИИ
Большинство аналитиков уже открывают ИИ-чат в браузере при любой задаче, хотя инструментов для работы с ИИ и пользы от них куда больше! Вместе с Павлом Беляевым разберём, как ИИ реально встроен в работу аналитика — от повседневных задач команды до личного самообучения.
На вебинаре вы:
➡️ Узнаете, для каких задач ИИ применяет команда дата-аналитиков в Яндекс eLama;
➡️ Разберётесь, какие модели для чего хороши, и перестанете хвататься за одну на все случаи;
➡️ Познакомитесь с инструментами обращения к ИИ: чаты в браузере, Ollama для локальных моделей, расширение для VS Code;
➡️ Увидите на живом примере, как Павел использует ИИ для собственного самообучения;
➡️ Разберём ваши вопросы и темы с помощью ИИ-ассистентов.
👨🏻💻 Спикер: Павел Беляев, руководитель группы дата-аналитиков в Яндекс eLama, ментор курсов «BI-аналитик» и «Fullstack-аналитик».
📆 Когда: 22 августа, 14:00 МСК
➡️ Поставить напоминание в календарь
➡️ Ссылка на эфир
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 679 |
| 13 | Репрезентативность: когда выборка «говорит правду»
Привет, на связи Аслан Байрамкулов, автор курса по A/B-тестированию 👋🏻
Тест может быть безупречно посчитан — правильная метрика, честный p-value, никакого подглядывания — и всё равно врать. Если сама выборка не похожа на генеральную совокупность, статистика посчитает верно ответ на неверный вопрос.
Репрезентативность — это соответствие выборки генеральной совокупности по ключевым характеристикам. Без неё даже самый тщательный анализ приведёт к ошибочным выводам.
✅ Как это измеряют?
Репрезентативность оценивают стандартизованной разностью d между выборкой и генеральной совокупностью по ключевым признакам:
➖ d < 0,1 — отличная репрезентативность;
➖ d 0,1–0,2 — хорошая;
➖ d 0,2–0,5 — умеренная;
➖ d ≥ 0,5 — плохая, выборке доверять нельзя.
✅ Как обеспечить репрезентативность?
➖ Стратифицированная рандомизация. Делим пользователей на страты — по возрасту, географии, каналу — и рандомизируем внутри каждой страты. Это гарантирует, что обе группы сбалансированы, а не просто «в среднем похожи».
➖ Мониторинг баланса. После запуска теста проверяем, что группы A и B не отличаются по ключевым характеристикам. Доля мобильного трафика 60% в группе A и 45% в группе B — уже повод остановиться и разобраться, а не запускать анализ дальше.
➖ AA-тестирование. Перед реальным тестом запускаем «пустой» тест, где обе группы получают одинаковый опыт. Если находим статистически значимые различия там, где их не должно быть — проблема не в продукте, а в системе рандомизации.
Однажды мы обнаружили, что алгоритм рандомизации крупного маркетплейса систематически направлял новых пользователей в тестовую группу. Новые пользователи конвертировались хуже просто потому, что ещё не знали сайт — и тест показывал «ухудшение», хотя изменение было нейтральным. AA-тест длительностью в одну неделю поймал бы эту проблему ещё до запуска, а не после недели неверных выводов.
⭐️ Именно поэтому на курсе «A/B-тестирование» мы начинаем не с формул значимости, а с проверки самой выборки: стратификация, мониторинг баланса, AA-тесты как обязательный шаг перед любым реальным экспериментом. Программу веду я сам на основе методологии, которую строил в X5, Wildberries и МТС (open-source библиотека Ambrosia).
⭐️ Посмотреть программу курса
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 535 |
| 14 | 没有文字... | 581 |
| 15 | 🎓 3 дня до завершения приёма в магистратуру
Друзья, осталось всего несколько дней, чтобы принять решение о поступлении! А в этом посте напоминаем основные моменты ❤️
Магистерская программа по аналитике данных совместно с НИЯУ МИФИ — это:
🔶 Научная база от одного из лучших технических вузов страны;
🔶 Практика на симуляторе — работа с реальными бизнес-кейсами «как в работе»;
🔶 Гарантированное портфолио, которое выделит вас среди других кандидатов;
🔶 Возможность получить диплом магистра;
🔶 Гибкий онлайн-формат — учитесь из любой точки мира;
🔶 Все льготы студента МИФИ — диплом, отсрочка, налоговый вычет.
❗️ Заявки принимаются до 21 августа включительно. Для новых поступающих действует реферальная программа: приводите второго человека и получите скидку 20% каждому!
➡️ Узнать больше и оставить заявку
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 583 |
| 16 | «ON CONFLICT DO UPDATE command cannot affect row a second time»: как мы теряли данные из-за этой ошибки
Привет! На связи Валерия Елпатьевская, ментор курса «Инженер данных» 👋🏻
Сегодня расскажу о том, с чем недавно сама столкнулась. Ситуация: мы потеряли часть данных, смотрим логи, а там:
ERROR: ON CONFLICT DO UPDATE command cannot affect row a second time
Какой же second time? Как вообще такое возможно? Так вот рассказываю.
Если вы делаете `INSERT ... ON CONFLICT DO UPDATE` большими батчами (пакетами данных), дедуплицируйте входные данные до `UPSERT`.
Допустим, в батче пришли две записи с одним id:
INSERT INTO users (id, updated_at, name)
SELECT id, updated_at, name
FROM staging
ON CONFLICT (id) DO UPDATE
SET
updated_at = EXCLUDED.updated_at,
name = EXCLUDED.name;
Если staging содержит несколько строк с одинаковым id, PostgreSQL завершит такую операцию ошибкой, как выше.
Причина в том, что внутри одного INSERT несколько входных строк пытаются изменить одну и ту же target-строку. PostgreSQL не выбирает автоматически, какая из них является истиной. Он не пытается угадать, а просто отказывается выполнять операцию.
Причём проблема особенно неприятна, когда данные приходят батчами, так как дубликаты могут быть незаметны внутри отдельных партий, но появиться после объединения нескольких источников/партиций.
Поэтому перед UPSERT лучше явно определить правило разрешения конфликта и избавиться от дубликатов:
WITH ranked AS (
SELECT
*,
ROW_NUMBER() OVER (
PARTITION BY id
ORDER BY updated_at DESC
) AS rn
FROM staging
)
INSERT INTO users (id, updated_at, name)
SELECT id, updated_at, name
FROM ranked
WHERE rn = 1
ON CONFLICT (id) DO UPDATE
SET
updated_at = EXCLUDED.updated_at,
name = EXCLUDED.name;
Теперь для каждого id в батче остаётся ровно одна запись — например, самая свежая по updated_at.
📌 Вывод: ON CONFLICT решает конфликт между входящей и целевой строкой, но не занимается бизнес-логикой выбора между несколькими строками с одним ключом.
Ставьте 🔥 и пересылайте тем, кто мог бы столкнуться с этой проблемой ❤️
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 560 |
| 17 | 🔴 Мы уже в эфире!
Начинаем разбирать ML-задачу: смотрим, как превратить решение кейса в полноценный проект, который не стыдно положить в портфолио.
Вместе пробуем подход к задаче «не по шаблону», используем модели из sklearn и показываем, как оформить всё в проект на GitHub с грамотным README.md.
Подключайтесь!
➡️ Подключиться к эфиру | 184 |
| 18 | 💻 Сценарии использования NULLIF
Вас когда-нибудь спрашивали на собеседовании о функции NULLIF?
В гайдах к собеседованиям куда чаще встречаются джоины и первичный ключ, а NULLIF опускают. Хотя зря! NULLIF на самом деле — мощный инструмент, который можно использовать в разных ситуациях, чтобы повысить надежность ваших запросов.
✅ Что такое NULLIF и как это использовать?
NULLIF — это функция, которая принимает два аргумента и возвращает NULL, если аргументы равны, в противном случае она возвращает первый аргумент. Синтаксис выглядит следующим образом:
NULLIF(выражение 1, выражение 2)
💻 Деление на ноль
Пожалуй, самое полезное, что можно сделать, используя NULLIF — пресечь ошибку деления на ноль.
Это один из самых распространённых вариантов использования. Например, если вы пытаетесь поделить один столбец на другой, и есть вероятность, что во втором столбце (делителе) могут оказаться нули — оберните второй столбец в NULLIF и вы не получите ошибок.
SELECT column1/NULLIF(column2, 0)
FROM table1
То есть когда значение второго столбца равно 0 (аргументы в NULLIF равны), вернется NULL, а не ZeroDivisionError.
💻 Поиск среднего значения
Такая схема будет полезна и при других вычислениях, например среднего значения. Опять же, если есть шанс, что в столбце, по которому считаем среднее, могут оказаться нули, которые не должны влиять на результат — поможет NULLIF.
Например, дана такая таблица:
| column1 | column2 |
|---------|---------|
| 0 | a |
| 7 | a |
Выполнив:
SELECT column2, AVG(column1)
FROM table1
GROUP BY column2;
Получим:
| column2 | avg |
|---------|-----|
| a | 3.5 |
А с использованием NULLIF получим другой результат:
SELECT column2, AVG(NULLIF(column1, 0))
FROM table1
GROUP BY column2;
| column2 | avg |
|---------|-----|
| a | 7 |
💻 Преобразование пустых строк
Другой вариант использования NULLIF — преобразование пустых строк в NULL. Например, в таблице некоторые столбцы содержат пустые строки, которые необходимо трактовать как NULL — идеально подходящая ситуация для NULLIF:
SELECT NULLIF(column1, '') FROM table1;
Получим NULL, если столбец 1 содержит пустую строку, что эффективно обработает все пустые строки.
💡 В следующий раз, когда вы будете работать над проектом, попробуйте найти, где бы вы могли использовать NULLIF и убедитесь, как он легко поможет решать сложные задачи и избегать больших CASE/WHEN конструкций. Кстати говоря, NULLIF — это тот же CASE/WHEN, так что, возможно, стоит провести ревизию старых проектов и увидеть потенциальные «use» кейсы.
Если вы и раньше использовали NULLIF, расскажите, в каких интересных задачах он вам пригодился? И ставьте 🔥, если было полезно!
📈 Симулейтив | 📱 ВК | 📱 YouTube | 📱 Канал о DS | 568 |
| 19 | 💻💻💻💻💻 Data science на практике: решаем задачу и оформляем проект в портфолио
Вы решили попробовать себя в data science — что делать дальше?
На вебинаре с Марией Жаровой вы пройдёте путь, который проходит дата-сайентист над реальной задачей — от постановки до готового проекта в портфолио:
➖ Возьмём финальное задание из бесплатного курса по ML и разберём, как подойти к нему самостоятельно;
➖ Обучим несколько моделей из sklearn, попробуем нестандартные подходы и выберем лучший вариант;
➖ Оформим ноутбук в полноценный проект на GitHub и разберём, что обязательно должно быть в README.md, чтобы проект выглядел сильным в портфолио.
👩🏻💻 Спикер: Мария Жарова, ML-инженер в команде рекомендаций Wildberries и ментор курса Симулейтив «Дата-сайентист»
📆 Когда: 18 августа, 19:00 МСК
➡️ Поставить напоминание в календарь | 611 |
| 20 | #проанализировали_и_поняли | 728 |
