Распознавание, нормализация и форматирование чисел и календарных значений.
Назначение
Задаёт отдельные правила для полей с числами или датами. Может очистить текстовую запись, извлечь число или дату из окружающего текста, преобразовать в значение для вычислений или оформить как текст отчёта.
Входы и выходы
Один вход in и выход out. Числовые правила меняют выбранные поля; правила дат могут создавать столбцы частей даты и удалять исходное поле.
Параметры
| Параметр | Настройки и значения | Варианты и ограничения |
|---|
rules | Упорядоченный список правил. Условия и параметры правил описаны ниже. | Количество: 0–256 |
Общие настройки правил
| Параметр | Что настраивает |
|---|
field | Поле или пустое значение для «Все остальные поля». |
replacements | Предварительные замены find → replace, whole для всего значения и case_sensitive для учёта регистра; до 100 замен. |
extract | Находить число или дату среди других слов и символов. |
invalid | Сохранить через keep, очистить через null или остановить через error. |
Настройки чисел
| Параметр | Что настраивает |
|---|
decimal_in / thousands_in | Входные десятичный разделитель и разделитель тысяч; auto или явный выбор. |
parentheses_negative | Считать число в скобках отрицательным. |
percent | keep сохраняет извлечённую величину; fraction преобразует процент в долю. |
divisor | Делить на 1, 1000 или 1000000 для единиц, тысяч или миллионов. |
digits / rounding | 0–15 знаков после запятой или без заданной точности. Режимы: half_up/half_even/half_down/down/up/floor/ceiling. |
sign | Сохранять знак, делать положительным или отрицательным. |
output | number для вычислений; text для форматированного текста. |
decimal / thousands / prefix / suffix | Вид текстового результата: разделители, префикс и суффикс. |
Настройки дат
| Параметр | Что настраивает |
|---|
order | auto, dmy, mdy или ymd для порядка компонентов входной даты. |
output / time | Результат — date, text или parts; время можно сохранить. |
pattern / language | Шаблон текстовой даты, по умолчанию DD.MM.YYYY; язык названий uk/ru/en. |
parts | Части: year, quarter, month, month_name, week, day, weekday; задайте каждой новое имя поля. |
parts_output | Числовое или текстовое представление частей. |
original | При извлечении частей сохранить исходное поле через keep, нормализовать до даты через date или удалить через remove. |
Пошаговая настройка
- Добавьте правило для конкретного поля или «Все остальные поля».
- Выберите число или дату. Добавьте предварительные текстовые замены и решите, искать ли значение внутри текста.
- Настройте распознавание: разделители чисел или порядок компонентов даты.
- Выберите выход: число или дату для следующих действий либо текст для отчёта. Задайте поведение для некорректных значений.
- Проверьте строки с локальными форматами, скобками, процентами и неоднозначными датами.
Правила и диагностика
- Правило с пустым полем применяется к остальным полям, не указанным отдельными правилами.
- invalid=keep сохраняет нераспознанное значение, null очищает, error останавливает обработку. Для контролируемой загрузки выбирайте политику осознанно.
- Текстовый выход предназначен для представления; сохраняйте output=number или повторно нормализуйте перед арифметикой.
- Проценты можно оставить числом из текста или преобразовать в долю: 15% → 0.15 при percent=fraction.
- Части даты должны иметь уникальные имена без конфликтов с результатом.
- Для output=parts выберите одно конкретное поле даты и хотя бы одну часть; правило «Все остальные поля» не создаёт столбцы частей даты.
- Входные десятичный разделитель и разделитель тысяч должны различаться; то же требование действует для текстового результата.
Пример настройки
Для Amount задайте kind=number, decimal_in=",", thousands_in=" ", extract=true, output=number, invalid=error. Текст «1 234,56 UAH» станет числом 1234.56. Для DateText выберите kind=date, order=dmy, output=parts и создайте Year и Month.