Перетворення рангу в Informatica за допомогою ПРИКЛАДУ
⚡ Розумний підсумок
Рангове перетворення в Informatica — це активний, зв'язаний об'єкт, який зберігає лише верхні або нижні N рядків кожної групи, призначаючи кожному рядку, що залишився, позицію через свій автоматичний вихідний порт RANKINDEX.

Що таке рангова трансформація?
Рангове перетворення – це активне та пов’язане перетворення, яке виконує фільтрацію даних на основі групи та рангів. Наприклад, якщо ви хочете отримати десять записів про працівників з найвищою зарплатою, такий вид фільтрації можна виконати за допомогою рангового перетворення.
Перетворення рангів також надає функцію ранжування на основі груп. Наприклад, якщо ви хочете отримати список десяти найвищих зарплатних працівників за відділами, ця група...ping можна зробити за допомогою цього перетворення.
Рангове перетворення є активним перетворенням, оскільки воно впливає на кількість вихідних рядків.
Перетворення рангу має вихідний порт, за допомогою якого воно призначає ранг рядкам. Цей порт називається RANKINDEX, і конструктор створює його автоматично, щойно перетворення додається до картаping.
Оскільки ранжування має порівняти кожен рядок у групі, перш ніж визначити, які рядки перемагають, служба інтеграції кешує вхідні дані. Значення групи надходять до кешу індексу, а решта даних рядків надходять до кешу даних, так само як кешований Столярне перетворення утримує свій головний конвеєр.
Порти в ранговій трансформації
Перш ніж розглядати приклад, корисно знати, що насправді робить кожен прапорець порту на вкладці «Порти», оскільки два з них виконують справжню роботу з цього перетворення.
| Порт типу | Що вона робить |
|---|---|
| Вхід (I) | Отримує стовпець з перетворення вище по черзі. Кожен стовпець, пов'язаний з перетворенням Rank, є вхідним портом. |
| Вихід (O) | Передає стовпець до наступного перетворення або до цілі. |
| Змінна (V) | Зберігає локальне обчислення всередині перетворення, точно так само, як у перетворенні типу Expression. |
| Ранг (R) | Позначає один стовпець, на основі якого розраховується рейтинг. Тільки один порт у перетворенні може нести цей прапорець. |
| Групувати за | Перезапускає ранжування для кожного окремого значення, тому фільтр перших трьох повертає три рядки на групу, а не три рядки загалом. |
| РЕЙТИНГ | Порт лише для виведення, створений конструктором. Він зберігає ранжування кожного рядка в межах своєї групи та може залишатися непідключеним. |
Ранжування може здійснюватися лише для одного порту, тому така вимога, як «найвища зарплата, потім найдовший стаж», потребує підготовленого вище значення для визначення рівності, а не для порту другого рангу.
Як використовувати перетворення рангів в Informatica
Наша вимога — завантажити 3 найвищих зарплатних працівників для кожного відділу; ми реалізуємо це за допомогою перетворення рангів. Виконайте вісім кроків, наведених нижче на карті.ping Дизайнер.
Крок 1) Створити картуping маючи вихідний EMP та цільовий EMP_TARGET. Обидва визначення тепер знаходяться на полотні, як показано нижче.
Крок 2) Тоді на картіping
- Виберіть меню трансформації
- Виберіть опцію створення
Далі показано меню «Трансформація» з опцією «Створити».
Крок 3) У вікні створення трансформації
- Виберіть перетворення рангу
- Введіть назву трансформації «rnk_salary»
- Виберіть кнопку Створити
Крок 4) Трансформація рангу буде створена на картіping, виберіть кнопку «Готово» у вікні. На полотні тепер відображається порожній об’єкт rnk_salary.
Крок 5) Підключіть усі порти з кваліфікатор джерела до перетворення Ранг, щоб кожен стовпець співробітника був доступний для ранжування.
Крок 6) Double Натисніть на перетворення рангу, і відкриється вікно «редагування перетворення». У цьому вікні
- Виберіть меню властивостей
- У властивості Top/Bottom виберіть опцію «Top».
- Введіть 3 у кількість рангів
На вкладці «Властивості» тепер відображається «Верхній» із трьома рангами, як показано на скріншоті.
Крок 7) Знову у вікні «редагування трансформації».
- Виберіть вкладку портів
- Виберіть групу за параметром для стовпця Номер відділу
- Виберіть Ранг у стовпці Зарплата
- Виберіть кнопку OK
На вкладці «Порти» тепер відображається прапорець групи для номера відділу та прапорець R для зарплати.
Крок 8) З’єднайте порти з перетворення рангу з цільовою таблицею. Картаping тепер проходить від EMP через rnk_salary до EMP_TARGET.
Тепер збережіть картуping і виконати його після створення Сесія та робочийКваліфікатор джерела вибере всі записи, але перетворення рангу пройде лише записи, що мають три найвищі зарплати для кожного відділу.
Властивості перетворення рангів
Вкладка «Властивості», що використовувалася на кроці 6, містить більше, ніж два налаштування, що змінюються в прикладі. Наведені нижче налаштування контролюють, скільки рядків зберігається, як порівнюються рядки та куди записуються файли кешу.
| властивість | Що воно контролює |
|---|---|
| Зверху/Знизу | Чи зберігаються для ранжованого стовпця найвищі чи найнижчі значення. У прикладі використовується Top. |
| Кількість рангів | Скільки рядків повертається для кожної групи. У прикладі використовується 3, тому кожен відділ повертає трьох співробітників. |
| Порівняння рядків з урахуванням регістру | Чи враховує порівняння рядків регістр літер під час ранжування. Це має значення лише тоді, коли порт ранжування містить текст. |
| Каталог кешу | Каталог, у якому створюються файли індексу та кешу даних. За замовчуванням використовується змінна процесу $PMCacheDir. |
| Розмір кешу даних рангу | Розмір кешу даних, що містить дані рядків. Значення за замовчуванням – «Авто», що дозволяє службі інтеграції визначати його розмір. |
| Розмір кешу індексу рангу | Розмір кешу індексу, що містить значення групи. Значення за замовчуванням — «Авто». |
| Обсяг трансформації | Застосовує ранжування до кожної транзакції або до всіх вхідних даних. |
| TracРівень | Обсяг деталей, що записуються в журнал сеансу: Стислий, Звичайний, Багатослівна ініціалізація або Багатослівні дані. |
Розмір кешу – це налаштування, яке варто переглянути для великих джерел. Коли кеш занадто малий, служба інтеграції записує сторінки на диск, що є одним із перших показників, що перевіряються під час налаштування продуктивності картиping.
Трансформація рангу проти трансформації агрегатора
Обидва перетворення активні, обидва кешують вхідні дані та обидва пропонують групування за портами, тому легко вибрати неправильний. Різниця полягає в тому, що з них виходить.
| Точка порівняння | Перетворення рангу | Трансформація агрегатора |
|---|---|---|
| Мета | Повертає верхні або нижні N повних рядків кожної групи | Повертає обчислені значення, такі як SUM, AVG, MAX або MIN на групу |
| Повернені рядки | До кількості рангів на групу, з усіма їхніми стовпцями неушкодженими | Зазвичай один рядок підсумку на групу |
| Додано додатковий порт | RANKINDEX, що містить позицію кожного рядка | ніхто |
| Ранжований або агрегований стовпець | Один порт позначено як порт рангу | Будь-яка кількість портів, що містять агрегатні вирази |
Простіше кажучи, Трансформація агрегатора відповідає на запитання «яка найвища зарплата в цьому відділі», тоді як перетворення рангу відповідає на запитання «які співробітники її заробляють». Коли потрібно відкинути лише підмножину рядків за простою умовою і не впорядковується, Трансформація фільтра є дешевшим варіантом, оскільки йому взагалі не потрібен кеш.








