<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Заметки — Игорь К.: заметки с тегом портфолио</title>
<link>https://blog.fossko.ru/tags/portfolio/</link>
<description>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>Блог Игоря К. о маркетинге, аналитике, фотографии и жизни...</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Инструмент для маркетингового SEO-аудита одной страницы</title>
<guid isPermaLink="false">574</guid>
<link>https://blog.fossko.ru/all/instrument-dlya-marketingovogo-seo-audita-odnoy-stranicy/</link>
<pubDate>Fri, 14 Nov 2025 13:27:47 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/instrument-dlya-marketingovogo-seo-audita-odnoy-stranicy/</comments>
<description>
&lt;p&gt;Этот инструмент для тех, кому нужно быстро и понятно оценить качество одной страницы: маркетологам, владельцам бизнесов, редакторам, SEO-специалистам и всем, кто работает с посадочными страницами, контентом и смыслом.&lt;/p&gt;
&lt;p&gt;Цель инструмента — показать, как страница работает как маркетинговый объект, а не только как техническая web-страница.&lt;br /&gt;
Аудит раскрывает тему, структуру, фокус, семантику, сильные и слабые стороны страницы, и делает это в виде простого, читабельного отчёта.&lt;/p&gt;
&lt;h2&gt;Что это за SEO-аудит&lt;/h2&gt;
&lt;p&gt;Это автономный CLI-инструмент, который анализирует одну страницу — URL или локальный HTML — и формирует структурированный HTML-отчёт.&lt;/p&gt;
&lt;p&gt;SEO-аудит собирает и оценивает: статус ответа и редиректы; скорость первого байта;  title, description и заголовки H1—H6; тексты ссылок и структуру ссылочного окружения;   изображения и alt-атрибуты;  размер и структуру HTML;  разметку Schema.org (JSON-LD, microdata, RDFa);  данные PageSpeed Insights (по желанию);  ключевые слова, леммы и тематические связи;  муляжи, переспам и потерянные возможности;  наличие и качество CTA-элементов.&lt;/p&gt;
&lt;p&gt;Отчёт собирается в удобный HTML-документ с разделами, таблицами и краткими выводами.&lt;/p&gt;
&lt;h2&gt;Почему стандартных SEO-проверок недостаточно&lt;/h2&gt;
&lt;p&gt;Большинство инструментов хорошо работают с техническими данными, но почти не анализируют смысл и содержание.&lt;/p&gt;
&lt;p&gt;Нужны ответы на важные вопросы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;совпадает ли тема страницы с тем, что заявлено в заголовках;&lt;/li&gt;
&lt;li&gt;насколько выражен фокус текста;&lt;/li&gt;
&lt;li&gt;есть ли в заголовках слова, которые почти отсутствуют в тексте (муляжи);&lt;/li&gt;
&lt;li&gt;какие частотные слова из текста можно вынести в title/H1 (потерянные возможности);&lt;/li&gt;
&lt;li&gt;нет ли переспама;&lt;/li&gt;
&lt;li&gt;согласованы ли title → description → H1 → текст;&lt;/li&gt;
&lt;li&gt;есть ли работающий CTA;&lt;/li&gt;
&lt;li&gt;как страница выглядит как маркетинговое сообщение, а не как набор HTML-тегов.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Этот инструмент SEO-аудита старается закрыть эти вопросы.&lt;/p&gt;
&lt;h2&gt;Как работает SEO-аудит&lt;/h2&gt;
&lt;p&gt;Работа инструмента строится как последовательный анализ одной страницы — от загрузки до формирования финального отчёта.&lt;br /&gt;
Важный принцип: технические и смысловые проверки объединяются в единую логику.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Загрузка страницы или чтение локального HTML&lt;br /&gt;
Инструмент получает HTML двумя способами:  загружает страницу по URL, фиксируя HTTP-статус, редиректы, скорость первого байта  или открывает локальный HTML-файл, что полезно для просмотра черновиков и страниц на стадии разработки.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Извлечение ключевых элементов страницы&lt;br /&gt;
После загрузки HTML разбирается, и инструмент извлекает:  весь текст страницы,  заголовки H1—H6, ссылки и их тексты, изображения и alt-атрибуты,  структуру документа (основные элементы, объём, вложенность).&lt;br /&gt;
Это создаёт «карту страницы», на основе которой строится дальнейший анализ.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Определение ключевых слов, лемм и частот&lt;br /&gt;
Текст нормализуется, подсчитываются:  леммы (нормальные формы слов),  биграммы (частые двухсловные пары),   частотность терминов.&lt;br /&gt;
Это позволяет выявить реальные темы страницы и отличить их от случайных словоформ.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="4"&gt;
&lt;li&gt;Проверка согласованности сниппета&lt;br /&gt;
Сравниваются title, description, H1 и фактический текст.&lt;br /&gt;
Инструмент определяет:  насколько тема страницы совпадает с заявленной в заголовках,  есть ли расхождения между смыслом заголовков и содержанием,  корректно ли раскрыта тема.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Выявление семантических аномалий&lt;br /&gt;
SEO-аудит отмечает ситуации, которые часто приводят к низкой вовлечённости и плохому ранжированию&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="6"&gt;
&lt;li&gt;Сбор данных производительности (если включено)&lt;br /&gt;
По желанию можно получить метрики производительности через PageSpeed Insights:  оценку скорости загрузки,   данные по Core Web Vitals,  рекомендации по экономии времени загрузки,  проблемные ресурсы.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="7"&gt;
&lt;li&gt;Анализ CTA и структуры контента&lt;br /&gt;
Инструмент ищет элементы, которые могут быть CTA:  кнопки,  ссылки с призывами,  текстовые формулировки действия.&lt;br /&gt;
Дополнительно оценивается структура контента: блоки, параграфы, логичность подачи, наличие ключевых смысловых элементов.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="8"&gt;
&lt;li&gt;Выявление разметки Schema.org&lt;br /&gt;
Инструмент сканирует страницу на наличие:   JSON-LD,  microdata,  RDFa.&lt;br /&gt;
Фиксируются типы структурированных данных и качество их оформления.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="9"&gt;
&lt;li&gt;Сопоставление данных с набором правил&lt;br /&gt;
Все найденные элементы проходят через набор правил:  технических,  смысловых,  семантических,  контентных.&lt;br /&gt;
Эти правила формируют оценки по разделам и определяют приоритеты.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="10"&gt;
&lt;li&gt;Формирование итогового HTML-отчёта&lt;br /&gt;
Все результаты собираются в структурированный отчёт:  краткое резюме,  проблемы и предупреждения,  таблицы с данными,  анализ семантики и структуры,  рекомендации и выводы.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Отчёт создаётся в виде одного HTML-файла, удобного для просмотра, пересылки и дальнейшей работы.&lt;/p&gt;
&lt;p&gt;Главный принцип — объединить технический и содержательный анализ в одном документе.&lt;/p&gt;
&lt;h2&gt;Анализ ключевых фраз и лемм&lt;/h2&gt;
&lt;p&gt;Семантическая основа маркетингового аудита&lt;/p&gt;
&lt;p&gt;Инструмент рассматривает текст как смысловую систему, а не как набор ключевых слов, вычисляет:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Топ-20 лемм  —  Ключевые темы страницы в нормализованном виде.&lt;/li&gt;
&lt;li&gt;Топ-10 биграмм — Частые двухсловные комбинации, которые формируют смысловые блоки.&lt;/li&gt;
&lt;li&gt;Фокусные термины — Слова, которые встречаются и в заголовках, и в тексте. Это ядро темы.&lt;/li&gt;
&lt;li&gt;Муляжи — Слова, которые указаны в заголовках (title/H1), но отсутствуют в тексте. Они показывают, что тема заявлена, но не раскрыта.&lt;/li&gt;
&lt;li&gt;Потерянные возможности — Частые слова из текста, которые отсутствуют в title или H1. Это точки роста для оптимизации.&lt;/li&gt;
&lt;li&gt;Переспам — Недопустимо высокая доля одного слова в тексте.&lt;/li&gt;
&lt;li&gt;Распыление темы — Если доля топ-лемм слишком низкая — текст теряет фокус.&lt;/li&gt;
&lt;li&gt;Согласованность сниппета — Проверка соответствия title, description и H1 содержанию страницы.&lt;br /&gt;
Все эти данные выводятся в таблицах и списках отчёта.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Пример SEO-аудита&lt;/h2&gt;
&lt;p&gt;Аудит страницы kdm1.ru/marketing проведен 14 ноября 2025 года.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-12.52.16.png" width="859" height="914" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Аудит начинается с общего балла и скриншотов страниц, если проводился анализ pagespeed. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-12.59.41.png" width="1108" height="788" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В разделе доступность, можно посмотреть основные технические данные о странице, и если есть редиректы, то цепочку редиректов. В примере что-то с редиректами из https переходит в http и после в https. . На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.02.05.png" width="1109" height="896" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Общее про SEO, можно посмотреть характеристики количественные и увидеть реально что в тайтле и дескрипшене. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.07.27.png" width="1112" height="520" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Можно увидеть все заголовки страниц — H1, H2, H3… На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1111" data-ratio="1.4754316069057"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.03.31.png" width="1111" height="753" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.05.03.png" width="1073" height="626" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Аудит проводится по всем структурированным данным, можно посмотреть внимательно что за данные, и после изменить. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1066" data-ratio="1.3325"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.06.24.png" width="1066" height="800" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.06.47.png" width="1058" height="741" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Во внутренних и внешних ссылках показывается где в коде находится ссылка и ее источник: текст, изображение, кнопка. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.08.40.png" width="1101" height="739" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Автоматический поиск призывов к действию. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.09.55.png" width="1122" height="762" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Раздел ключевые слова. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.10.30.png" width="1067" height="879" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фокусные ключевые слова. Термины, которые есть в title/H1 и часто встречаются в тексте (≥3 раза). Это ключевые слова, вокруг которых реально крутится страница. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.11.14.png" width="1066" height="565" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Термины из title/H1, отсутствующие в тексте. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.11.49.png" width="1072" height="845" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Ключевые слова, которые часто встречаются в тексте, но отсутствуют в заголовках. Страница про это, но сниппет это не показывает. Рекомендуется добавить эти термины в title или H1. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.12.19.png" width="1101" height="842" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Анализ лемм. Лемматизация — это приведение слов к их базовой форме. Анализ лемм помогает выявить семантическое ядро страницы и проверить согласованность ключевых слов между заголовками и контентом. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1069" data-ratio="2.1337325349301"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.13.43.png" width="1069" height="501" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.14.08.png" width="1095" height="675" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.14.23.png" width="1123" height="635" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Леммы из title, description, H1,  присутствующие и отсутствующие в тексте. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.15.02.png" width="1068" height="837" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Потерянные возможности: частые леммы из текста, отсутствующие в title/description/H1. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1073" data-ratio="1.3395755305868"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-SEO-Audit_-https___kdm1.ru_marketing---Google-Chrome-2025-11-14-13.15.56.png" width="1073" height="801" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/instrument-dlya-marketingovogo-seo-audita-odnoy-stranicy.png" width="1073" height="801" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Извлечённые поисковые фразы из title, description и основного текста после очистки от бренда, стоп-слов, коротких слов и маркетинговых терминов. Используйте эти фразы для проверки позиций страницы в поисковых системах. На основе аудита kdm1.ru/marketing&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;SEO-аудит показывает страницу не только как набор технических данных, а как: текст,  структуру,  тему,  семантику,  маркетинговое сообщение.&lt;/p&gt;
&lt;p&gt;Это маркетинговый SEO-аудит одной страницы, который объясняет содержание понятным языком и помогает увидеть, что действительно мешает ей работать.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;UPD: &lt;/i&gt;Добавлен текстовый анализ конкурентных страниц (страниц конкурентов)&lt;/p&gt;
&lt;h2&gt;Как протестировать инструмент SEO-аудита&lt;/h2&gt;
&lt;p&gt;SEO-аудит сейчас на этапе тестирования.&lt;br /&gt;
&lt;b&gt;Можно получить бесплатный аудит одной страницы.&lt;/b&gt;&lt;br /&gt;
Достаточно написать мне в Telegram &lt;a href="https://t.me/fossko"&gt;@fossko&lt;/a&gt;, сказать что вы хотите провести SEO-аудит, прислать URL, я пришлю HTML-отчёт и попрошу короткий отзыв.&lt;/p&gt;
&lt;p&gt;У проекта есть сайт &lt;a href="https://fadmin.ru"&gt;https://fadmin.ru&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://t.me/fossko" class="e2-button e2-submit-button"&gt;Заказать SEO-аудит → &lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Как я помог подготовить диплом по аналитике данных: от разрознённых файлов до законченного проекта</title>
<guid isPermaLink="false">573</guid>
<link>https://blog.fossko.ru/all/kak-ya-pomog-podgotovit-diplom-po-analitike-dannyh-ot-razroznyon/</link>
<pubDate>Thu, 13 Nov 2025 13:01:54 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kak-ya-pomog-podgotovit-diplom-po-analitike-dannyh-ot-razroznyon/</comments>
<description>
&lt;p&gt;Ко мне обратился студент, который проходил обучение по направлению &lt;b&gt;«Бизнес-аналитика и визуализация данных»&lt;/b&gt; в рамках профессиональной программы повышения квалификации.&lt;br /&gt;
Студент уже работал по специальности — аналитиком в коммерческой компании, где регулярно сталкивался с большими наборами данных, Excel-моделями и необходимостью строить отчёты для руководства.&lt;/p&gt;
&lt;p&gt;Для диплома он выбрал тему, связанную с анализом данных своей компании (данные были &lt;b&gt;анонимизированы&lt;/b&gt; и частично модифицированы для использования в учебных целях).&lt;br /&gt;
Но, как это часто бывает, набор исходников был большим, разрозненным и требовал серьёзной доработки, чтобы превратиться в полноценный аналитический проект.&lt;/p&gt;
&lt;p&gt;В итоге работа над дипломом превратилась в комплексный проект по подготовке данных, созданию моделей, визуализаций и оформлению итогового документа.&lt;/p&gt;
&lt;h2&gt;Исходная ситуация&lt;/h2&gt;
&lt;p&gt;&lt;b&gt;Аудит исходных материалов показал&lt;/b&gt;, что студент располагает: разрозненными Excel-расчётами, несколькими неполными PBIX-файлами, отсутствующей моделью данных, незавершённым текстом диплома, рабочей гипотезой без аналитической структуры.&lt;/p&gt;
&lt;p&gt;Требовалось провести полную сборку проекта: &lt;b&gt;данные → модель → визуализация → текст&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Цель: &lt;b&gt;собрать всё в единый законченный диплом&lt;/b&gt;, который можно успешно защитить.&lt;/p&gt;
&lt;h2&gt;Какие задачи нужно было решить&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовить корректный набор данных.&lt;/b&gt; Очистка, нормализация и объединение таблиц. Корректировка типов данных. Устранение противоречий между файлами.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Построить аналитическую модель.&lt;/b&gt; Создание Power BI-отчёта. Построение полноценной схемы связей. Разработка DAX-мер и показателей. Формирование дашбордов для итоговой презентации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Создать текстовую часть диплома.&lt;/b&gt; Теоретическая основа. Описание методики анализа данных. Практическая аналитическая глава. Выводы и рекомендации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовить материал к защите&lt;/b&gt; Презентация. Экспорт визуализаций. Структурированная итоговая папка проекта.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Хронология проекта&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Первое обращение&lt;/b&gt; — 15 сентября 2025. Студент прислал архив с исходниками и запросил оценку.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Аудит файлов&lt;/b&gt; — 15—17 сентября (2 дня). Изучение Excel, .pbix, логики расчётов и структуры данных.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка данных&lt;/b&gt; — 18—28 сентября (11 дней). Чистка, нормализация, объединение таблиц, создание корректных датасетов.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Разработка Power BI-модели&lt;/b&gt; — 29 сентября—7 октября (9 дней). Построение схемы данных, настройка связей, создание мер DAX, визуализации, итоговый дашборд.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка текстовой части&lt;/b&gt; — 8—16 октября (9 дней). Оформление трёх глав, описание методики, аналитическая часть, вставка графиков, выводы.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Подготовка к защите&lt;/b&gt; — 17—20 октября (4 дня). Презентация, экспорт графиков, финальная упаковка проекта.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Итоговая длительность: 36 дней.&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.51.43.png" width="718" height="512" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Исходные данные находятся на Яндекс диске, все таблицы описаны с проблемами которые встречаются&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.52.59.png" width="713" height="494" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Прописаны вычисляемые столбцы и как производятся преобразования и очистка данных&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.54.07.png" width="749" height="619" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Отдельно прописано как вычисляются меры и что они означают&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.56.47.png" width="1148" height="788" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Модель данных PowerBi&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="739" data-ratio="1.1146304675716"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.58.05.png" width="739" height="663" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Diplom-PowerBi---Google-Dokumenty---Google-Chrome-2025-11-13-12.58.20.png" width="721" height="646" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Дашборды с объяснением&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Что было сделано&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt; Подготовка Excel-моделей.&lt;/b&gt; Объединение разрозненных таблиц. Создание единой структуры данных. Нормализация и валидация. Проверка расчётов и формул.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Создание Power BI-отчёта.&lt;/b&gt; Разработка схемы данных, настройка связей (one-to-many, many-to-one), создание мер для KPI и метрик, визуализации в нескольких итерациях (до финальной версии 06v14), подготовка интерактивного дашборда.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовка текста диплома.&lt;/b&gt; Создание структуры глав 1—3, теоретический материал, аналитическая часть по данным компании, вставка визуализаций, итоговые выводы.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Подготовка материалов для защиты.&lt;/b&gt; Финальный документ, презентация, экспорт диаграмм Power BI и систематизация всех файлов.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Проект включал:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Финальный `.pbix` (версия 06v14)&lt;/b&gt; — готовый Power BI-отчёт с полностью настроенной моделью данных, мерами DAX, визуализациями и финальным дашбордом, использовавшийся в дипломе и презентации.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Excel-файлы с расчётами&lt;/b&gt; — очищенные и нормализованные таблицы, включающие исходные данные, промежуточные расчёты, справочники, показатели и подготовленные датасеты, которые легли в основу Power BI-модели.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Промежуточные версии моделей&lt;/b&gt; — несколько более ранних вариантов `.pbix` и Excel-файлов, наглядно отражающих этапы формирования структуры данных, проверку гипотез, корректировку связей и визуализаций.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;README с указанием структуры проекта&lt;/b&gt; — служебный файл, который фиксировал версии отчётов, расположение данных, описание изменений и структуру итоговой папки, чтобы проект можно было легко воспроизвести или проверить.&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>Как объединить разукомплектовочную ведомость и штрихкоды из 1С в единую систему Google Таблиц</title>
<guid isPermaLink="false">572</guid>
<link>https://blog.fossko.ru/all/kak-obedinit-razukomplektovochnuyu-vedomost-i-shtrihkody-iz-1s-v/</link>
<pubDate>Wed, 12 Nov 2025 19:11:34 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kak-obedinit-razukomplektovochnuyu-vedomost-i-shtrihkody-iz-1s-v/</comments>
<description>
&lt;p&gt;Ко мне обратился &lt;b&gt;мебельный магазин&lt;/b&gt;, который сотрудничает с &lt;b&gt;Мебельной фабрикой «МИФ — Мебель Интерьер Форма».&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Основная задача — привести в порядок таблицы, выгружаемые из 1С, и автоматизировать процесс сверки комплектов, упаковок и штрихкодов.&lt;/p&gt;
&lt;p&gt;Исходные файлы можно скачать прямо с сайта фабрики: &lt;a href="https://mebelmif.ru/specifications"&gt;https://mebelmif.ru/specifications&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Ситуация&lt;/h2&gt;
&lt;p&gt;Фабрика регулярно передаёт партнёрам Excel-выгрузки из 1С.&lt;br /&gt;
Это две большие таблицы, не связанные между собой:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Разукомплектовочная ведомость&lt;/b&gt; — включает и изделия, и упаковки подряд, без чётких признаков, что к чему относится.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды&lt;/b&gt; — отдельный список, где указаны коды упаковок (штрих и QR), но названия часто отличаются от тех, что в ведомости.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;В результате у клиента появлялось десятки тысяч строк данных, которые приходилось сводить вручную — искать, где упаковка, где изделие, что относится к чему.&lt;br /&gt;
На это уходили часы работы, и любая новая выгрузка снова требовала ручного редактирования.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Razukomplektovochnaya-vedosost-(1)---Excel-2025-11-12-19.04.42.png" width="1202" height="539" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент разукомплектовочной ведомости  — видно что все вперемешку и очень трудно отделить одно от другого&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-s0plo5flcw4h05q227v44olqboo62xip--[Zaschischenny-prosmotr]---Excel-2025-11-12-19.06.04.png" width="664" height="468" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент штрихкодов  — нет деления но штрих-код и QR-код&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Задача&lt;/h2&gt;
&lt;p&gt;Собрать полностью автоматическую систему, где Google Таблицы:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;сами определяют, где изделие, где упаковка;&lt;/li&gt;
&lt;li&gt;к каждой упаковке подтягивают её родительский товар;&lt;/li&gt;
&lt;li&gt;извлекают штрихкод и QR-код даже при сложном формате строки;&lt;/li&gt;
&lt;li&gt;объединяют всё в единую таблицу по артикулам и характеристикам;&lt;/li&gt;
&lt;li&gt;позволяют добавлять новые выгрузки без переделки формул.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Реализация&lt;/h2&gt;
&lt;p&gt;Проект построен в Google Таблицах и состоит из нескольких листов, каждый из которых выполняет свою роль.&lt;/p&gt;
&lt;p&gt;Листы таблицы&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;b&gt;Исходные данные (RawData)&lt;/b&gt; —Чистая выгрузка из 1С (разукомплектовочная ведомость). Сюда клиент просто вставляет новые данные.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Распознавание структуры (StructureMap)&lt;/b&gt; — Формулы ARRAYFORMULA + REGEXMATCH определяют, какие строки — изделия, какие — упаковки, и протягивают связи.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды (BarcodesRaw)&lt;/b&gt; — Таблица с кодами упаковок. Извлекаются штрихкоды (13 цифр) и QR (всё остальное, включая пробелы).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Штрихкоды обработанные (BarcodesReady)&lt;/b&gt; — Фильтрация и очистка: остаются только строки, где заполнены и название, и коды.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Комплектность (Completeness)&lt;/b&gt;— К упаковкам автоматически подставляются изделия, характеристики, размеры, вес и количество.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Выбор комплектности (Summary)&lt;/b&gt; — Финальный лист — объединённая таблица со всеми данными для анализа и выгрузки.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Схема связей между листами&lt;/h2&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;[RawData]
    │
    ▼
[StructureMap] ─────────────┐
                            │
                     (по названию и характеристике)
                            │
          [BarcodesRaw] → [BarcodesReady]
                            │
                            ▼
                       [Completeness]
                            │
                            ▼
                       [Summary]&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;RawData → StructureMap&lt;/b&gt; — определение структуры и связей изделий с упаковками.&lt;br /&gt;
&lt;b&gt;BarcodesRaw → BarcodesReady&lt;/b&gt; — извлечение и нормализация кодов.&lt;br /&gt;
&lt;b&gt;StructureMap + BarcodesReady → Completeness&lt;/b&gt; — объединение упаковок и кодов.&lt;br /&gt;
&lt;b&gt;Completeness → Summary&lt;/b&gt; — итоговая таблица с готовыми данными.&lt;/p&gt;
&lt;h2&gt;Технические решения&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ARRAYFORMULA для автообработки без ручного протягивания.&lt;/li&gt;
&lt;li&gt;REGEXMATCH и LOOKUP для логического связывания изделий и упаковок.&lt;/li&gt;
&lt;li&gt;REGEXEXTRACT для разделения штрихкодов и QR, даже если они в одной ячейке.&lt;/li&gt;
&lt;li&gt;XLOOKUP по двум полям (Пакет + Характеристика) для точного сопоставления.&lt;/li&gt;
&lt;li&gt;Формулы работают динамически — достаточно просто вставить новые данные в RawData.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-19.10.01.png" width="1027" height="648" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент разделения комплекности на упаковку и изделие, делается в автоматическом режиме&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-19.11.01.png" width="651" height="594" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Фрагмент готовых сштрихкодов, в автоматическом режиме штрихкод отделяется от QR-кода&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Результат&lt;/h2&gt;
&lt;p&gt;Теперь достаточно загрузить в таблицу два файла с сайта МИФ —&lt;br /&gt;
и на листе «Выбор комплектности» (Summary) автоматически появляется итоговая сводная таблица:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;изделия, их упаковки, размеры и количество;&lt;/li&gt;
&lt;li&gt;коды (штрих и QR) из актуальной выгрузки;&lt;/li&gt;
&lt;li&gt;всё обновляется без участия разработчика.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Monosnap-Kopiya-Razukomplektovochnaya-vedosost---Google-Tablicy---Opera-2025-11-12-18.59.06.png" width="1305" height="300" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Итог работы — выбор комплектности  — получается итоговая таблица, где к каждому изделию автоматически подтягиваются упаковки, их размеры, вес и коды.&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>API от платформы vc.ru</title>
<guid isPermaLink="false">569</guid>
<link>https://blog.fossko.ru/all/api-ot-platformy-vc-ru/</link>
<pubDate>Mon, 18 Nov 2024 23:27:05 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/api-ot-platformy-vc-ru/</comments>
<description>
&lt;p&gt;На ВиСи можно получить список статей определенного пользователя используя скрытый апи.&lt;/p&gt;
&lt;div class="e2-text-video"&gt;
&lt;iframe src="https://www.youtube.com/embed/Jc7Hp953xg8?enablejsapi=1" allow="autoplay" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;div class="e2-text-caption"&gt;Что такое скрытый апи и как его найти, рассказывает Алексей Куличевский&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;На виси есть скрытый апи, находящийся по адресу&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://api.vc.ru/v2.8/&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="879" data-ratio="3.0102739726027"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru.png" width="879" height="292" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-1.png" width="540" height="191" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Ищется скрытый апи через консоль разработчика, в гугл хроме нажимаем ctrl+shift+С — переходим в вкладку Network&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Для получения последний опубликованных статей пользователя&lt;br /&gt;
нужны следующие параметры отправляемые в гет запросе:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;markdown: false&lt;/b&gt; — как отдаются статьи, на практике у меня всегда отдаются в html, не важно что стоит true или false&lt;/li&gt;
&lt;li&gt;&lt;b&gt;sorting: new&lt;/b&gt; — сортировка, можно использовать несколько видов: ’new’, ’hotness’, ’day’, ’week’, ’month’, ’year’, ’all’&lt;br /&gt;
&lt;b&gt;lastId: 1628356&lt;/b&gt; — с какого последнего айдишника статьи продолжать показ, в получаемом джайсоне выводятся 12 элементов.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;lastSortingValue: 1730444607&lt;/b&gt; — я не разобрался что это за параметр, без него работает корректно&lt;/li&gt;
&lt;li&gt;&lt;b&gt;subsitesIds: 287399&lt;/b&gt; — ай-ди пользователя статьи которого нам нужны&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Гет запрос отправляем на адрес&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;https://api.vc.ru/v2.8/timeline&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-3.png" width="909" height="516" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результат выполнения гет запроса — нам нужны поля id — айди статьи, title — название статьи, дата и дата модификации — дата время в виде временной метки UNIX (число секунд, прошедших с 1 января 1970 года)&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Код на питоне, для получения последних 12 статей опубликованных пользователем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;import requests
import json
import datetime

url=&amp;quot;https://api.vc.ru&amp;quot;
v_api=&amp;quot;/v2.8/&amp;quot;
metod=&amp;quot;timeline&amp;quot;
all_url=url+v_api+metod

markdown=&amp;quot;true&amp;quot;
subsitesIds=&amp;quot;287399&amp;quot;
sorting= &amp;quot;new&amp;quot;

params = {&amp;quot;markdown&amp;quot;: markdown,
          &amp;quot;sorting&amp;quot;: sorting, 
          &amp;quot;subsitesIds&amp;quot;: subsitesIds}

response=requests.get(all_url, params=params)

data = response.json()
items = data[&amp;#039;result&amp;#039;][&amp;#039;items&amp;#039;]
for index, item in enumerate(items):
        item_data = item[&amp;#039;data&amp;#039;]        
        print(f&amp;quot;Элемент {index + 1}:&amp;quot;)
        print(f&amp;quot;ID: {item_data[&amp;#039;id&amp;#039;]}&amp;quot;)
        print(f&amp;quot;url: https://vc.ru/{item_data[&amp;#039;id&amp;#039;]}&amp;quot;)
        print(f&amp;quot;Title: {item_data[&amp;#039;title&amp;#039;]}&amp;quot;)
        print(f&amp;quot;дата публикации: {datetime.datetime.fromtimestamp(item_data[&amp;#039;date&amp;#039;])}&amp;quot;)
        print(f&amp;quot;дата модификации: {datetime.datetime.fromtimestamp(item_data[&amp;#039;dateModified&amp;#039;])}&amp;quot;)  
        print()&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-2.png" width="526" height="439" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результат выполнения, если нам нужно собрать все страницы, то необходимо в параметрах передавать lastId — последний в списке айди статьи, тогда следующие будут начиная с этого ай-ди.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://github.com/alexpervushin/vcru-api/blob/main/vcru_api/sync_wrapper.py"&gt;У Александра Первушина на гитхабе проект vcru-api&lt;/a&gt;, где опубликовано описание других методов, с помощью которых можно получить другие сведения, например комментарии к статье — метод comments, текст статьи — метод content&lt;/p&gt;
&lt;p&gt;Нашлась документация по API vc.ru, dtf.ru&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://komitet.notion.site/API-TJ-vc-ru-DTF-3f5162d2cb184f6381ff82c085bbb3c0"&gt;API основы ВиСи&lt;/a&gt; — докумет в ноушене, может быть полезен&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cmtt-ru.github.io/osnova-api/v1/swagger.html#/"&gt;Описание версии апи 1.9&lt;/a&gt; —  Основа api api.yaml, общая страница на гитхабе&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cmtt-ru.github.io/osnova-api/swaggerui/index.html?urls.primaryName=v2.31"&gt;Описание версии апи 2.31&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-4.png" width="666" height="263" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Не забывайте выбрать какой апи вы будете смотреть, в списке есть версия 2.31, на ноябрь 2024 года, используется версия 2.8&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-5.png" width="797" height="931" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Дополнительные параметры которые можно посмотреть в методе timeline, оказывается можно передать несколько пользователей через запятую&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Анализ пользователей vc.ru&lt;/h2&gt;
&lt;p&gt;На основании полученных данных можно провести анализ публикаций пользователей.&lt;br /&gt;
Например, &lt;a href="https://vc.ru/u/283507-tanya-bobrova"&gt;пользователь Татьяна Боброва&lt;/a&gt; — с 15 апреля 2019 года по 22 ноября 2024 года опубликовала 5682 записи.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-6.png" width="993" height="710" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Тепловая карта количества постов по дням недели и часам публикации &lt;a href="https://vc.ru/u/283507-tanya-bobrova"&gt;пользователь Татьяна Боброва&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-7.png" width="1001" height="710" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Тепловая карта общего количества реакций по дням недели и часам публикации &lt;a href="https://vc.ru/u/283507-tanya-bobrova"&gt;пользователь Татьяна Боброва&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/api-ot-platformy-vc-ru-8.png" width="1010" height="710" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Тепловая карта общего количества комментариев по дням недели и часам публикации &lt;a href="https://vc.ru/u/283507-tanya-bobrova"&gt;пользователь Татьяна Боброва&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Таблица «Учет рабочего времени»</title>
<guid isPermaLink="false">564</guid>
<link>https://blog.fossko.ru/all/tablica-uchet-rabochego-vremeni/</link>
<pubDate>Thu, 18 Jul 2024 15:22:35 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/tablica-uchet-rabochego-vremeni/</comments>
<description>
&lt;p&gt;&lt;b&gt;Задача.&lt;/b&gt; Сделать таблицу для автоматического подсчета времени работы сотрудников. Время работы необходимо подсчитывать еженедельно.&lt;/p&gt;
&lt;p&gt;Вариант решения:&lt;br /&gt;
Сделать гугл форму, в ней два поля:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;первое поле: Фамилия&lt;/li&gt;
&lt;li&gt;второе поле:  Пришел или ушел&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Тогда сотрудник перед началом работы заполняет форму, что он пришел, а после окончания работы что ушел.&lt;/p&gt;
&lt;p&gt;Остальные подсчеты выполняются автоматически&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni.png" width="877" height="706" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni-1.png" width="480" height="657" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результаты заполнения формы&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-21.png" width="721" height="716" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На основании заполнения мы можем рассчитать недели и все остальные расчеты&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-uchet-rabochego-vremeni-2.png" width="549" height="307" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;После этого можно получить итоговую таблицу&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Автоматический расчет стоимости хранения в фулфилменте</title>
<guid isPermaLink="false">563</guid>
<link>https://blog.fossko.ru/all/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente/</link>
<pubDate>Thu, 18 Jul 2024 15:09:19 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente/</comments>
<description>
&lt;p&gt;Существует таблица для учета товародвижения фулфилмента. Из особенностей на разных листах приход и отгрузки товара.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Задача&lt;/b&gt; Освободить время менеджера на подсчет подсчет платных единиц хранения.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Для решение задачи&lt;/b&gt; Придумать и реализовать метод подсчета стоимости хранения, используя допущения что первые 7 дней хранение продукции бесплатно&lt;/p&gt;
&lt;p&gt;Для подсчета необходимо сделать расчеты стоимости хранения каждой единицы товара в определенный день используя сколько единиц платно хранится в этот день.&lt;/p&gt;
&lt;p&gt;Размножить такие расчеты на все единицы хранения. Получить общую стоимость хранения.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente.png" width="1139" height="608" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Таблица прихода. Нас интересуют поля «Дата», «Баркод», «Количество»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-1.png" width="1483" height="647" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Таблица отгрузки. Нас интересуют поля «Дата отгрузки», «Баркод», «Количество»&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Объединяем данные в один лист, &lt;a href="/all/obedinenie-neskolkih-tablic-v-odnu-gugl-tablicu/"&gt;для автоматического объединения можно использовать query или filter&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-2.png" width="765" height="721" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Объединенная таблица, если это отгрузка, то количество уменьшается. Дата начала оплаты у прихода на семь дней увеличивается, как бесплатное хранение.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Делаем вспомогательный лист по расчетам оплаты&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-3.png" width="777" height="702" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Каждый баркод, в каждый день сколько платных единиц используется, вычисляется объем и умножается на стоимость хранения кубометра.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;b&gt;Делаем расчеты стоимости хранения&lt;/b&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/avtomaticheskiy-raschet-stoimosti-hraneniya-v-fulfilmente-4.png" width="730" height="618" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;На основании введенных дат начала и окончания периода, считаем стоимость хранения за период. Ниже выводим детализацию хранения за этот период&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Если вам нужна помощь с гугл таблицами — &lt;a href="https://t.me/fossko"&gt;@fossko&lt;/a&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>Листовка — переезд ателье</title>
<guid isPermaLink="false">561</guid>
<link>https://blog.fossko.ru/all/listovka-pereezd-atelye/</link>
<pubDate>Sun, 26 May 2024 12:05:59 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/listovka-pereezd-atelye/</comments>
<description>
&lt;p&gt;&lt;b&gt;Задача. &lt;/b&gt; Ателье переезжает внутри района. В прошлый раз при переезде вручную делали смс рассылку — оказалось не эффективно и затратно. При текущем переезде идея попробовать листовки: вкладывать в готовое изделие, раздавать клиентам при переезде повесить на дверь.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Сделал листовку с понятным заголовком когда и куда переезжаем.&lt;/li&gt;
&lt;li&gt;Описал основные моменты переезда.&lt;/li&gt;
&lt;li&gt;Сделал схему прохода и отредактировал фотографию входной группы.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Igla_pavla_naranovicha.png" width="1000" height="1000" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результат получился в гугл документах. Из гугл документов легко сделать экспорт в пдф, например чтобы распечатать на принтере или типографии.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Это информационная листовка о предстоящем переезде, как ателье переедет можно:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;убрать информацию о переезде,&lt;/li&gt;
&lt;li&gt;убрать карту с проходом от старого адреса к новому,&lt;/li&gt;
&lt;li&gt;сделать новую карту только с новым адресом и настоящей фотографией нового крыльца,&lt;/li&gt;
&lt;li&gt;расширить количество и описание услуг.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Тогда, на новом месте, можно вкладывать новую листовку в выполненные заказы.&lt;/p&gt;
</description>
</item>

<item>
<title>Подтянуть client id к источнику трафика в Power Bi</title>
<guid isPermaLink="false">549</guid>
<link>https://blog.fossko.ru/all/podtyanut-client-id-k-istochniku-trafika-v-power-bi/</link>
<pubDate>Sat, 10 Feb 2024 12:19:53 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/podtyanut-client-id-k-istochniku-trafika-v-power-bi/</comments>
<description>
&lt;p&gt;&lt;b&gt;Задача&lt;/b&gt; Требуется получить связанные данные из Яндекс метрики: источник трафика с client id.&lt;br /&gt;
Эта связка нужна для соединения таблиц выгрузки из CRM с Яндекс метрикок. Так мы поймем какие клиенты из какого источника пришли, а значит какой канал эффективный.&lt;/p&gt;
&lt;p&gt;Для выгрузки из метрики используем &lt;a href="https://github.com/maxim-uvarov/PQYandexMetrica"&gt;коннектор Уварова PQYM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;С метрики получаем данные:&lt;br /&gt;
— ym:s:&lt;attribution&gt;TrafficSource — источниками трафика,&lt;br /&gt;
— ym:s:clientID — client id,&lt;br /&gt;
— ym:s:visits — количество визитов.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Spisok-gruppirovok-i-metrik.-Spravochnik-razrabotchika---Opera-2024-02-10-12.04.35.jpg" width="778" height="923" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;&lt;a href="yandex.ru/dev/metrika/doc/api2/api_v1/attrandmetr/"&gt;Список всех группировок и метрик в апи Яндекс метрики&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ym:s:clientID и ym:s:&lt;attribution&gt;TrafficSource — это группировки и могут находится только в поле dimensions,&lt;a href="https://yandex.ru/dev/metrika/doc/api2/api_v1/attrandmetr/dim_all.html#dimensions__ym_s_clientID"&gt;согласно документации API Яндекс метрики&lt;/a&gt;&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Prosmotr-media-2024-02-10-12.15.58.jpg" width="691" height="549" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Делаем настройки коннектора, ym:s:visits — метрика, а ym:s:clientID и ym:s:&lt;attribution&gt;TrafficSource — это группировки и могут находится только в поле dimensions, &lt;a href="https://yandex.ru/dev/metrika/doc/api2/api_v1/attrandmetr/dim_all.html#dimensions__ym_s_clientID"&gt;согласно документации API Яндекс метрики&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Prosmotr-media-2024-02-10-12.18.03.jpg" width="833" height="526" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Получили таблицу, которая соединяет client id и источник трафика&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Объединение нескольких листов в гугл таблице</title>
<guid isPermaLink="false">548</guid>
<link>https://blog.fossko.ru/all/obedinenie-neskolkih-listov-v-google-sheets/</link>
<pubDate>Sun, 04 Feb 2024 16:33:21 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/obedinenie-neskolkih-listov-v-google-sheets/</comments>
<description>
&lt;p&gt;Достаточно часто на периоды или места разные листы в одной таблице.&lt;br /&gt;
При работе с такими таблицами, все листы нужно объединить.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Testovoe-zadanie-dlya-vakansii-_Pomoschnik-finansovogo-menedzhera_---Google-Tablicy---Opera-2024-02-04-16.00.31.jpg" width="861" height="641" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Листы разделены по паркам: парк 1, 2, 3 и 4. Профи ру: помощь с выполнением тестового задания «помощник финансового менеджера»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Kopiya-statistika---Google-Tablicy---Opera-2024-02-04-16.03.11.jpg" width="1363" height="1043" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Листы разделены по товарам: корс, мини, трансформер. Листы содержат агрегирующие строчки, которые нужно удалить перед анализом. Профи ру: помощь с анализом продаж&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Алгоритм объединения&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Obedinenie-neskolkih-listov--Testovoe-zadanie-dlya-vakansii-_Pomoschnik-finansovogo-menedzhera_---Google-Tablicy---Opera-2024-02-04-16.17.24.jpg" width="655" height="332" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Добавляем столбец имя листа на листы которые объединяем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ARRAYFORMULA(if(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;&amp;quot;Парк1&amp;quot;;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;На новом листе вставляем оглавление, или просто копируем оглавление&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=QUERY(&amp;#039;Парк 1&amp;#039;!A1:U1;&amp;quot;SELECT *&amp;quot;)&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Данные можно вставить через Query или Filter: иногда filter работает быстрее query&lt;/p&gt;
&lt;p&gt;Вставляем данные через Query, вставляем все что есть, начиная со второй строчки. В первой строчке у нас наименование столбцов, оно нам не нужно&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;={query(&amp;#039;Парк 1&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 2&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 3&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;);query(&amp;#039;Парк 4&amp;#039;!A2:U;&amp;quot;SELECT *&amp;quot;)}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Вставляем данные через Filter, дополнительно условие что в первой ячейке должны быть данные&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;={filter(&amp;#039;Парк 1&amp;#039;!A2:U;&amp;#039;Парк 1&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 2&amp;#039;!A2:U;&amp;#039;Парк 2&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 3&amp;#039;!A2:U;&amp;#039;Парк 3&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;);filter(&amp;#039;Парк 4&amp;#039;!A2:U;&amp;#039;Парк 4&amp;#039;!A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;)}&lt;/code&gt;&lt;/pre&gt;</description>
</item>

<item>
<title>Таблица расчета цены фулфилмента</title>
<guid isPermaLink="false">542</guid>
<link>https://blog.fossko.ru/all/tablica-rascheta-ceny-fulfilmenta/</link>
<pubDate>Fri, 15 Dec 2023 13:21:47 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/tablica-rascheta-ceny-fulfilmenta/</comments>
<description>
&lt;p&gt;Переделал таблицу для фулфилмента которой пользуются клиенты и сотрудники организации.&lt;/p&gt;
&lt;p&gt;Фулфилмент —  это организация которая занимается посредником между продавцом и маркетплейсом, оказывает услуги по хранению товара, сборке заказа и его доставке в маркетплейс.&lt;/p&gt;
&lt;p&gt;Таблица — это дашборд с заказами и финансами&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Задача.&lt;/b&gt; Сохранить текущую логику работы таблицы, автоматизировать расчеты.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Этапы работы:&lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Созвон для понимания задачи,&lt;/li&gt;
&lt;li&gt;Работа над таблицей,&lt;/li&gt;
&lt;li&gt;Созвод для презентации работы,&lt;/li&gt;
&lt;li&gt;Получение замечаний,&lt;/li&gt;
&lt;li&gt;Сдача работы.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente.png" width="449" height="227" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Бесцветные ячейки заполняются автоматически мы их не трогаем и не заполняем. Оранжевые ячейки заполняет клиент. Голубые ячейки заполняет фулфилмент. Обязательно зафиксировали это в таблице.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-1.png" width="369" height="444" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Каждый заказ — отдельный лист в таблице&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-2.png" width="893" height="700" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В товарах используют изображение, чтобы корректно работал vlookup, напоминаем, что для вставки изображения в ячейку: курсор ставим на ячейку, Меню — вставка — Изображение — Вставить изображение в ячейку&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-3.png" width="1246" height="797" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Лист «Товары» — база данных товаров данного клиента. Здесь много оранжевых ячеек, значит заполняются они клиентом вручную. Материал упаковки выбирается из рубрикатора, в который можно добавлять новые значения.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-4.png" width="1442" height="528" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Лист «справочник» позволяет поменять основные значения, которые влияют на стоимость&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;div class="fotorama" data-width="1587" data-ratio="2.4229007633588"&gt;
&lt;img src="https://blog.fossko.ru/pictures/image-17.png" width="1587" height="655" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-5.png" width="1597" height="742" alt="" /&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-6.png" width="1577" height="721" alt="" /&gt;
&lt;/div&gt;
&lt;div class="e2-text-caption"&gt;Собираем готовую таблицу, используя ArrayFormula, VLOOKUP, IFS. Часть ячеек скрыта, так как содержит дополнительную информацию, которая для оперативной работы не нужна.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-7.png" width="1460" height="377" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Формулы не перегружены, чтобы сотрудники фулфилмента могли сами поправить часть данных.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-9.png" width="634" height="664" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если поставить галочку «считаем приемку наборами» итоговая стоимость поменяется из-за изменения подсчета&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/tablica-rascheta-ceny-klienta-v-fulfilmente-8.png" width="806" height="189" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;В первой строке выводится основная информация о заказе: вес, объем, допы, стоимость предварительная и фактическая&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Если вам нужна помощь с гугл таблицами — &lt;a href="https://t.me/fossko"&gt;@fossko&lt;/a&gt;.&lt;/p&gt;
</description>
</item>

<item>
<title>Преобразование даты без форматирования в формат даты в Power Query</title>
<guid isPermaLink="false">537</guid>
<link>https://blog.fossko.ru/all/preobrazovanie-daty-bez-formatirovaniya-v-format-daty/</link>
<pubDate>Sun, 12 Nov 2023 10:54:25 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/preobrazovanie-daty-bez-formatirovaniya-v-format-daty/</comments>
<description>
&lt;p&gt;При подготовки отчета в PowerBi выяснилось что даты находятся в столбце с форматом: день, месяц и год без разделителей&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Microsoft-Excel---Kniga1.xlsx-2023-11-12-10.38.01.jpg" width="111" height="248" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Первый день может быть однозначным и двухзначным, например, 7 февраля и 22 февраля.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;При загрузке в PowerBi даты выглядят как числа&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.41.22.jpg" width="251" height="261" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если сортировать в таком виде будет неразбериха, перевод в формат даты выдаст ошибку&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Попробуем сделать сделать столбцы день, месяц и год, а потом их объединить в даты&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.44.28.jpg" width="232" height="271" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Заменяем тип столбца на текстовый, чтобы корректно работать с текстовыми функциями, для этого нажимаем на стрелочку и выбираем  формат «текст»&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Выделяем год&lt;/h2&gt;
&lt;p&gt;Дополнительный столбец с кодом года&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=Text.End([дата],4)&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Custom-Column-2023-11-12-10.46.32.jpg" width="685" height="425" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Берем последние четыре символа, это и будет год.&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Выделяем месяц&lt;/h2&gt;
&lt;p&gt;Дополнительный столбец с кодом месяца&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=Text.Start(Text.End([дата],6),2)&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/preobrazovanie-daty-bez-formatirovaniya-v-format-daty.png" width="693" height="452" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Берем последние шесть символов, и отрезаем первые два — это и будет месяц.&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;Выделяем месяц&lt;/h2&gt;
&lt;p&gt;Дополнительный столбец с кодом дня&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=if Text.Length([дата]) = 8 then  Text.Start([дата],2) else Text.Start([дата],1)&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Custom-Column-2023-11-12-10.49.47.jpg" width="689" height="429" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Если в дате 8 символов возьми первые два, иначе возьми первый символ — это будет день&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.51.20.jpg" width="702" height="283" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Сортируем день, месяц, год&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.51.47.jpg" width="724" height="415" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Выделяем столбцы и нажимаем кнопку «объединить»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Rabochiy-stol-2023-11-12-10.52.25.jpg" width="695" height="279" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Выбираем символ объединения «точка», и наименование нового столбца&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.53.01.jpg" width="373" height="258" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Получаем объединенный столбец дата в формате «текст»&lt;/div&gt;
&lt;/div&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/Untitled---Power-Query-Editor-2023-11-12-10.53.35.jpg" width="490" height="324" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Преобразовываем столбец в формат дата&lt;/div&gt;
&lt;/div&gt;
</description>
</item>

<item>
<title>Календарь для сквозной аналитики в гугл таблице</title>
<guid isPermaLink="false">534</guid>
<link>https://blog.fossko.ru/all/kalendar-dlya-skvoznoy-analitiki-v-google-sheets/</link>
<pubDate>Wed, 18 Oct 2023 14:54:58 +0300</pubDate>
<author></author>
<comments>https://blog.fossko.ru/all/kalendar-dlya-skvoznoy-analitiki-v-google-sheets/</comments>
<description>
&lt;p&gt;Сделаем календарь для сквозной аналитики от даты начала day_start до даты окончания day_end&lt;br /&gt;
Вместо даты начала и окончания можно вставить минимальную и максимальную даты в вашем отчете&lt;/p&gt;
&lt;p&gt;Date — дата&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ARRAYFORMULA(ROW(INDIRECT(&amp;quot;A&amp;quot;&amp;amp;DATEVALUE(day_start)&amp;amp;&amp;quot;:A&amp;quot;&amp;amp;DATEVALUE(day_end))))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Year — год&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;YEAR(A2:A);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;QuarterOfYear — номер квартала&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;&amp;quot;Q&amp;quot; &amp;amp;INT((MONTH(A2:A) +2)/3);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MonthOfYear — номер месяца в году&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;MONTH(A2:A);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MonthDayNumber — номер дня в месяце&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;DAY(A2:A);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DateInt — дата в форме целого числа&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;A2:A;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;YearMonthNumber — МесяцГод в форме 202301&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;VALUE( TEXT(A2:A;&amp;quot;yyyymm&amp;quot;));&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MonthName — название месяца в формате Январь&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;VLOOKUP(D2:D;MonthName;2;FALSE);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;MonthName — диапазон в котором соответствие номер месяца и названия в именительном падеже, находится на скрытом листе таблицы&lt;br /&gt;
MonthInCalendar — Месяц год в формате Янв 2023&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;TEXT(A2:A;&amp;quot;mmm yyy&amp;quot;);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;QuarterInCalendar — КварталГод в формате Q1 2023&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;C2:C&amp;amp;&amp;quot; &amp;quot;&amp;amp;B2:B;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DayInWeek — номер дня недели&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;WEEKDAY(A2:A;2);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DayOfWeekName — название дня недели&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;TEXT(A2:A;&amp;quot;dddd&amp;quot;);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;StartOfWeek — дата начала недели&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;A2:A-WEEKDAY(A2:A;3);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;WeekEnding — дата окончания недели&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;N2:N+6;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Weeks — неделя от начала до конца&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;CONCAT(TEXT(N2:N;&amp;quot;YYYY.MM.DD&amp;quot;)&amp;amp;&amp;quot;—&amp;quot;;TEXT(O2:O;&amp;quot;YYYY.MM.DD&amp;quot;));&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;StartOfMonth — дата начала месяца&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;eomonth(A2:A;-1)+1;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;StartOfMonth — дата окончания месяца&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;eomonth(A2:A;0);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;WeekOfYear — номер недели в году&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;WEEKNUM(A2:A;2);&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DayOfYear — номер дня от начала года&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ArrayFormula(IF(A2:A&amp;lt;&amp;gt;&amp;quot;&amp;quot;;A2:A-DATE(YEAR(A2:A);1;1)+1;&amp;quot;&amp;quot;))&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;WeekOfYear ISO 8601 — Год неделя по стандарту ISO 8601, применяется в Европе&lt;br /&gt;
Используется система 2. Первой неделей года считается та, в которую попадает первый четверг в году. Ее порядковым номером будет 1. В основе этой системы лежит международный стандарт представления дат и времени (ISO 8601).&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;=ARRAYFORMULA(
  IF(
    (MONTH(A2:A) = 1) * (WEEKNUM(A2:A; 21) &amp;gt; 50);
    TEXT(YEAR(A2:A) - 1; &amp;quot;0000&amp;quot;) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; TEXT(WEEKNUM(A2:A; 21); &amp;quot;00&amp;quot;);
    TEXT(YEAR(A2:A); &amp;quot;0000&amp;quot;) &amp;amp; &amp;quot;-&amp;quot; &amp;amp; TEXT(WEEKNUM(A2:A; 21); &amp;quot;00&amp;quot;)
  )
)&lt;/code&gt;&lt;/pre&gt;&lt;div class="e2-text-picture"&gt;
&lt;img src="https://blog.fossko.ru/pictures/kalendar-dlya-skvoznoy-analitiki-v-google-sheets.png" width="1344" height="526" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://docs.google.com/spreadsheets/d/18RkNN8LhYHGkQ-boEkZepfWP94LjobEDBDYrbCSrS3U/edit?usp=sharing"&gt;Шаблон календаря для сквозной аналитики&lt;/a&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>