Преобразования таблицы

Как безопасно привести остатки 10+, >10 и текстовые статусы к числу

2026-06-20
Задача

В исходной колонке остатка смешаны целые числа, значения 10+ и >10, а также текстовые маркеры нет и под заказ. Итоговая колонка должна содержать число только для заранее известных форматов.

Короткий ответ

Сначала обработайте точные текстовые маркеры, оставьте итоговое значение пустым для неподдерживаемых форматов, сохраните цифры и прибавьте 1 только для исходного формата >N.

Как сделать в Eofferix

  1. Добавьте или откройте итоговую колонку stock и выберите исходную колонку stock_raw. Оба названия используются только в этом примере.

  2. Добавьте три первых правила: ЛюбоеУбрать пробелы по краям; Равно со значением нетЗаменить на0; Равно со значением под заказЗаменить на0.

    Шесть правил проверки и преобразования текстовых остатков в число
    Сначала обрабатываются точные маркеры, неизвестные форматы дают пустое итоговое значение остатка, а значение больше 10 превращается в 11.
  3. Затем добавьте проверку всего формата: Не регулярное выражение со значением ^(?:\d+\s*\+?|>\s*\d+)$Не загружать поле; после неё Регулярное выражение со значением \d+Удалить все, кроме; последним правилом проверяйте исходную колонку по ^\s*>\s*\d+\s*$ и выполняйте Прибавить со значением 1.

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

Важно. Имена stock_raw и stock, а также слова нет и под заказ — только пример. Подставьте фактические имена колонок и точные коды своего поставщика. Политика под заказ → 0 относится только к числовому остатку и не сохраняет смысл предзаказа.

Что получится

Исходное значениеРезультатПочему
10+10В примере это нижняя граница, а не точный остаток.
>1011Для целочисленного остатка минимальное значение больше 10 — 11.
4242Поддерживаемое целое число остаётся без изменений.
нет0Точный известный маркер отсутствия товара.
под заказ0Такова явная политика числового остатка в этом примере.
доставка через 3 дняпустоНеизвестная фраза не должна превращаться в ложный остаток 3.

Что проверить перед выгрузкой

  • Все шесть правил стоят в указанном порядке: Eofferix применяет их сверху вниз.
  • Правила для нет и под заказ используют условие Равно, а не поиск подстроки.
  • >10 даёт 11, а не 10.
  • Неизвестный текст, отрицательное число и произвольная фраза с цифрой дают пустой результат.

Ограничения примера

  • N+ и >N передают только консервативную нижнюю границу, а не фактическое количество на складе.
  • Если канал различает предзаказ и отсутствие товара, сформируйте отдельную колонку статуса; не пытайтесь восстановить статус из полученного нуля.
  • Эта цепочка рассчитана на целые неотрицательные остатки. Другие форматы нужно добавлять только после подтверждения их смысла у поставщика.

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться