Замена Замена

Компонент заменяет данные исходного набора, используя таблицы замен. Таблицы замен содержат пары заменяемых и новых значений или вычисляющие их регулярные выражения. Эти таблицы можно задать вручную в мастере настройки (внутренние) или подать на вход узла (внешние).

Последовательность действий алгоритма замены:

  1. Вначале производится поиск и замена по точному совпадению со значениями, указанными в таблице замен.
  2. Среди значений, не найденных по точному совпадению, производится поиск по регулярным выражениям. Такие выражения могут быть заданы во внутренних таблицах замен. Новые значения также вычисляются регулярными выражениями.
  3. Выполняются правила замены для значений, не найденных на предыдущих шагах.

Вход

  • Входной источник данных Входной источник данных (таблица данных) — набор данных, подлежащий изменению.
  • Набор данных Присоединяемая таблица [N] (таблица данных) — набор данных, содержащий таблицу замен.
  • Добавление порта Добавление еще одного порта. Поскольку таблиц замен может быть несколько, то необходимые порты для них могут быть добавлены пользователем.

Выход

  • Выходной набор данных Выходной набор данных (таблица данных). При настройке соответствия между столбцами порта можно выбрать варианты замены или добавления столбцов.

Мастер настройки

Окно мастера настройки состоит из 3-х областей:

  1. Способы замен.
  2. Таблица замен.
  3. Дополнительные параметры.

Способы замен

Для каждого поля исходного набора задается способ замены:

  • Не заменять — выходной набор данных замены производиться не будут.
  • Ввод вручную — используется внутренняя таблица замен.
  • Таблица замен (Таблица замен N) — используется внешняя таблица замен. Данный способ присутствует в настройках, если на входной порт узла подаются данные внешней таблицы замен.

Таблица замен N — наименование принимающего таблицу порта.

Таблица замен

Отображает внешнюю или внутреннюю таблицу замен для выбранного поля исходного набора.

Настройка внутренней таблицы

Для ввода новой строки в таблице замены используется кнопка Добавление строки. Таблица может содержать строки для поиска и замены по:

Важно: в случае замены числовых данных стоит учитывать интервалы, в которые попадет то или иное заменяемое значение.

Пример

Пусть имеется следующая таблица:

Значение
5
10
15

Правила замены вида: 1) 5 => -5; 2) 15 => -15.

И точность равная 5.

В этом случае выходная таблица будет иметь вид:

Значение
-5
-15
-15

То есть получились два полуинтервала вида [5, 10) и [10, 15). Соответственно, граничные значения входят в тот интервал, где они являются начальными.

При вводе вручную таблицы замены доступны ряд действий через панель инструментов области:

  • Импорт Импорт — импорт таблицы замен из текстового файла определенной структуры.
  • Экспорт Экспорт — экспорт таблицы замен в текстовый файл.
  • Сортировка Сортировка — сортировка таблицы по полю исходного значения.
  • Изменить тип замены — задает тип данных столбца с новыми значениями.
  • Редактировать текущую замену Редактировать текущую замену — отображает область редактирования текущей строки таблицы подстановок.
  • Получить значения Получить значения — подгружает выпадающий список, вызываемый кнопкой  , в поле Значение, при ручном вводе таблицы замен.

Примечание: Замена по точному совпадению имеет приоритет перед заменой по регулярному выражению.

Настройка внешней таблицы

Для полей таблицы необходимо выбрать Назначение из следующих вариантов:

  • Не используется Не используемое — поле таблицы замен не будет использоваться.
  • Значение Значение — поле содержит заменяемые значения.
  • Замена Замена — поле содержит новые значения.
  • Информационное Информационное — поле содержит дополнительный вариант нового значения. Дополнительные варианты замены выводятся в результирующем наборе данных отдельным столбцом.

Примечание: Если замена одного значения может быть произведена по условиям нескольких строк таблицы замен, то приоритет имеет первая из них. В связи с этим сортировка таблицы замен может влиять на результат обработки. Данное правило не применяется при использовании допустимого интервала (см. параметр Точность).

Дополнительные параметры

  • Заменять остальные — содержит варианты замены значений, не найденных при помощи таблицы замен.
    • Не заменять — замены производиться не будут.
    • На пропущенное — значения будут заменены на Null.
    • На значение — значения будут заменены на указанное.
    • На регулярное выражение — новое значение будет вычислено с использованием синтаксиса регулярного выражения.
  • Точность — для полей целого и вещественного типов задает допустимый интервал от указанных в таблицах замен значений, при котором исходное значение будет заменено.
  • Регистрозависимые строки — флаг устанавливает регистрозависимый режим поиска значений в таблицах замен. По умолчанию данный режим не используется.

Выходной набор данных

В результирующий набор данных для каждого поля, по которому производилась замена, будет добавлен столбец логического типа с именем "Имя поля_Replaced" и меткой "Метка поля Заменен".

При настройках по умолчанию замена будет произведена в исходном столбце, а к метке поля будет добавлено слово "Замена". Имя столбца не изменится.

В результирующем наборе данных можно оставить исходный столбец без изменений, а замененные значения выводить в отдельном столбце. Для этого в окне Настройка соответствия между столбцами мастера настройки узла Замена (шаг 2) на панели инструментов списка "Входные" необходимо указать Тип создания производных столбцов Добавление (см. также Интерфейс "Связи").

В этом случае в результирующий набор будет включен дополнительный столбец, к имени которого будет добавлен постфикс "_Replace", а к метке слово "Замена".


Статьи в разделе: