Замена
Компонент заменяет данные исходного набора, используя таблицы замен. Таблицы замен содержат пары заменяемых и новых значений или вычисляющие их регулярные выражения. Эти таблицы можно задать вручную в мастере настройки (внутренние) или подать на вход узла (внешние).
Последовательность действий алгоритма замены:
- Вначале производится поиск и замена по точному совпадению со значениями, указанными в таблице замен.
- Среди значений, не найденных по точному совпадению, производится поиск по регулярным выражениям. Такие выражения могут быть заданы во внутренних таблицах замен. Новые значения также вычисляются регулярными выражениями.
- Выполняются правила замены для значений, не найденных на предыдущих шагах.
Вход
Входной источник данных (таблица данных) — набор данных, подлежащий изменению.
Добавить еще один порт — создает новый входной порт для таблицы замен. Таблиц замен может быть несколько; к названию порта Таблица замен добавляется номер от 1 до N (Таблица замен 1 ... Таблица замен N).
Выход
Выходной набор данных (таблица данных). При настройке соответствия между столбцами порта можно выбрать варианты замены или добавления столбцов.
Мастер настройки
Окно мастера настройки состоит из 3-х областей:
Способы замен
Для каждого поля исходного набора задается способ замены:
- Не заменять — выходной набор данных замены производиться не будут.
- Ввод вручную — используется внутренняя таблица замен.
- Таблица замен (Таблица замен N) — используется внешняя таблица замен. Данный способ присутствует в настройках, если на входной порт узла подаются данные внешней таблицы замен.
Таблица замен N — наименование принимающего таблицу порта.
Таблица замен
Отображает внешнюю или внутреннюю таблицу замен для выбранного поля исходного набора.
Настройка внутренней таблицы
Для ввода новой строки в таблице замены используется кнопка . Таблица может содержать строки для поиска и замены по:
- Точному совпадению.
- Регулярному выражению (применимо только к данным строкового типа).
Важно: в случае замены числовых данных стоит учитывать интервалы, в которые попадет то или иное заменяемое значение.
Пусть имеется следующая таблица:
| Значение |
|---|
| 5 |
| 10 |
| 15 |
Правила замены вида: 1) 5 => -5; 2) 15 => -15.
И точность равная 5.
В этом случае выходная таблица будет иметь вид:
| Значение |
|---|
| -5 |
| -15 |
| -15 |
То есть получились два полуинтервала вида [5, 10) и [10, 15). Соответственно, граничные значения входят в тот интервал, где они являются начальными.
При вводе вручную таблицы замены доступны ряд действий через панель инструментов области:
Импорт — импорт таблицы замен из текстового файла определенной структуры.
Экспорт — экспорт таблицы замен в текстовый файл.
Сортировка — сортировка таблицы по полю исходного значения.
- Изменить тип замены — задает тип данных столбца с новыми значениями.
Редактировать текущую замену — отображает область редактирования текущей строки таблицы подстановок.
Получить значения — подгружает выпадающий список, вызываемый кнопкой
, в поле Значение, при ручном вводе таблицы замен.
Примечание: Замена по точному совпадению имеет приоритет перед заменой по регулярному выражению.
Настройка внешней таблицы
Для полей таблицы необходимо выбрать Назначение из следующих вариантов:
Не используемое — поле таблицы замен не будет использоваться.
Значение — поле содержит заменяемые значения.
Замена — поле содержит новые значения.
Информационное — поле содержит дополнительный вариант нового значения. Дополнительные варианты замены выводятся в результирующем наборе данных отдельным столбцом.
Примечание: Если замена одного значения может быть произведена по условиям нескольких строк таблицы замен, то приоритет имеет первая из них. В связи с этим сортировка таблицы замен может влиять на результат обработки. Данное правило не применяется при использовании допустимого интервала (см. параметр Точность).
Дополнительные параметры
- Заменять остальные — содержит варианты замены значений, не найденных при помощи таблицы замен.
- Не заменять — замены производиться не будут.
- На пропущенное — значения будут заменены на Null.
- На значение — значения будут заменены на указанное.
- На регулярное выражение — новое значение будет вычислено с использованием синтаксиса регулярного выражения.
- Точность — для полей целого и вещественного типов задает допустимый интервал от указанных в таблицах замен значений, при котором исходное значение будет заменено.
- Регистрозависимые строки — флаг устанавливает регистрозависимый режим поиска значений в таблицах замен. По умолчанию данный режим не используется.
Выходной набор данных
В результирующий набор данных для каждого поля, по которому производилась замена, будет добавлен столбец логического типа с именем «Имя поля_Replaced» и меткой «Метка поля Заменен».
При настройках по умолчанию замена будет произведена в исходном столбце, а к метке поля будет добавлено слово «Замена». Имя столбца не изменится.
В результирующем наборе данных можно оставить исходный столбец без изменений, а замененные значения выводить в отдельном столбце. Для этого в окне Настройка соответствия между столбцами мастера настройки узла Замена (шаг 2) на панели инструментов списка «Входные» необходимо указать Тип создания производных столбцов
Добавление (см. также Интерфейс «Связи»).
В этом случае в результирующий набор будет включен дополнительный столбец, к имени которого будет добавлен постфикс «_Replace», а к метке слово «Замена».