NULL++
91 subscribers
49 photos
16 links
Канал для тех, кто хочет развиваться как Data Analyst, Data Engineer и BI-Analyst
@HexMikhail
Download Telegram
Всем привет!
Мой дашборд разместили в DataLens Gallery =) Йээээ
https://datalens.ru/gallery/gx1h48lns7le1
🔥10👏1
Всем привет!
Поделюсь небольшим, так сказать, успехом в учёбе на курсе Дата инженера.
Удалось собрать docker compose, где
Докер 1 с питоном, запускает скрипт по генерации данных, а затем записывает их в Докер 2, где крутится PostgreSQL. А затем Докер 3 отображает это через Nginx по localhost в виде простой таблички

@nullpp #генерация_данных #Python #docker #docker_compose #nginx
🔥4👏1
Всем привет!
Я тут немного подумал, чем бы можно было бы разнообразить контент на канале.
Как на счёт того, чтобы выкладывать некоторые задачки (и их решения) на подумать?
Например типа такого:

Задача:
Вывести информацию в какие города можно улететь из Парижа (Paris) и сколько времени это займёт?


Решение в PostgreSQL:
SELECT 
town_to,
TIMEDIFF(time_in, time_out) as flight_time
FROM
Trip
WHERE
town_from = 'Paris';


#Задача #SQL #PostgreSQL #Авиаперелеты
🔥43
Всем привет!
Сегодня будет ещё одна задачка по той же БД

Задача:
Выведите пассажиров с самым длинным ФИО. Пробелы, дефисы и точки считаются частью имени.


Решение будет в первом комменте

#Задача #SQL #PostgreSQL #Авиаперелеты
🔥3
NULL++
Всем привет! На этой неделе новости такие: Мне выдали (пока что в электронном виде) мой диплом о переквалификации). Получается, я уже теперь точно дипломированный и профессиональный аналитик данных. Бумажный вариант пришлют скоро) Я очень рад, что всё-таки…
Всем привет!
А вот и второй диплом мне прислали в электронном виде. Теперь я дважды дипломированный аналитик. Посмотрим, как это мне поможет в будущем xD

П.С. Первый диплом я уже получил в бумажном виде. Всё как положено: корочка, вкладыши, +1 к ЧСВ

#Диплом
🔥6🍾1🤓1
Всем привет!
Хочу немного поговорить сегодня о функции COUNT в SQL. Данную функцию используют для подсчёта количества строк в таблице/вьюшке/результате запроса.

1. Самый простой пример использования - это подсчёт общего количества строк:
SELECT
COUNT(*)
FROM table;

Так можно посчитать все строки, включая те, которые содержат NULL.

2. Если вместо * вставить название колонки:
SELECT
COUNT(col1)
FROM table;

то запрос посчитает количество не-NULL значений.

3. Если нужно посчитать уникальные значения, то внутри нужно добавить DISTINCT:
SELECT
COUNT(DISTINCT col1)
FROM table;

Данный способ работает в PostgreSQL, в других СУБД частенько используются другие функции.

А что, если нам необходимо посчитать количество уникальных строк по двум и более параметрам?
Тут нам поможет функция CONCAT():
SELECT COUNT(DISTINCT CONCAT(col1, ' | ', col2))
FROM table;

- Иногда col1 и col2 нужно привести к формату строки.
- Обычно используют какой-то спецсимвол для соединения, чтобы случайно не пропустить что-нибудь.
Например, если взять просто CONCAT(col1, col2), то конкатенация значений ab и c будет равна конкатенации значений a и bc: abc. То есть DISTINCT решит, что это одинаковые значения.

4. А ещё можно считать количество по условиям:
SELECT 
COUNT(CASE WHEN gender = 'F' THEN 1 END) AS F,
COUNT(CASE WHEN gender = 'M' THEN 1 END) AS M
FROM project_data;

Или вот так тоже можно:
SELECT 
COUNT(*) FILTER (WHERE gender = 'F') AS F,
COUNT(*) FILTER (WHERE gender = 'M') AS M
FROM project_data;


А ещё, нужно помнить, что функция COUNT() является агрегирующей, а это значит, что если мы хотим посчиать количество в разрезе како-нибудь параметра (значений столбца), то надо не забывать про GROUP BY.
В качестве примера, посмотрим распределение покупки товаров по половому признаку:
SELECT 
product_id,
COUNT(CASE WHEN gender = 'F' THEN 1 END) AS F,
COUNT(CASE WHEN gender = 'M' THEN 1 END) AS M
FROM project_data
GROUP BY product_id ;

В результате получим такую таблицу:
product_id|f  |m  |
----------+---+---+
536| 77| 96|
7004| 81| 75|
19812| 73| 79|
47778| 74| 72|
34354| 79| 89|
4035| 80| 82|
44342| 73| 89|
...|...|...|


#SQL #PostgreSQL #агрегация #count
🔥7
Всем привет!
Ну вот и Новый год! Поздравляю всех с наступающим (у кого-то уже наступившим) Новым 2026 Годом!
Хочу подвести свои итоги года)
В уходящем году я решился сменить свой род деятельности. С начала года начал учиться на Аналитика данных: каждый день по чуть-чуть (когда-то по 20 минут, когда и по 3-4 часа) я очень много изучал SQL, Python (включая всякие интересные библиотеки по анализу и визуализации данных), продуктовые метрики, методы аналитики, различные BI-системы, с трудом вспоминал давнозабытую математическую статистику и даже изучил Excel на совершенно другом уровне)
Попутно я уволился со своей старой работы в "никуда", но пока был в отпуске, нашёл новую работу на позицию BI-аналитика, где уже почти полгода (когда праздники кончатся, уже будет, считай) работаю. И мне очень нравится то, чем я сейчас занимаюсь!
Что ещё? Сдал экзамен по DataLens и получил сертификат. Получил два диплома государственного образца о переквалификации по Аналитике данных и BI-аналитике.
За весь 2025 год я посетил огромную тучу различных вебинаров, наверное, штук 100, не меньше. Там были темы и по аналитике, и по BI, и по ML, и даже по 1С =)
В следующем году я обязательно продолжу развиваться как первоклассный специалист по BI (в первую очередь), аналитике данных и совсем немного в инженерии данных. Может даже захвачу немного DS и ML, тут уж как сложится =)
А ещё, я вчера прошёл собес в компанию, где мне сделали оффер с зп на треть повыше, но компания не в реестре IT... И теперь я в раздумьях: сменить место работы или продолжить свой путь на текущем месте? Может кто что посоветует? =)
Поэтому я хочу пожелать всем моим подписчикам: не бойтесь своих стремлений и желаний, если идти к цели, то вы её обязательно достигнете!
В комментариях, можете поделиться, кто чего достиг в этом году и что планируете в следующем)

@nullpp #поздравления #достижения
🎄92👍1
Всем привет!
Давно не было постов, да... Отдыхал, думал, снова учился... В общем то и писать пока что особо не о чём.
Год заканчивался тем, что мой голос совсем пропал, болело горло и я бесконечно чихал =)
Но уже к 3му января, я уже почти вернулся в норму и сейчас чувствую себя хорошо.
Сходил всей семьёй в кино... дважды... на русские фильмы... На Чебурашку 2 (вообще гадость) и Простоквашино (так плохо, что даже хорошо, ахаха). Видели цены??? Я ваще офигел от 450 руб за билет (а их мне надо 4 штуки)... И это на утренние сеансы. А по вечерам цены доходили до 2000 за билет...
А ещё, я не принял оффер, который мне был сделан. Моя чуйка сказала "не надо", а я ей как-то доверяю =) Может и зря, конечно, время покажет.
По учёбе я доделал проект по Apache Airflow: github.com/mishandri/airflow_project
И мне уже дали отличный фидбек на него. Если вкратце, то проект генерирует даг динамически на основе Python-словаря, лежащего в S3-хранилище. Это позволяет достаточно легко изменять работу дага без фактического изменения его кода.
Да, получилось, я считаю, очень интересно. Я постарался применить всё, чему меня научили + ещё кое-что, чего не было рассказано и было изучено самостоятельно.
И приступил к изучению PL/SQL, чтобы уметь писать всякие функции, триггеры, ветвления и циклы.
А у вас было что-то интересное за эти длинные выходные?

@nullpp #SQL #PostgreSQL #Python #Airflow #истории
👍3😁2🤔2
Всем привет!
Как я уже писал ранее, перед самым Новым годом я прошёл собес, и мне был сделан офер. Но я его не принял)
Теперь же, после праздников, я обновил своё резюме и активненько начал снова откликаться на вакансии.
И вот что я вижу - работодатели, мягко говоря, ахерели xD
Вот что должен уметь джун BI-аналитик? Ну ладно, не совсем джун (с небольшим опытом) или даже миддл?
Давайте я сначала напишу что я думаю сам, а потом допишу, что теперь хотят работодатели...

Итак, первое и самое основное:
1. SQL. Это уже, своего рода, обязаловка. SQL сейчас нужен всегда и везде. Что нужно на уверенном уровне:
- SELECT, WHERE, агрегации и GROUP BY, HAVING, ORDER BY, LIMIT
- JOIN'ы всех видов: INNER/LEFT как отче наш, RIGHT/FULL - по настроению =)
- Оконные функции и их применение (SUM, AVG, ROW_NUMBER), причём важно умение настраивать параметры самого окна.
Если этого минимума нет, то дальше и обсуждать нечего!
2. База BI-инструментов. Как быть BI-аналитиком и не знать BI-инструменты?)) Что нужно уметь:
- Подключиться к БД (например, PostgreSQL/Clickhouse)
- Создать датасет/витрину данных со всем нужными полями и вычислениями
- Понимать разницу между мерой и измерением (хотя в разных BI-системах названия могут отличаться, но суть остаётся прежней)
- Понимать какой чарт для каких целей лучше использовать
- Уметь настроить внешний вид чарта (цвета, толщина линий и тд
- Уметь правильно добавить фильтрации/селекторы и тому подобное и уметь настроить их влияние на различные чарты.
3. Немного продуктового мышления. А куда ж без него? Ты должен понимать хотя бы основные метрики того бизнеса, куда хочешь устроиться. Сюда же я отнесу умение получить чёткие ответы на вопросы:
- Для какой цели нужен дашборд?
- Кто будет пользоваться дашбордом?
- Что вы хотите видеть на дашборде (какие метрики, графики и тд)?
- Как это поможет принимать решения?

Это была всё база. Что будет плюсом к этому всему?
- Python. Не знаю как у вас, а меня уже питон выручил несколько раз.
- Git. Тоже очень полезная штука. Важно хотя бы базово понимать как он работает и не бояться его.
- Excel/GoogleSheets. Очень часто заказчик приносит свои данные в обычных табличках, где много всяких дынных и написаны какие-то формулы, которые помогут потом при создании витрины данных или при визуализации.

А теперь я напишу то, что я стал встречать в вакансиях "от 1 до 3 лет" опыта на hh.
- ML. Да, да, работодатель уже хочет, что бы его будущий работник умел "хотя бы" делать линейную регрессию, классификацию или кластеризацию. Про K-means пока не встречал, как и градиентный спуск, но кажется, что ещё полгода и будут требовать и их. Особенно интересуют работодателя проекты с временными рядами. То есть уже надо уметь использовать sklearn или pytorch
- T-SQL. Работодатель хочет, чтобы вы не просто SELECT'или, а создавали свои процедуры, функции и триггеры.
- Умение работать с S3-хранилищами,
- Использование кластеров YandexCloud
- Работа в Linux-окружении
- Понимание Docker/Docker Compose
- Даже видел, что в некоторых вакансиях хотят написание дагов Airflow.

Другими словами, очень много требований, которые вообще не относятся к BI, а больше относятся к DE или ML.
Вот такой вот получился пост (даже немного грустный, как по мне). Требования всё растут и растут, не успеваешь гнаться за ними).

@nullpp #SQL #Python #Airflow #работа #обсуждение
🤔6😢3
Всем привет!
Мне в комментариях задали вопрос: На что стоит обращать при поиске удалённой работы. Я подумал и решил, что можно написать в общем смысле, а не только про удалённую работу. Этот пост будет больше про то, на что я сам обращаю внимание 😊 Итак, приступим!

1. На hh есть такой фильтр: Формат работы: Удалённо. Будьте внимательны, иногда компании выбирают несколько форматов подряд, например: Офис, Гибрид, Удалённо. Иногда в вакансии "честно" указывают, мол работа в офисе, но один день в неделю можно из дома. Да, это совсем не похоже на удалёночку, и я такие компании сразу добавляю в чёрный список 😆 Всегда сразу уточняйте у рекрутера этот вопрос, даже если в вакансии стоит только "Удалённо".

2. Обязательно изучайте полный текст вакансии. Я заметил, что частенько то, что в базовом блоке пишется, часто отличается от требований в тексте вакансии.
Один из примеров был в пункте 1.
Но также я встречал и такое: Написано, что занятость полная, но в тексте вакансии указано, что это проектная деятельность.
Или такое: Оформление по трудовому договору (он же ТК РФ), а ниже в тексте написано, что работают через оформление ИП или СЗ.

3. В общем-то можете работать и по ГПХ, и через ИП или СЗ, тут решайте сами. Везде есть плюсы (которые чаще всего не для вас) и минусы. Во всех перечисленных случаях не может идти речи о каком-то там графике или рабочих часах. Другими словами, с вами заключается договор, где указываются какие работы вы должны выполнить и их сроки выполнения. Тут ваше право когда делать и сколько времени на это тратить =) Мне такое не подходит от слова "вообще". Я считаю, что оформление через ИП и СЗ - это сознательный уход компании от всяких дополнительных выплат с их стороны. Работник тут имеет лишь лишние проблемы с самостоятельной уплатой всяких взносов и налогов. ГПХ вполне себе можно рассмотреть как подработку, там даже отчисления идут в соцфонд. По ГПХ я работал в GeekBrains преподавателем и меня это тогда вполне устраивало.

4. Опыт работы... Это, наверное, краеугольный камень при отклике для некоторых. Я откликаюсь вне зависимости от этого пункта. Ну откажут вам из-за этого, ну и ладно)
Вот как раз недавний случай это подтвердил. Я откликнулся на вакансию с опытом 3-6 лет, мне выслали тестовое, я его сделал и меня пригласили на собес.

5. Если указана зарплата - это хорошо. Указана вилка - тоже неплохо. Для джуна-аналитика можно искать зп от 80к до 100к (это чисто моё наблюдение). Но чаще сейчас я вижу тренд, когда она не указана, то есть если пройти до собеса, то вполне себе можно запросить желаемую зарплату 😊
Для себя я ещё стал обращать внимание на всякие "плюшки" от компании по типу ДМС, предоставление техники (которая мне и не очень то нужна).

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

Что ещё можно (и нужно) спросить на собесе, если до этого дойдёт?
- Как ведётся работа внутри команды? Есть ли лид (к которому можно обратиться, если что)? Сколько вообще человек в команде? Сколько человек на такой же должности?
- Какой испытательный срок? Через сколько потом можно поговорить о повышении зарплаты? Да-да, я один из тех меркантильных работников, который работает ради денег 😝
- Как происходит трек задач и рабочего времени? В некоторых компаниях очень важно, чтобы работник начинал работу ровно в 9:00. Я теперь спрашиваю: что делать если у меня вдруг не будет задач?
На одном из собеседований мне даже показали трекер задач и кто сколько отметил там времени за последний месяц. Я быстро разделил количество отмеченных часов на количество рабочих дней и получил среднюю цифру 9,6. Многовато, не так ли?

Хочу закончить небольшим напутствием: не забывайте (прямо заклинаю вас!!!), что вы продаёте свои скиллы, но никак не свою (в том числе и личную) жизнь. Всё рабочее взаимодействие только в рабочее время и только через рабочие мессенджеры. Исключение: какое-то ЧП, которое не подождёт до утра следующего рабочего дня.

@nullpp #работа #поиск_работы #вакансии #размышления
5👍5🔥2
О! Вакансия мечты! Кто откликнется?))))
https://www.rabota.ru/vacancy/52370084
😁8😱2
Всем привет!
Увидел картинку и вспомнил недавний декабрьский вебинар, на котором мне посчастливилось побывать.
На этом вебинаре три HR обсуждали как и что делать при поиске работы. И вот одна из них выдаёт такое, что я прямо таки разозлился и полез писать ей комментарии 😆
В общем, посыл у неё был такой: компания всё равно найдёт сотрудника под свои завышенные требования и заниженную зарплату (и с этой частью я полностью согласен), поэтому нужно переступить через свою гордость и соглашаться даже на такое, особенно, если ты меняешь сферу своей деятельности (а вот тут то у меня и подгорело).
Мол неважно каким ты был специалистом ДО этого. Ты сейчас НОЛЬ и звать тебя никак.
Я считаю, что это подход из разряда "Там за забором куча народу на твоё место" или "Незаменимых людей не бывает". Бери, что дают и не вякай?
Как считаете, стоит ли идти работать в компанию с такой вот философией?

@nullpp #размышления #HR #поиск_работы #работа
🤔6
Всем привет!
Продолжая затронутую тему по отношению работодателя к работникам.
Да, иногда и приходится пересилить себя и идти (продолжать) работать работу =) Но долго ли продержится там такой работник? Самое частое, что я слышал от таких работников фразы типа "Ой, да я ничего больше и не умею", "Да везде так же" или "У меня ничего не получится, а обратно уже не возьмут".
Да я и сам таким был. Я тоже слышал эти фразы и даже так думал. Страх не найти работу очень силён.
Но однажды случилось кое-что в моей жизни, я понял, что надо уважать себя, свой труд, своё здоровье (физическое и психическое), и особенно своё личное время. Пока вы не начнёте этого делать - работодатель точно не будет.
Я понимаю, что некоторые работодатели ищут себе рабов, они считают - это выгодно. Но это выгодно только в краткосрочной перспективе.
И я занялся своим самообучением. Многое из изученного я внедрял в свои занятия. Как говорится: если хочешь что-то понять - научи другого.
В последние пару лет преподавания на меня буквально скинули предмет "Микропроцессорные системы" (его никто не хотел вести), программа которого, похоже, была написана где-то в 80-е, потому по этой программе там нужно было изучать микропроцессор Intel 8080 и писать код на Assembler. На мой резонный вопрос "А зачем это в 2018 году?" мне ответили в стиле "Чо, самый умный?". Изучив программу курса, я понял, что всё что нужно для сдачи экзамена по Профессиональному модулю - можно выучить недели за 2, но никак не за целый семестр.
Я поговорил со студентами и мы решили так: каждый купит себе на алишке по одной Arduino (она тогда стоила рублей 200-300), они на ней весь семестр будут работать, а потом на них и сделают свои итоговые дипломные проекты. А я нашёл всякие диоды, моторчики, спикеры и прочие компоненты, которые они по очереди изучали на лабораторных работах.
Как итог: получился очень интересный семестр и не менее интересная защита дипломных проектов.
На следующий год колледж закупил аж ДВЕ новых ардуинки, а точнее дорогие российские клоны х10 стоимости.
Я написал новую программу курса + сборники практических и лабораторных по этому модулю. Провёл ещё один год. А потом, так уже получилось, я уволился. Мне пару раз звонили и просили "одуматься" и вернуться. Я согласился довести своих дипломников за отдельную плату =) На этом и сошлись.
И самое интересное: всё, что я разработал, я оставил колледжу. Мне то оно зачем?
И вот представляете? На следующий учебный год мне написал новый препод, просил всякие исходники и прочее, мол ему ничего не дают. А у меня уже ничего нет, я всё удалил у себя и забыл как страшный сон. Затем мне писал уже другой препод (так как предыдущий уволился), тоже просил прислать материалы. Вот такое отношение к работникам...

@nullpp #работа
4👍3🔥1
Прошёл тест от #avito и #getmach по своим компетенциям, который вот тут https://avito.getmatch.ru/skills-test

Помня, как подтверждаются навыки на hh, что даже нельзя фокус окна переключать, я решил проходить тест полностью своими силами =) По SQL (Clickhouse) как раз вспоминал как извлечь начало месяца для когорты, и написал date_trunc(), потом уже вспомнил про dateTrunc​(). Вроде как теперь обе функции в наличии. Но я всё время путаю, что первым аргументом, а что вторым, видимо тут как раз и перепутал)))

По A/B-тестам согласен с оценкой, здесь у меня только учебный опыт. Теперь я знаю, куда дальше расти и стремиться =)

@nullpp #тест #аналитика #sql
🔥3👍2
Forwarded from Simulative
В 37 лет устал от IT-рутины. В 38 стал аналитиком с дипломом и новой зарплатой

Знакомьтесь, Михаил Колчар — студент, который прошёл почти всю линейку наших курсов (и до сих пор проходит!) 🔥

Его путь — лучший ответ на вопрос «А получится ли у меня?». Раньше он был сисадмином в госструктуре и к 37 годам понял, что хочет удалённую работу и новую профессию.

О своём карьерном треке он рассказал в карточках.

С его позволения процитируем: прекращайте свои раздумья и идите уже учиться и менять свою жизнь к лучшему! Наши курсы ждут вас 👨‍💻


➡️ Выбрать свой курс и начать меняться: simulative.ru

📊 Simulative
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8