Замена
Компонент заменяет данные исходного набора, используя таблицы замен. Таблицы замен содержат пары заменяемых и новых значений или вычисляющие их регулярные выражения. Эти таблицы можно задать вручную в мастере настройки (внутренние) или подать на вход узла (внешние).
Последовательность действий алгоритма замены:
- Вначале производится поиск и замена по точному совпадению со значениями, указанными в таблице замен.
- Среди значений, не найденных по точному совпадению, производится поиск по регулярным выражениям. Такие выражения могут быть заданы во внутренних таблицах замен. Новые значения также вычисляются регулярными выражениями.
- Выполняются правила замены для значений, не найденных на предыдущих шагах.
Вход
- Входной источник данных (таблица данных) — набор данных, подлежащий изменению.
- Присоединяемая таблица [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", а к метке слово "Замена".
Статьи в разделе: