Операции · Практическое руководство

Разделение столбца в Power Query: как извлечь размер из составного кода

Как разделить составной код по последнему дефису в Power Query, сохранить исходный артикул и проверить исключения, текстовые размеры и количество строк.

6 мин чтения
Иллюстрация к статье: Разделение столбца в Power Query: как извлечь размер из составного кода
Если у вас одна минута

Коротко о главном

Чтобы извлечь размер из составного кода, сначала подтвердите правило его записи. Если размер всегда стоит после последнего дефиса, в Power Query разделите копию текстового столбца по крайнему правому разделителю на два столбца. Полный код сохраните. Проверьте исключения и количество строк: удобные отдельные поля ещё не доказывают правильность расшифровки.

  • Последний дефис подходит только для кода с подтверждённым форматом; по внешнему виду его смысл не определить.
  • Разделяйте рабочую копию поля, сохраняя полный исходный код товара.
  • Выбирайте разделение на столбцы: извлечение размера не должно создавать дополнительные операции.
  • Пустой или неизвестный размер отправляйте на проверку, а не восстанавливайте догадкой.

1. Установите, что означает разделитель

Внутренний код продавца может соединять модель, цвет и размер: например, BOOT-WINTER-042. Для этой инструкции примем авторское учебное правило: всё слева от последнего дефиса — обозначение модели, справа — размер ровно в том виде, в котором он записан в справочнике. Это не формат артикула, установленный Wildberries или Ozon, и не способ расшифровать любой SKU площадки.

Попросите владельца справочника подтвердить правило и перечислить исключения. Если в конце иногда стоит номер партии, та же команда извлечёт партию вместо размера. Если размер бывает диапазоном 42-44, последний дефис тоже не подходит: он находится внутри самого размера. В таких случаях нужен однозначный справочник соответствий либо другая согласованная структура поля.

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

2. Сохраните полный код и контрольные итоги

Работайте с копией книги и сохранённым исходным файлом. Инструкция рассчитана на редактор Power Query в настольном Excel; названия элементов зависят от локализации и версии. Откройте существующий запрос на редактирование. Оставьте полный код отдельным полем, а для разделения создайте его дубликат через контекстное меню столбца и назовите его «Код для разбора».

Убедитесь, что рабочее поле имеет тип «Текст». Microsoft описывает автоматическое определение типов для Excel и CSV: проверьте применённые шаги, чтобы они не меняли смысл идентификаторов. После разделения размер 042 тоже должен остаться текстом, если начальный ноль значим для вашего справочника. Числовой размер и текстовый код размера — разные договорённости.

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

3. Разделите по крайнему правому дефису

Выделите «Код для разбора». В редакторе выберите Home → Split Column → By Delimiter, то есть «Главная → Разделить столбец → По разделителю». В поле разделителя укажите Custom / «Пользовательский» и обычный дефис -. Для Split at выберите Right-most delimiter / крайний правый разделитель. В дополнительных параметрах проверьте результат Columns / «Столбцы», затем подтвердите действие.

Переименуйте два полученных поля в «Модель» и «Размер». Для BOOT-WINTER-042 ожидается модель BOOT-WINTER и размер 042. Выбор каждого вхождения разделителя разбил бы и название модели на части. Выбор крайнего левого дал бы модель BOOT и остаток WINTER-042. Оба результата технически возможны, но не соответствуют принятому правилу.

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

4. Сверьте результат на учебных записях

Представим пять операций из одного кабинета. В нашем придуманном справочнике допустимы текстовые размеры 042 и 043; названия моделей могут включать дефисы. Ниже указан ожидаемый бизнес-результат, а не обещание конкретного отображения пустых значений в каждом варианте запроса. Для неполных кодов не назначаем модель и размер автоматически.

Исходный итог составляет пять операций и девять единиц: 2 + 1 + 3 + 1 + 2. После добавления двух полей должны остаться те же пять операций и девять единиц. У трёх корректно разобранных записей шесть единиц, у двух спорных — три. Отчёт по размерам без отдельного показа этих трёх единиц был бы неполным.

Авторский учебный набор. Размеры 042 и 043 и правило записи условные; две спорные операции сохраняются в контроле, но не получают выдуманный размер.
Полный кодКоличество, шт.Ожидаемый разбор
BOOT-WINTER-0422BOOT-WINTER / 042
BOOT-WINTER-0431BOOT-WINTER / 043
BOOT-LIGHT-BLUE-0423BOOT-LIGHT-BLUE / 042
BOOT-WINTER-1Нет размера: проверка
BOOT0422Нет разделителя: проверка

5. Отделите исключения от подтверждённых размеров

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

Запись BOOT-WINTER-042-OLD успешно разделится на BOOT-WINTER-042 и OLD. Ошибки выполнения может не быть, однако по нашему правилу размер OLD недопустим. Это главный предел операции: она выделяет текст относительно символа, но не понимает товар. Сопоставление с разрешёнными размерами и моделями важнее одного зелёного индикатора успешного запроса.

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

6. Не перепутайте извлечение признака с созданием строк

Microsoft отдельно описывает разделение текста на столбцы и на строки. Второй вариант нужен, когда одна ячейка действительно содержит список отдельных элементов, которые необходимо развернуть. При извлечении размера у одной операции такого списка нет. Изменение числа строк в этой задаче — повод остановить расчёт и проверить настройки.

Например, если строку с количеством 2 разделить по каждому дефису BOOT-WINTER-042 на строки, вместо одного составного значения появятся три фрагмента. Суммировать повторённое рядом количество как три самостоятельные продажи нельзя. Даже при полезном разборе списка компонентов комплекта сначала требуется отдельное правило распределения количества, а не простое суммирование результата.

Вернитесь к шагу до разделения и исправьте режим. Не лечите размножение удалением похожих строк: это способно скрыть исходную операцию или оставить один случайный фрагмент. Сначала восстановите ожидаемую структуру «одна операция — одна строка», затем снова сверьте исходные идентификаторы и количество.

7. Проверьте обновление и используйте результат

В копии учебного источника добавьте модель BOOT-EXTRA-WARM-043. Она должна дать BOOT-EXTRA-WARM и 043 без ручного изменения числа частей. Затем добавьте код без размера и убедитесь, что он попадает в список исключений. Такой небольшой прогон проверяет именно границы выбранного правила, а не только удобные первые строки.

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

С проверенной структурой проще выбрать товар или размер для дальнейшего анализа. В HelpStat раздел «Рука на пульсе» помогает начать обзор доступных показателей и определить отклонения для разбора. Само преобразование, описанное здесь, выполняется в Excel и Power Query; автоматическая расшифровка составных кодов в HelpStat не предполагается.

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

Источники и методика

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

Как устроены материалы HelpStat

Все материалы блога
Следующий шаг — за вами

У каждого товара
есть точка роста.

Найдите свою с аналитикой HelpStat.

Команда HelpStat

Связаться с HelpStat