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