Преобразование ранга в Informatica с ПРИМЕРОМ
⚡ Умное резюме
Преобразование ранжирования в Informatica представляет собой активный связный объект, который сохраняет только верхние или нижние N строк каждой группы, присваивая каждой оставшейся строке позицию через автоматический выходной порт RANKINDEX.
Что такое трансформация рангов?
Преобразование рангов — это активное и связанное преобразование, которое выполняет фильтрацию данных на основе групп и рангов. Например, если вы хотите получить десять записей о сотрудниках с самой высокой зарплатой, такую фильтрацию можно выполнить с помощью преобразования рангов.
Функция ранжирования также позволяет ранжировать данные по группам. Например, если вы хотите получить список десяти самых высокооплачиваемых сотрудников по отделам, эта группа будет использоваться для ранжирования.ping Это можно сделать с помощью данной трансформации.
Преобразование ранга является активным преобразованием, поскольку оно влияет на количество выходных строк.
Преобразование Rank имеет выходной порт, через который оно присваивает ранг строкам. Этот порт называется RANKINDEX, и Designer создает его автоматически, как только преобразование добавляется в таблицу. картаping.
Поскольку для определения победителя ранжирования необходимо сравнить каждую строку в группе, служба интеграции кэширует входящие данные. Значения группы помещаются в индексный кэш, а остальные данные строк — в кэш данных, аналогично кэшированному кэшу. Столярное преобразование содержит свой основной трубопровод.
Порты в процессе преобразования ранга
Перед рассмотрением примера полезно знать, за что на самом деле отвечает каждый флаг порта на вкладке «Порты», поскольку две из них выполняют основную работу по преобразованию.
| Тип порта | Что она делает |
|---|---|
| Вход (Я) | Получает столбец из вышестоящего преобразования. Каждый столбец, связанный с преобразованием Rank, является входным портом. |
| Выход (О) | Передает столбец в следующее преобразование или в целевую систему. |
| Переменная (V) | Содержит локальные вычисления внутри преобразования, точно так же, как и в преобразовании типа «Выражение». |
| Ранг (R) | Отмечает единственный столбец, по которому рассчитывается рейтинг. Этот флаг может быть присвоен только одному порту в процессе преобразования. |
| Группа по | При этом ранжирование перезапускается для каждого уникального значения, поэтому фильтр по трем лучшим результатам возвращает три строки для каждой группы, а не три строки в целом. |
| РАНГИНДЕКС | Порт только для вывода, созданный дизайнером. Он хранит позицию каждой строки в своей группе и может оставаться неподключенным. |
Ранжирование может проводиться только по одному порту, поэтому для такого требования, как «самая высокая зарплата, затем самый длительный стаж работы», необходимо подготовить критерий разрешения спорных ситуаций на более раннем этапе, а не указывать порт, занимающий второе место в рейтинге.
Как использовать преобразование ранга в Informatica
Наша задача — загрузить данные о трёх самых высокооплачиваемых сотрудниках каждого отдела; мы реализуем это с помощью преобразования Rank. Выполните восемь шагов, описанных ниже на карте.ping Дизайнер.
Шаг 1) Создать картуping Имеются исходный ЭМИ и целевой ЭМИ_TARGET. Оба определения теперь отображаются на холсте, как показано ниже.
Шаг 2) Затем на картеping
- Выберите меню трансформации
- Выберите вариант создания
Далее отображается меню «Преобразование» с опцией «Создать».
Шаг 3) В окне создания трансформации
- Выберите преобразование ранга
- Введите имя преобразования «rnk_salary».
- Нажмите кнопку «Создать».
Шаг 4) Преобразование ранга будет создано на карте.pingНажмите кнопку «Готово» в окне. Теперь на холсте отображается пустой объект rnk_salary.
Шаг 5) Подключите все порты от квалификатор источника в преобразование Rank, чтобы каждый столбец с данными о сотрудниках был доступен для ранжирования.
Шаг 6) Double Нажмите на преобразование «Ранг», и откроется окно «Редактировать преобразование». В этом окне
- Выберите меню свойств
- Выберите опцию «Верх» в свойстве «Верх/Низ».
- Введите 3 в число рангов
Теперь на вкладке «Свойства» отображается «Лучшие» с тремя позициями, как показано на скриншоте.
Шаг 7) В окне «Редактировать трансформацию» снова
- Выберите вкладку портов
- Выберите группу по опции для столбца «Номер отдела».
- Выберите должность в столбце «Зарплата»
- Выберите кнопку ОК
Теперь на вкладке «Порты» номер отдела отображается с флагом группы, а зарплата — с флагом R.
Шаг 8) Соедините порты преобразования Rank с целевой таблицей. Картаping Теперь программа запускается из EMP через rnk_salary в EMP_TARGET.
Теперь сохраните карту.ping и выполнить его после создания Сессия и рабочийИсходный квалификатор получит все записи, но преобразование Rank передаст только записи, содержащие три высокие зарплаты в каждом отделе.
Свойства преобразования ранга
Вкладка «Свойства», используемая на шаге 6, содержит больше, чем две настройки, которые изменяются в примере. Приведенные ниже настройки определяют количество сохраняемых строк, способ сравнения строк и место записи файлов кэша.
| Свойства | Что он контролирует |
|---|---|
| Вверх / Вниз | Определяет, сохраняются ли для ранжированного столбца самые высокие или самые низкие значения. В примере используется столбец "Top". |
| Количество рангов | Сколько строк возвращается для каждой группы? В примере используется 3, поэтому для каждого отдела возвращается три сотрудника. |
| Сравнение строк с учетом регистра | Учитывается ли регистр букв при ранжировании строк? Это имеет значение только в том случае, если порт ранжирования содержит текст. |
| Каталог кэша | Каталог, в котором создаются файлы индекса и кэша данных. По умолчанию используется переменная процесса $PMCacheDir. |
| Размер кэша данных ранжирования | Размер кэша данных, хранящего данные строк. По умолчанию установлено значение «Авто», которое позволяет службе интеграции самостоятельно определять его размер. |
| Размер кэша индекса ранга | Размер кэша индекса, хранящего значения групп. По умолчанию — Авто. |
| Объем преобразований | Применяет рейтинг к каждой транзакции или ко всем входящим данным. |
| TracУровень | Уровень детализации записей в журнал сеанса: Краткий, Обычный, Подробный инициализация или Подробные данные. |
Размер кэша — это параметр, который стоит пересмотреть при работе с большими источниками. Если размер кэша слишком мал, служба интеграции выгружает страницы на диск, что является одним из первых параметров, проверяемых во время обработки больших данных. настройка производительности картыping.
Преобразование ранга против преобразования агрегатора
Оба преобразования активны, оба кэшируют свои входные данные и оба предлагают порты для группировки, поэтому легко выбрать не тот. Разница заключается в том, что получается в результате.
| Точка сравнения | Преобразование ранга | Преобразование агрегатора |
|---|---|---|
| Цель | Возвращает N полных строк верхней или нижней части каждой группы. | Возвращает вычисленные значения, такие как сумма. AVGМаксимальное или минимальное значение на группу. |
| Возвращенные строки | Количество рангов в группе, со всеми их столбцами в целости и сохранности. | Обычно одна сводная строка на группу. |
| Добавлен дополнительный порт | RANKINDEX, хранящий позицию каждой строки | Ничто |
| Ранжированный или агрегированный столбец | Один порт отмечен как порт ранга | Любое количество портов, передающих агрегатные выражения. |
Проще говоря, Преобразование агрегатора Функция Rank отвечает на вопрос «какова самая высокая зарплата в этом отделе», а функция Rank — на вопрос «какие сотрудники ее получают». Когда необходимо отбросить только подмножество строк при простом условии, и порядок не требуется, Фильтрация преобразования Это более дешевый вариант, поскольку ему вообще не требуется кэш.









