Data Science: SQL и Аналитика данных
28.2K subscribers
234 photos
46 videos
1 file
283 links
№ 6205468675

На простом языке: про работу с данными, современные технологии, AI, машинное обучение и, немного, SQL.

Сотрудничество: @niktwix

Менеджер: @Spiral_Yuri
Download Telegram
➡️Уже завтра в 15:00 (МСК) состоится эфир:
NO-CODE на помощь: решаем задачи за пределами стандартных отчётов 1С

На вебинаре:
🟣 поговорим, как сделать отчетность из 1С простой и прозрачной;
🟣 разберем актуальность нестандартных отчетов в «1С», кому и зачем это нужно;
🟣 покажем простую и быструю выгрузку из «1С» в AW BI через NO-CODE;
🟣 продемонстрируем на реальных примерах, как можно налету сформировать понятную и красивую визуализацию сформированных данных.

🔗 Регистрируйтесь, если ещё не успели — не тяните, встречаемся уже завтра!

https://aw-bi.ru/company/events/awbi-denvik-nocode?utm_source=telegram&utm_medium=promo&utm_campaign=awnews%7Cawbi-denvik-nocode
This media is not supported in your browser
VIEW IN TELEGRAM
Очаровательный анимированный проект (и потрясающий пример научпоп визуализации!) про зоонозы: инфекционные заболевания, которые передаются от животных к человеку

Исследователи изучили австрийскую литературу с 1975 по 2022 год, нашли там упоминания зоонозов, классифицировали их по видам, частоте упоминаний и способу передачи.

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

➡️ https://vis.csh.ac.at/zoonotic-web/
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Команда VK HR Tek разработала КЭДО — систему электронного кадрового документооборота, которая начиналась как внутренний сервис, а сегодня используется в крупнейших компаниях страны: от «Газпром нефти» до «Золотого яблока».

⚙️ Система автоматизирует подписание документов, оформление отпусков и командировок, защищает от просрочек, интегрируется с 1С, SAP и БОСС-HRM. Данные хранятся в Tier 3 ЦОДах, используется HTTPS и метки времени.

📌 В статье рассказывается, как КЭДО превратился из пилота внутри VK в лидера рынка кадровых решений
800+ SQL Server Interview Questions and Answers .pdf
1 MB
➡️ Нашли кладезь знаний из 800+ SQL-вопросов с задачами — идеально для подготовки к собеседованиям.

Подойдёт, чтобы:

— прокачать SQL-навыки с нуля до продвинутого уровня
— быстро освежить синтаксис перед интервью
— попрактиковаться на реальных задачах

Полезно как джунам, так и мидлам. Отличный способ проверить себя и закрыть пробелы.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 SQLModel — удобное решение для работы с базами данных в Python, объединяющее силу SQLAlchemy и валидацию Pydantic.

Проект устраняет главную боль разработчиков: необходимость дублировать модели для БД и API.

Инструмент имеет синтаксис на основе аннотаций типов. Один класс одновременно описывает таблицу в БД и схему для FastAPI, а встроенная поддержка IDE сразу подсказывает поля и выявляет ошибки. Например, модель Hero с полями name и secret_name готова к использованию и в миграциях, и в эндпоинтах без лишнего кода.

➡️ Посмотреть на GitHub

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Пятиминутка ИТ-истории

А вы когда-нибудь задумывались, почему функции вызывают? Это выражение используется, кажется, применительно ко всем языкам программирования, где вообще есть функции, которые можно вызывать. Оно стало таким привычным, что многие вряд ли задумываются, откуда оно взялось. Очевидно, что в русский язык выражение пришло из английского, а откуда там появилось «call function»?

➡️ История термина начинается с XIX веке — но с изысканий Ады Лавлейс, а в библиотеке. В 1876 году в Oxford English Dictionary впервые упоминается термин call number — номер, под которым книга значится в библиотечном каталоге.

➡️ После этого первые упоминания «вызова» и «библиотеки» подпрограмм встречаются в 1947 в статье Preparation of problems for EDVAC-type machines:
[…] the position in the memory at which arguments are placed can be standardized, so that whenever a subroutine is called in to perform a calculation, the subroutine will automatically know that the argument which is to be used is at a specified place.
[…] Some of them might be written out in a handbook and transferred to the coding of the problem as needed, but those of any complexity presumably ought to be in a library — that is, a set of magnetic tapes in which previously coded problems of permanent value are stored.

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


Возможность вызвать подпрограмму для выполнения какой-то функции упоминается еще в нескольких других источниках середины прошлого века — например, в мануале FORTRAN II от 1958 года:
Each [CALL statement] will constitute a call for the defining subprogram, which may carry out a procedure of any length or complexity […] [The CALL] statement causes transfer of control to the subroutine NAME and presents the subroutine with the arguments, if any, enclosed in parentheses.

Каждый [оператор CALL] производит вызов определенной подпрограммы, которая может выполнить операцию любой длины и сложности […] Оператор CALL передает управление подпрограмме с указанным именем и передает ей аргументы, заключенные в скобки.


Также он подчеркивает, что хотя слово «вызов» применительно к подпрограммам используется регулярно, целиком знакомое нам выражение «вызвать подпрограмму» встречается в 1961 в документе Burroughs Algebraic Compiler:
The ENTER statement is used to initiate the execution of a subroutine (to call a subroutine).

Оператор ENTER используется, чтобы начать выполнение подпрограммы (то есть чтобы вызывать подпрограмму).


Вот такая ИТ-лингвистика. А вы знали историю термина? 👀

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 LLM AutoEval — это проект, предлагающий простой способ бенчмаркинга LLM через Colab-блокнот, избавляя разработчиков от рутинной настройки тестовых сред. Достаточно указать название модели, выбрать benchmark и GPU — система сама развернёт инфраструктуру через RunPod и запустит оценку.

Система автоматически публикует результаты в формате GitHub Gist с возможностью сравнения с популярными моделями через интеграцию с YALL — альтернативным рейтингом языковых моделей. Для работы потребуются только API-токены RunPod и GitHub.

➡️ Посмотреть на GitHub

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Автоматизация отчётов с Python и API – с нуля до первых результатов

Представьте ситуацию: в пятницу после работы звонит в панике руководитель маркетинга — в понедельник встреча с инвесторами, а сводка по рекламным кампаниям не готова. Данные разбросаны по Google Ads, Yandex.Direct и внутренней CRM.
Раньше это означало 3–4 часа ручного копирования и сведение в Excel с поиском ошибок — стресс для всех. Но всё меняется, когда вы умеете автоматизировать этот процесс.

На предстоящем 12 августа в 19:00 (МСК) вебинаре Александр Грудинин, Lead Data Analyst в AdTech Holding и ментор курса «Аналитик данных», пошагово расскажет и покажет, как с помощью Python и API сервисов можно решать такие задачи быстро и эффективно:

🟠Как подключаться к API Google Ads, Yandex.Direct и CRM через библиотеку и получать структурированные данные.
🟠Как превращать «сырые» ответы в удобные для анализа таблицы.
🟠Как создавать наглядные отчеты и графики динамики трафика и экспортировать результаты.


Почему это важно для новичков?
Увидите "кухню" реальной аналитики, поймёте логику работы с данными – от запроса к API до готового отчёта, а также получите навык, который выделит вас среди других начинающих аналитиков.

Чем раньше вы научитесь автоматизировать рутину – тем быстрее начнёте расти в аналитике.

🕗 12 августа в 19:00 по МСК

😶Регистрируйтесь сейчас — вебинар будет максимально практическим!
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Self-Hosted AI Starter Kit — это готовый набор инструментов для развертывания собственных AI-решений с использованием n8n, платформы для автоматизации рабочих процессов!

Он включает преднастроенные потоки для интеграции моделей ИИ, таких как OpenAI, Ollama и другие, позволяя управлять данными и автоматизировать процессы без необходимости использования облачных сервисов. Решение идеально подходит для бизнеса и индивидуальных разработчиков.

Лицензия: Apache-2.0

➡️ Посмотреть на Github

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Nhost — свежий взгляд на backend-разработку с открытым исходным кодом.

Этот проект предлагает готовую облачную платформу или возможность самому развернуть альтернативу Firebase, но с GraphQL и PostgreSQL под капотом. Вместо NoSQL — привычный SQL, вместо REST — мощный GraphQL API на базе Hasura, а также встроенные аутентификация, хранилище и serverless-функции.

При этом Nhost не привязывает разработчика к конкретному фронтенд-фреймворку. Один и тот же SDK работает с React, Vue, Next.js и даже Flutter. Локальная разработка упрощена благодаря CLI, а для продакшна можно выбрать как managed-решение от создателей, так и развернуть всё на своих серверах через Docker.

➡️ Посмотреть на GitHub

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Ютубер сохранил PNG в скворце

Мы уже рассказывали про хранение данных на бумаге и в черно-белых видео с помехами, но недавно обнаружилось еще более оригинальное хранилище — скворец. Точнее, песня скворца.

Ютубер Бенн Джордан выложил видео, где рассказал, как записывал и анализировал песни разных птиц. Одной из этих птиц стал скворец по имени Рот (или Mouth), который всю жизнь прожил с людьми и научился имитировать окружающие его звуки вроде щелчка камеры или человеческих голосов.

➡️ Джордан нарисовал картинку с птичкой ☝🏻 Он обработал в спектральном синтезаторе, чтобы представить ее в виде звука и проиграл ее скворцу. Тот добавил этот звук в свою «библиотеку» и несколько раз вполне точно воспроизвел. Настолько точно, что картинка нарисовалась на спектрограмме, пусть и с некоторыми творческими допущениями.

➡️ То есть скворец успешно и почти без потерь сохранил и воспроизвел 176 КБ данных — именно столько весила оригинальная картинка. Конечно, это не самый удобный и надежный способ хранения данных, но чисто теоретически рабочий.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Продвинутый SQL-трюк: как найти строки, отличающиеся только одним символом

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

С помощью функции levenshtein() из расширения pg_trgm в PostgreSQL, можно находить строки, отличающиеся ровно на 1 символ. Это удобно для очистки данных, поиска дублей и реализации "умного" поиска в интерфейсе.


-- Убедись, что pg_trgm расширение включено
CREATE EXTENSION IF NOT EXISTS pg_trgm;

-- Найдём строки из таблицы users, у которых name отличается на 1 символ
SELECT a.name AS name1, b.name AS name2
FROM users a
JOIN users b ON a.id < b.id
WHERE levenshtein(a.name, b.name) = 1;

-- Пример: найдёт пары вроде ('Anna', 'Anya') или ('John', 'Joan')


➡️ Больше видео

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 DuckDB vs 🐼 pandas: кто быстрее разберётся с «капризным» CSV?

➡️ Сценарий

1. pandas read_csv("flight_data.csv") → весь файл свалился в одну колонку
2. DuckDB SELECT * FROM read_csv('flight_data.csv') → автоматически подхватил разделитель и выдал аккуратные столбцы

➡️ Вывод /

Если работаете с CSV с нестандартным delimiter’ом, попробуйте прочитать его через DuckDB: детектирует разделители сам и экономит ваше время на ручной настройке.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥Positron — новая IDE для дата саентистов

Компания Posit известна как разработчик RStudio — среды разработки, популярной среди дата саентистов и предназначенной для работы с R. Их новый проект, Positron, призван выступить как новая, более гибкая альтернатива.

⏺️Positron поддерживает работу в R и Python, предусмотрена возможность добавить и другие языки. Пока их не добавили официально, можно пользоваться сторонними расширениями — уже есть для Rust, Javascript/Typescript, C/C++ и Lua.
⏺️Главный фокус разработчиков — создать удобную среду разработки, которая за счет богатого функционала легко встраивается в рабочие процессы вне зависимости от стека и сферы деятельности. Positron позволяет писать код, изучать и анализировать данные, поддерживает ноутбуки на R и Python, запуск дата-приложени: Dash, FastAPI, Streamlit и так далее.
⏺️Надо ли говорить, что у Positron, конечно же, есть свой ИИ-ассистент?

Если верить отзывам, после 2 лет в разработке Positron все еще страдает от багов и недостатка фич, особенно по сравнению с более привычным многим RStudio, но это уже вполне рабочий и перспективный инструмент.

Он доступен бесплатно на Windows, macOS и Linux.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Как избежать «ИИ-пилотного болота»: опыт PepsiCo

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

Секрет — в стратегии: максимум 4–5 ИИ-проектов одновременно, на которые идут ресурсы и эксперты. Остальное тестируется во внутренней песочнице PepGenX — запуск только после доказанной пользы для KPI.

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

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

ИИ-продажники
На B2B-платформе оформляют заказы, дают клиентам данные о запасах в реальном времени, прогнозируют поставки и помогают запускать таргетированные кампании.

Разработка продуктов
ИИ сокращает запуск новинок с 6–9 месяцев до 6 недель, оптимизирует рецептуры и брендинг.

Маркетинг
Генерирует идеи, тестирует их на виртуальных респондентах и оптимизирует кампании.

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

Иногда нужно из каждой группы выбрать одну запись, например, самую раннюю по дате. Если у вас нет оконных функций (например, в старом MySQL), используйте трюк с GROUP BY и JOIN:


SELECT t1.*
FROM orders t1
JOIN (
SELECT customer_id, MIN(order_date) AS min_date
FROM orders
GROUP BY customer_id
) t2 ON t1.customer_id = t2.customer_id AND t1.order_date = t2.min_date;



➡️ Этот приём вытаскивает первую покупку каждого клиента без оконных функций.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Семантический слой, и с чем его едят

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

➡️ Способ сделать данные чуть ближе к людям — это введение сематического слоя, который выступает прослойкой между БД и бизнесом. В нем, как в едином источнике правды, задаются все метрики, уровни доступа, этапы трансформации данных и затем подтягиваются во все BI-тулы, приложения и так далее.

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

Конечно, нужно это не всем. Введение семантического слоя оправдано, когда:
⏺️в компании уже довольно развитая система аналитики — множество дашбордов, разные BI-платформы, пользователи из разных отделов со своими запросами и метриками,
⏺️используется сложная бизнес-логика и расчеты, а не только SUM() и AVG(),
⏺️хочется дать пользователям возможность самим писать ad hoc-запросы, не заставляя их изучать продвинутый SQL с join’ами и прочими тонкостями.

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

➡️ Но если момент настал, и вы не знаете, что теперь делать, то мы нашли для вас гайд. Он объясняет процесс на довольно простом примере, но зато наглядно: с чего начать, как задать определения метрик на YAML и настроить логику работы. В конце еще и короткий FAQ добавили.

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

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Продвинутый SQL-трюк: Как одним запросом вытащить только самую последнюю запись по каждой группе — и при этом сохранить все остальные поля

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

-- Найдём последнюю покупку по каждому customer_id
SELECT o.*
FROM orders o
JOIN (
SELECT customer_id, MAX(order_date) AS max_date
FROM orders
GROUP BY customer_id
) latest
ON o.customer_id = latest.customer_id
AND o.order_date = latest.max_date;

-- Работает даже если в таблице десятки миллионов строк, индекс на order_date и customer_id ускорит запрос


🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 uQLM — движок для SQL‑запросов к LLM, разработанный в CVS Health

Что если к языковой модели можно обращаться как к обычной базе данных?

uQLM (Universal Query Language for Models) позволяет писать SQL‑подобные запросы, чтобы:

⏺️ Обращаться к LLM как к таблице
⏺️ Фильтровать, агрегировать и комбинировать ответы
⏺️ Подключать собственные модели и источники данных
⏺️ Использовать привычный синтаксис SQL без prompt-инженерии

➡️ Пример запроса:

SELECT generate_response(prompt) 
FROM gpt4
WHERE prompt LIKE '%explain%'
LIMIT 5;


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


➡️ Посмотреть на GitHub

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ 120 ключевых вопросов по SQL за 2025 год

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

Основываясь на актуальных требованиях 2025 года, вопросы охватывают базу данных, оптимизацию, практические задачи и нюансы СУБД (MySQL, PostgreSQL, SQL Server).

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Примерно 71% всех венчурных денег, вложенных в американский бизнес к 1 первому кварталу 2025 года, ушло в компании, которые аналитики J.P. Morgan отнесли к AI-сектору. И доля эта растёт по экспоненте: ещё в 2022 году она была всего 14%!

Кажется, скоро это станет базовой формулой: хочешь денег — используй ИИ. Хочется верить, что это не приведёт к созданию ИИ-проектов, где ИИ не нужен.

🫡 Всё пиз-Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM