Excel ⇨ Python ⇨ СУБД ⇨ Power BI
СтатистикаПолезности тут: https://boosty.to/morinad Контакт автора: https://t.me/alexdirect Power Query, Power BI, Python, API, ChatGPT и многое другое...
- Последний пост
- 6 мая
- Последнее чтение
- 20:42
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
ОСНОВЫ APACHE AIRFLOW Ещё когда работал с Power BI, меня всегда интересовал Airflow. Сначала он казался чем-то сложным - миллион настроек, да еще эти питоновские классы и другие нюансы кода, что сходу не разберёшься. У меня были коллеги, кто гораздо лучше умел его настраивать. Они писали свои кастомные операторы, делали сложную загрузку данных, отчего еще больше казалось, что я вообще ничего не пойму 🙄 Со временем стали понятны несколько вещей: ⚡️ ничего сложного в самом Airflow нет (ну, кроме классов) ⚡️ Airflow - всего лишь оркестратор, он не должен выполнять никакой загрузки данных, только вызывать скрипты ⚡️ вам на самом деле не нужен миллион настроек, хватит примерно десятка (или двух) Теперь работаю с Airflow каждый день и сделал довольно подробный ролик по его настройке. У многих не работает YouTube, так что смотрите прямо на платформе: https://directprobi.ru/platform/apache-airflow-osnovy/
Как я ушел с GetCourse и сделал свою обучающую платформу (ссылка в конце поста) Раньше регулярно оплачивал GetCourse. В среднем около 5000 рублей в месяц (4000р за тариф, 1000р за хранилище). Это минимальный тариф (до 1000 пользователей), меньше уже некуда. Идея сделать свою обучающую платформу давно сидела в голове, но раньше казалась слишком сложной - ведь это огромный объём работы (будто бы основной работы мало). Но когда стало популярным писать код нейросетями, я взглянул на задачу иначе и решил попробовать 💪 Накидал схему базы данных *, прикинул разные кейсы и начал делать проект на любимом Django. * Вспомнил, что в Karpov Courses на курсах дата-инженера мы именно такую схему и рисовали в конце первого блока - там были курсы, студенты, уроки, итд - не зря учился))) Заход #1: Replit - AI IDE для простых смертных Первый и самый простой вариант для старта. Там были разные глюки, странности, не всё работало идеально. Но главное, что это работало. Основа платформы была запущена и видео грузились. Заход #2: Cursor - AI IDE для разработчиков Настало время для «более программистского» инструмента. Cursor в мелочах удобнее для программиста, но плевался я от него не меньше. Отладка процесса оплаты потребовала проведения 50+ транзакций, прежде чем всё заработало. Заход #3: Claude Code - агент для кодинга И тут уже всё полетело. Переход на Claude Code позволил всё доработать и сделать приемлемым. Устранение ошибок, доработка фичей, настройка той же оплаты — всё пошло в разы быстрее и круче. Для видео выбрал Kinescope. Нужна была надёжная платформа для хранения и стриминга, а у них отличные условия. Кстати, слышал Kinescope тоже делает один человек:) Что в итоге получилось? ✅ Стоимость упала в 4 раза: с 5000 ₽ до 1200 ₽ в месяц. Возможно, она вырастет, но всё равно экономия существенна. ✅ Никаких ограничений - если в геткурсе минимальный тариф работает до 1000 юзеров, то тут - разве что не потянут CPU и RAM, других лимитов нет. ✅ Полная кастомизация: Можно добавлять любые фичи, которые придут в голову. Захотел переключатель «презентация/видео» - сделал. Нужны квизы после уроков - пожалуйста. Возможность скрыть или показать список всех уроков - не проблема. ✅ Игровая динамика: Добавил баллы за прохождение уроков и систему грейдов для мотивации. Теперь учиться интереснее:) Не претендую на инфраструктуру подобную GetCourse, но тот минимальный набор функций, которым я пользовался там, реализовать удалось. И это уже очень неплохо🔥 На платформе уже появились разные курсы, в том числе и сделанные от начала до конца с помощью ИИ, но о курсах расскажу в следующих постах. Сама платформа тут: https://directprobi.ru/platform/
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи
———————————— Серия подкастов про ИИ Мне очень нравится NotebookLM с его возможностью делать подкасты на любую тему и быстро изучать любую область. Можно накидывать в источники множество Youtube видео, иностранных сайтов из поиска, а если нужно, то и выгрузку чатов Telegram. Сделал для вас несколько подкастов про ИИ на тему расширенной работы с LLM. Инфа в подкастах частично пересекается, но каждый по отдельности интересен. Какие есть варианты добавления знаний в LLM: • собственные файлы • поиск в интернете • дообучение модели • RAG на ваших данных Ну и темы про принятие решений на стороне LLM: • MCP как протокол общения LLM с внешним миром • ИИ-агенты как самостоятельные системы на базе LLM Ссылка на канал тут если потерялась при пересылке🔥
Подключение к 1С актуально для большинства бизнесов, но в интернете слишком много разрозненной инфы по этой теме 😵💫 В этом видео сравнил разные методы подключения к 1С, а также рассказал почему лучше выбрать платный коннектор за небольшую цену. В чём преимущества такого решения: 1) Поддерживает большие объемы данных 2) Не требует вмешательства программистов 3) Отображает человеческие названия столбцов + полезные метаданные с подсказками для быстрого создания связей 4) Работает даже в Excel - есть в виде обычной функции Power Query + в виде MEZ для Power BI 5) Теперь к нему есть короткое понятное видео с примером создания отчёта 🔥 Как пользоваться коннектором и как создать простой отчёт смотрите тут: https://youtu.be/8_SzGH3ApDY
КАК ПОЛУЧАТЬ ДАННЫЕ ИЗ CLICKHOUSE В POWER BI И EXCEL Ранее у меня уже была статья на эту тему, но поскольку тема всё более популярна, решил сделать видео 🔥 Разбираю разные способы получения данных, но чаще всего достаточно простого кода на Power Query: Table.PromoteHeaders(Csv.Document( Web.Contents("XXXXX.ru:8123", [Timeout=#duration(0,0,30,0), Query = [ user = "XXX", password = "123123123", query = " SELECT * FROM xxx.xxxxxxxxx " & " FORMAT CSVWithNames " ]]))) В плане безопасности: Важно ставить качественные пароли, а также закрывать доступ к Clickhouse по IP лишним пользователям. И конечно, не стоит пересылать файлики pbix или xlsx с параметрами подключения в коде. Так вы уже хорошо защитите свою БД от внешних подключений и подбора пароля. Ссылки на видео: https://youtu.be/1t_PrAuSoL8 https://vkvideo.ru/video-174039178_456239883
НОВАЯ СТАТЬЯ ПРО CLICKHOUSE И DOCKER Если раньше вам требовался отдельный человек, который будет писать коннекторы и мониторить загрузку данных в базу, то теперь всё может работать в докере в параллельных потоках с регулярными оповещениями в Telegram. Да, Ozon и WB могут создать некоторые трудности, но в первую очередь это ошибки их собственных API. С остальными сервисами всё работает прекрасно 🥂 О чём написал в статье: - как развернуть ClickHouse - как заблокировать доступ к ClickHouse чужим IP - как настроить сбор данных в ClickHouse за 1 час - как запустить параллельные потоки сбора данных - как объединять таблички после загрузки в ClickHouse - как подключиться к ClickHouse из Excel и Power BI - как решать проблемы в случае остановки загрузки Ссылка на статью 😋находится тут😋 Кажется, уже всё рассказал - снял несколько видео и теперь есть статья со всеми деталями. Вам остаётся только попробовать❤️ Кстати, последний раз мне удалось залить метрику минут за 15 - настолько всё стало быстро и удобно:)
ИЗ API В GOOGLE SHEETS НА PYTHON Загрузка данных в Clickhouse - это замечательно, но никто не хочет работать с БД 😔 Когда приходится даже минимально разбираться с серверами, Docker, Linux, Clickhouse, порой кажется, что проще было бы качать данные руками, чем освоить всё это. Как итог - даже готовые коннекторы с подробной инструкцией по загрузке данных мало кого вдохновляют. Новый формат применения коннекторов Теперь вы не сможете сказать, что чего-то не знаете 😊 Максимально простой скрипт на Python и данные загружены в Google Sheets! Никаких докеров, линуксов и БД 🔥 Если компьютер не всегда включен, а обновление нужно ночью, желающие могут взять виндовый сервер и настроить ежедневное обновление там. Что можно грузить: WB, OZON, Yandex Market, GetCourse, Yandex Direct, VK Ads, Yandex Metrika, Bitrix24 и еще несколько коннекторов в разработке. Видео как это работает: https://vkvideo.ru/video3073415_456240030 Получение токена Google Sheets: https://github.com/morinad/google_token-oauth_by_link Пример скрипта и актуальный список коннекторов: https://boosty.to/morinad/posts/1ba11242-7625-43aa-817e-0d6be7676dfd?share=post_link
ЧАСТЫЕ ФОРМАТЫ ФАЙЛОВ ДЛЯ РАБОТЫ С ДАННЫМИ Недавно создал новый YouTube канал, куда буду закидывать технические (и не только) видосы обучающего характера. В них нет простых и полезных решений для маркетологов или BI-аналитиков. Это более техническая инфа, касающаяся работы с данными. Так что подобные видео могут быть больше интересны IT специалистам. Пока начал с простого - популярные форматы файлов: https://vkvideo.ru/video3073415_456240029
Небольшое видео про API Яндекс Диска Поскольку ссылка на видео YouTube может искажать статистику видео, буду публиковать здесь ссылки на ВК. Да и ВПН никому включать не придётся😊 Видео тут: https://vkvideo.ru/video3073415_456240028 А файлы как всегда на Boosty (в открытом для всех посте)
🌟 APACHE SPARK ПРОСТЫМИ СЛОВАМИ 🌟 Когда вы работаете с сырыми данными, где каждое действие - отдельная строка, приходится обрабатывать огромные объёмы данных😭 Обычно для таких преобразований используются распределённые системы, например Apache Spark. Преобразования в Spark чем-то похожи на Power Query, например неиспользуемые шаги там тоже не выполняются. Правда Spark вообще ничего не будет выполнять пока не поступит команда-действие, например "загрузить итоговые данные в файл". Как это устроено изнутри рассказал в небольшом видео🔥 Видео тут: ссылка
ДЕТАЛЬНО ПРО FINE-TUNING CHATGPT Написал крутую детальную статью про дообучение ChatGPT👇 Дообучение модели состоит из 2 этапов - работа с дообучающим файлом и работа по дообучению модели. Оба этапа Fine-Tuning можно выполнять как через интерфейс ChatGPT, так и по API. Для удобства рекомендую готовить дообучающий файл через Excel и отправлять прямо из Excel с помощью API. Если вы хотите добавить свои настройки дообучения, дальнейшее дообучение можно делать через интерфейс. Если же вас устраивают настройки по умолчанию - можно выполнять дообучение также в Excel-файле. Статью можно почитать тут
ДООБУЧЕНИЕ CHATGPT НА СВОИХ ДАННЫХ Если вы хотели дообучить ChatGPT на своих данных, то вариант сделать это через Excel - самый простой. Вы сможете использовать дообученную модель в любых программах и чат-ботах на любом языке программирования. Конечно, для качественного дообучения вам понадобится не 10 строк, а хотя бы 1000, а лучше 10 000, но зато результат дообучения будет гораздо интереснее. Видео как дообучать ChatGPT через Excel: https://youtu.be/y1kvizbxv6U Работает всё это конечно же через VPN, без этого ChatGPT просто не примет ваши запросы. Excel-файл для дообучения тут: https://boosty.to/morinad/posts/a0264d42-9aa3-4434-8d9c-57c1a256d5fa?share=post_link Будьте осторожны с запросами в Excel - повторное обновление может привести к повторной отправке файла или к повторному запуску дообучения. После запуска дообучения из нужного файла можно сразу удалить ID файла на вкладке fineTuning. Изучите справку и прайсы перед началом работы: - список доступных моделей для дообучения - стоимость дообучения и использования моделей
Получение содержимого папки из Yandex Disk API 🔥 После добавления коннектора к файлам Яндекс Диска для Power Query очень просили получение файлов из папки. Как в PBI Service обновлять данные из папки без шлюза? 🫣 1) Грузим файлы в папку на Яндекс.Диск. 2) Обращаемся к API Яндекс.Диска с помощью функции ниже и получаем список доступных файлов. 3) На основе коннектора к файлам пишем запрос по обработке типового файла и превращаем этот запрос в функцию от адреса файла. Если сразу параметризуете адрес файла в запросе, можно быстро создать функцию, которая будет меняться при изменении запроса. Для этого просто жмём правой кнопкой на запрос с параметром и выбираем создать функцию. 4) Добавляем к списку файлов столбец с вызовом нашей функции от адреса файла и разворачиваем полученные таблицы. Процесс показал на видео. Как итог - все файлы в папке обработаны одинаково, а при добавлении в папку похожих файлов их данные автоматом попадают в общую таблицу. При этом функцию обработки легко корректировать. Где это работает? - Power BI Desktop - Power BI Service - Power BI Report Server - Excel Получение списка файлов из папки тут: let function = (fileLink as text, token as text)=> let headers=[#"Content-Type" = "application/json", #"Authorization" = "OAuth "&token, #"Accept" = "application/json"], querydata = [#"path" = Text.Replace(fileLink, "\","/"), limit="1000000"], web = Web.Contents("https://cloud-api.yandex.net/", [RelativePath="v1/disk/resources", Headers = headers, ManualStatusHandling = {404, 400}, Query =querydata]), result = Json.Document(web), link = result[_embedded], items = link[items], toTable = Table.FromList(items, Splitter.SplitByNothing(), null, null, ExtraValues.Error), expandColumn = Table.ExpandRecordColumn(toTable, "Column1", {"created", "modified", "size","path"}, {"created", "modified","size", "path"}), pathCorrect = Table.ReplaceValue(expandColumn,"disk:/","",Replacer.ReplaceText,{"path"}), chType = Table.TransformColumnTypes(pathCorrect,{{"created", type datetime}, {"modified", type datetime}, {"size", type number}}) in chType, result = Value.ReplaceType(function, FuncType), FuncType = type function (fileLink as (type text meta [ Documentation.FieldCaption = "Путь к папке после C:\YandexDisk\:", Documentation.SampleValues = {"Мои файлы\Лучшие файлы"}]), token as (type text meta [ Documentation.FieldCaption = "Ваш токен (ссылка на получение ниже):", Documentation.SampleValues = {"y0_AgAAAMfGA...rBX0d-ZpA5O"}])) as table meta [ Documentation.Name = "Получаем список сущностей из папки Яндекс.Диска", Documentation.LongDescription = "", Documentation.Examples = {[ Description = "Ссылка на получение токена:", Code = "https://oauth.yandex.ru/authorize?response_type=token&client_id=a363cf6712db45978a012820777fc06a", Result = "По ссылке вы получите токен" ]}] in result
НЕМНОГО ИТОГОВ ГОДА Новая система коннекторов на Python прошла проверку пользователями и уже успешно помогает многим загружать данные в ClickHouse! 🎉 С учётом санкций, да и в принципе ограничений Power Query это открывает массу возможностей по работе с данными. Вопросов по системе было много, так что ответил в небольшом видео. Важно, чтобы каждый понимал что происходит и мог управлять загрузкой данных самостоятельно. Ссылка на видео: https://youtu.be/sK4mHmAbu4A Всех с наступающим 🥂 Пусть ваши данные будут корректны, а отчёты помогают принимать правильные решения 🎂 🎄🎄🎄 ОБНОВЛЁННЫЙ СПИСОК ПОДКЛЮЧЕНИЙ 🎄🎄🎄 Wildberries: stocks, stocks_history, orders, sales, realized, orders_changes, sales_changes, paid_storage, nmreport, reklama. OZON: stocks, stocks_history, products, realization, returns_fbo, returns_fbs, transactions, postings_fbo, finance_details, finance_cashflow, reklama. Yandex Market: stocks, orders, mappings. GetCourse: users, deals, payments, groups. Yandex Direct: statistics, ads. VK Ads: banners_list, groups_list, campaigns_list, banners_stat, groups_stat, campaigns_stat. Yandex Metrika: statistics (без logs api). Bitrix24: contacts, leads, deals, contacts_changes, leads_changes, deals_changes. ⚡️⚡️⚡️Детальнее обо всех отчётах можно узнать в файле settings.xslx, который есть на Boosty.
ОБЗОР НАШИХ КУРСОВ 🍔 Основы Power BI Стоимость: бесплатно Что дает: Общее понимание работы с Power BI, возможность сделать свой первый отчёт. Ссылка: https://directprorf.ru/basics 🍔 Коннекторы для рекламных отчётов Стоимость: 5900₽ Что дает: Коннекторы для рекламных и аналитических систем, понимание работы с Power Query и создания сводных таблиц из нескольких источников. Ссылка: https://directprorf.ru/excel 🍔 Power BI для рекламных отчётов Стоимость: 12900₽ Что дает: Пошаговый план по созданию полноценного рекламного отчёта в Power BI на базе Яндекс Директа, VKads, Яндекс Метрики, Коллтрекинга и CRM. Ссылка: https://directprorf.ru/powerbi 🍔 Коннекторы для Маркетплейсов Стоимость: 5900₽ Что дает: Коннекторы к OZON, Wildberries и Яндекс Маркету для Power Query и Clickhouse. Ссылка: https://directprorf.ru/marketplaces 🍔 Продвинутый Power Query Стоимость: 5900₽ Что дает: Навыки работы с функциями Power Query для тех, кто хочет не только нажимать на кнопки, но и писать код. Ссылка: https://directprorf.ru/pro 🍔 Создание коннекторов в Power Query Стоимость: 5900₽ Что дает: Создание коннекторов к любым API на базе GET и POST запросов. Ссылка: https://directprorf.ru/connectors Отзывы в отдельном посте: https://t.me/directprobi/115