NULL++
95 subscribers
49 photos
16 links
Канал для тех, кто хочет развиваться как Data Analyst, Data Engineer и BI-Analyst
@HexMikhail
Download Telegram
Channel created
Channel photo updated
"Я знаю, что ничего не знаю"
Этот афоризм приписывают Сократу, но это скорее интерпретация его идей, записанных учениками.
Мне нравится это высказывание. Потому что сколько бы я не изучал нового, всегда будет то, что я не знаю.
И в очередной раз я понимаю - а я ещё много не знаю.
Именно эта мысль привела меня к названию моего канала.
NULL означает незнание, ++ означает апгрейд, улучшение.
Но что будет, если к NULL что-то прибавить? Вот именно :)
@nullpp #простомысли
❤‍🔥3
Раз уж я начал писать про NULL, то и продолжу немного об этом. Обычно, если у начинающего программиста спросить "Что будет если к Null прибавить число?", он без запинки ответит, что тоже будет NULL - и будет прав. Но иногда NULL может вести себя очень странно и с первого взгляда нелогично, особенно в SQL. Вот один из примеров.

@nullpp #NULL #SQL
🤷‍♀1🔥1
Сегодня я хочу рассказать, а кому-то просто напомнить, о поведении NULL при вычислении логических операций. Рассмотрю эти операции на примере PostgreSQL, но логика стандартна для большинства СУБД.
Как видите, результат выполнения логической операции не всегда будет NULL.
А последний пример, когда NOT NULL в результате даёт NULL, сломал мне мозг в своё время)

@nullpp #NULL #SQL #PostgreSQL
👌2🤷‍♀1
Продолжим интересности с NULL? =) В данных выражениях, я думаю, первые пять вообще не выбиваются из обычной логики.
А вот выражение NULL IS DISTINCT FROM NULL очень интересное. В некоторых случаях имеет смысл написать строка IS DISTINCT FROM NULL или строка IS NOT DISTINCT FROM NULL, чтобы просто проверить, равно ли NULL всё значение строки, без каких-либо дополнительных проверок полей строки. А так как выражения IS всегда возвращают TRUE или FALSE и никогда NULL даже с операндом NULL они интерпретируют значение как неизвестное логическое состояние и выдают в первом случае FALSE, а во втором TRUE.

@nullpp #NULL #SQL #PostgreSQL
🤷‍♀1
Подумал и решил рассмотреть последние два примера из предыдущего поста более подробно.
Выражению a IS DISTINCT FROM b соответствует такое вот длинное выражение a <> b OR (a IS NULL) <> (b IS NULL).
Аналогично, a IS NOT DISTINCT FROM b соответствует выражению a = b OR (a IS NULL) = (b IS NULL).
Теперь если вместо a и b подставить значения NULL, то всё встанет на свои места =)
Но в каких случаях применяются данные конструкции? Вот пример использования:
SELECT * FROM Table WHERE id IS DISTINCT FROM 17;

Результаты исключают все строки, в которых id совпадает со значением 17. Чем же такой запрос будет отличаться от простого WHERE id <> 17?
Подсказка: вся разница в NULL-значениях в результате запроса.

@nullpp #NULL #SQL #PostgreSQL
🤷‍♀1🔥1
Всем привет! На связи Михаил К.
Вчера был мой последний "рабочий" день в отпуске. Значит, сегодня я уже безработный :)
Когда я увольнялся, я планировал немного отдохнуть. Но при всём при этом, я продолжал искать себе новую работу в сфере, которая мне очень приглянулась и в которой я хочу дальше развиваться как профессионал - Аналитик данных или BI-аналитик.
На скрине видно, как я на протяжении двух месяцев откликался: 177 откликов, из которых мне ответили только 4. Остальные это либо "Отказ", либо тотальный игнор.
Из этих четырёх я созвонился с HR-ами и в трёх из них мне отказали без объяснений, даже не позвав на техсобес. А вот ещё одна компания пригласила на небольшой техсобес, на котором я 40 минут отвечал на вопросы и демонстрировал портфолио, попутно объясняя задачи и что именно я сделал в них. Через пару часов мне перезвонили и предложили оффер BI-аналитика. Хорошо взвесив все условия, я его принял. Так что теперь в понедельник я выхожу на новую работу 😀
@nullpp #работа #ПоискРаботы #оффер
👏8👍4❤‍🔥1
Всем привет! Столько всего хочется рассказать и поделиться! Даже не знаю с чего и начать!
Ладно, начну с небольших подробностей о том, куда я устроился работать)
Нагоню немного тумана, уууу: компания занимается разработкой и поддержкой Экстрактора 1С - инструмента для быстрой выгрузки данных из баз 1С. По этому описанию, если захотите, то легко сможете найти её)
Некоторое время назад они решили расширить свою деятельность, добавив BI-аналитику - разработку дашбордов на основе выгруженных данных. Вот этим мне и придётся заниматься: от помощи в сборе требований и до построения полноценных многостраничных дашбордов (я глянул примеры, которые уже были сделаны - и это просто класс).
Но пока что я только вливаюсь и много что в новой работе непривычно.
Если резюмировать, то мои хотелки по поиску работы были выполнены, а именно:
Удалёнка
Айтишечка
Зарплата повыше моей предыдущей работы

Кстати, на собесе ведь выяснилось, что они ведут всю свою работу по данному направлению в DataLens, которого я в глаза не видел)
Пришлось в срочном порядке проходить бесплатный курс на Я.Практикуме (кстати, очень неплохой курс, рекомендую). На текущий момент я его прошёл лишь наполовину)

@nullpp #работа #оффер
👍7
"Вжух - и готово!"
Сказал бы я, если бы это так было)
Прошла моя первая рабочая неделя в качестве BI-аналитика, и это было сложно, но при этом очень интересно.
Моё первое задание: переделать обычные индикаторы в интерактивные, которые перекрашиваются в зависимости от увеличения или уменьшения значения по отношению к значению аналогичного периода прошлого года. И таких индикаторов было много. Некоторые метрики для индикаторов уже были готовы, а некоторые пришлось создавать с нуля.
К сожалению, в DataLens нет быстрого решения для такой задачи. Поэтому пришлось выкручиваться через текстовый формат и функции разметки. Как думаешь, что было самое сложное? =) Ни за что не догадаешься.
Самым сложным для меня было разделить число на разряды. Так как все числовые значения переводились в текст, они получались без разделителя между разрядами (то есть получалось 193662, что менее удобно, чем 193 662.
Ну а в остальном, я успел в сроки и сдал задание руководителю проекта. Заказчику понравилось )

@nullpp #работа
👍5🔥1