Перетворення рангу в Informatica за допомогою ПРИКЛАДУ

⚡ Розумний підсумок

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

  • 🥇 Верхнє або нижнє N: Властивість Top/Bottom та властивість Number of Ranks разом визначають, які рядки залишаться після фільтрації.
  • 🗂️ Рейтинг за групами: Групування за портами перезапускає рейтинг для кожної групи, тож кожен відділ може повернути свою власну трійку лідерів.
  • 🔢 Порт рангу: Рівно один порт має прапорець R, і саме цей стовпець є значенням, на основі якого розраховується рейтинг.
  • 📍 РЕЙТИНГ: Конструктор автоматично додає цей порт лише для виводу, щоб утримувати позицію кожного рядка всередині його групи.
  • 🧪 Приклад роботи: Вісім картping Кроки дизайнера завантажують трьох найвище оплачуваних працівників з кожного відділу в EMP_TARGET.
  • 💾 Кешовані та активні: Значення групи та дані рядків зберігаються в індексі та кеші даних, а кількість рядків змінюється.

Трансформація рангів в інформатиці

Що таке рангова трансформація?

Рангове перетворення – це активне та пов’язане перетворення, яке виконує фільтрацію даних на основі групи та рангів. Наприклад, якщо ви хочете отримати десять записів про працівників з найвищою зарплатою, такий вид фільтрації можна виконати за допомогою рангового перетворення.

Перетворення рангів також надає функцію ранжування на основі груп. Наприклад, якщо ви хочете отримати список десяти найвищих зарплатних працівників за відділами, ця група...ping можна зробити за допомогою цього перетворення.

Рангове перетворення є активним перетворенням, оскільки воно впливає на кількість вихідних рядків.

Перетворення рангу має вихідний порт, за допомогою якого воно призначає ранг рядкам. Цей порт називається RANKINDEX, і конструктор створює його автоматично, щойно перетворення додається до картаping.

Оскільки ранжування має порівняти кожен рядок у групі, перш ніж визначити, які рядки перемагають, служба інтеграції кешує вхідні дані. Значення групи надходять до кешу індексу, а решта даних рядків надходять до кешу даних, так само як кешований Столярне перетворення утримує свій головний конвеєр.

Порти в ранговій трансформації

Перш ніж розглядати приклад, корисно знати, що насправді робить кожен прапорець порту на вкладці «Порти», оскільки два з них виконують справжню роботу з цього перетворення.

Порт типу Що вона робить
Вхід (I) Отримує стовпець з перетворення вище по черзі. Кожен стовпець, пов'язаний з перетворенням Rank, є вхідним портом.
Вихід (O) Передає стовпець до наступного перетворення або до цілі.
Змінна (V) Зберігає локальне обчислення всередині перетворення, точно так само, як у перетворенні типу Expression.
Ранг (R) Позначає один стовпець, на основі якого розраховується рейтинг. Тільки один порт у перетворенні може нести цей прапорець.
Групувати за Перезапускає ранжування для кожного окремого значення, тому фільтр перших трьох повертає три рядки на групу, а не три рядки загалом.
РЕЙТИНГ Порт лише для виведення, створений конструктором. Він зберігає ранжування кожного рядка в межах своєї групи та може залишатися непідключеним.

Ранжування може здійснюватися лише для одного порту, тому така вимога, як «найвища зарплата, потім найдовший стаж», потребує підготовленого вище значення для визначення рівності, а не для порту другого рангу.

Як використовувати перетворення рангів в Informatica

Наша вимога — завантажити 3 найвищих зарплатних працівників для кожного відділу; ми реалізуємо це за допомогою перетворення рангів. Виконайте вісім кроків, наведених нижче на карті.ping Дизайнер.

Крок 1) Створити картуping маючи вихідний EMP та цільовий EMP_TARGET. Обидва визначення тепер знаходяться на полотні, як показано нижче.

картаping Конструктор, що показує визначення джерела EMP та визначення цілі EMP_TARGET

Крок 2) Тоді на картіping

  1. Виберіть меню трансформації
  2. Виберіть опцію створення

Далі показано меню «Трансформація» з опцією «Створити».

Меню трансформації відкрито на картіping Конструктор із виділеною опцією «Створити»

Крок 3) У вікні створення трансформації

  1. Виберіть перетворення рангу
  2. Введіть назву трансформації «rnk_salary»
  3. Виберіть кнопку Створити

Створити вікно трансформації з вибраним рангом та введеним ім'ям rnk_salary

Крок 4) Трансформація рангу буде створена на картіping, виберіть кнопку «Готово» у вікні. На полотні тепер відображається порожній об’єкт rnk_salary.

Трансформація рангу rnk_salary створена та розміщена на картіping полотно

Крок 5) Підключіть усі порти з кваліфікатор джерела до перетворення Ранг, щоб кожен стовпець співробітника був доступний для ранжування.

Усі порти кваліфікатора джерела, пов'язані з перетворенням рангу rnk_salary

Крок 6) Double Натисніть на перетворення рангу, і відкриється вікно «редагування перетворення». У цьому вікні

  1. Виберіть меню властивостей
  2. У властивості Top/Bottom виберіть опцію «Top».
  3. Введіть 3 у кількість рангів

На вкладці «Властивості» тепер відображається «Верхній» із трьома рангами, як показано на скріншоті.

Вкладка «Властивості» перетворення «Ранг» з вибраним параметром «Верхній» та введеною кількістю рангів «три»

Крок 7) Знову у вікні «редагування трансформації».

  1. Виберіть вкладку портів
  2. Виберіть групу за параметром для стовпця Номер відділу
  3. Виберіть Ранг у стовпці Зарплата
  4. Виберіть кнопку OK

На вкладці «Порти» тепер відображається прапорець групи для номера відділу та прапорець R для зарплати.

Вкладка «Порти» перетворення «Ранг» з групуванням за номером відділу та рангом, встановленим у стовпці «Зарплата»

Крок 8) З’єднайте порти з перетворення рангу з цільовою таблицею. Картаping тепер проходить від EMP через rnk_salary до EMP_TARGET.

Ранговані порти, пов'язані з перетворенням рангу rnk_salary з таблицею EMP_TARGET

Тепер збережіть картуping і виконати його після створення Сесія та робочийКваліфікатор джерела вибере всі записи, але перетворення рангу пройде лише записи, що мають три найвищі зарплати для кожного відділу.

Властивості перетворення рангів

Вкладка «Властивості», що використовувалася на кроці 6, містить більше, ніж два налаштування, що змінюються в прикладі. Наведені нижче налаштування контролюють, скільки рядків зберігається, як порівнюються рядки та куди записуються файли кешу.

властивість Що воно контролює
Зверху/Знизу Чи зберігаються для ранжованого стовпця найвищі чи найнижчі значення. У прикладі використовується Top.
Кількість рангів Скільки рядків повертається для кожної групи. У прикладі використовується 3, тому кожен відділ повертає трьох співробітників.
Порівняння рядків з урахуванням регістру Чи враховує порівняння рядків регістр літер під час ранжування. Це має значення лише тоді, коли порт ранжування містить текст.
Каталог кешу Каталог, у якому створюються файли індексу та кешу даних. За замовчуванням використовується змінна процесу $PMCacheDir.
Розмір кешу даних рангу Розмір кешу даних, що містить дані рядків. Значення за замовчуванням – «Авто», що дозволяє службі інтеграції визначати його розмір.
Розмір кешу індексу рангу Розмір кешу індексу, що містить значення групи. Значення за замовчуванням — «Авто».
Обсяг трансформації Застосовує ранжування до кожної транзакції або до всіх вхідних даних.
TracРівень Обсяг деталей, що записуються в журнал сеансу: Стислий, Звичайний, Багатослівна ініціалізація або Багатослівні дані.

Розмір кешу – це налаштування, яке варто переглянути для великих джерел. Коли кеш занадто малий, служба інтеграції записує сторінки на диск, що є одним із перших показників, що перевіряються під час налаштування продуктивності картиping.

Трансформація рангу проти трансформації агрегатора

Обидва перетворення активні, обидва кешують вхідні дані та обидва пропонують групування за портами, тому легко вибрати неправильний. Різниця полягає в тому, що з них виходить.

Точка порівняння Перетворення рангу Трансформація агрегатора
Мета Повертає верхні або нижні N повних рядків кожної групи Повертає обчислені значення, такі як SUM, AVG, MAX або MIN на групу
Повернені рядки До кількості рангів на групу, з усіма їхніми стовпцями неушкодженими Зазвичай один рядок підсумку на групу
Додано додатковий порт RANKINDEX, що містить позицію кожного рядка ніхто
Ранжований або агрегований стовпець Один порт позначено як порт рангу Будь-яка кількість портів, що містять агрегатні вирази

Простіше кажучи, Трансформація агрегатора відповідає на запитання «яка найвища зарплата в цьому відділі», тоді як перетворення рангу відповідає на запитання «які співробітники її заробляють». Коли потрібно відкинути лише підмножину рядків за простою умовою і не впорядковується, Трансформація фільтра є дешевшим варіантом, оскільки йому взагалі не потрібен кеш.

Поширені запитання

Ні. Ранг має лише зв'язок, тому він має знаходитися в потоці даних між двома об'єктами. Порт RANKINDEX може залишатися незв'язаним, але саме перетворення не можна викликати так, як викликається незв'язаний пошук.

Зв'язані рядки отримують однакове значення в індексі рангу, і перетворення пропускає наступне значення. Двоє співробітників, які ділять друге місце, тому обидва показують 2, а наступний рядок показує 4, а не 3.

Усе джерело розглядається як одна група, тому перетворення повертає лише загальну кількість рангів. Встановлення трьох рангів без групового порту дає трьох найвище оплачуваних працівників по всій компанії, а не по кожному відділу.

Так. Числові, рядкові та порти дати/часу можна позначити як порт рангу. Для тексту властивість порівняння рядків з урахуванням регістру визначає, чи впливає регістр літер на порядок, тому перевірте це перед запуском сеансу.

Не гарантовано. Трансформація вибирає, які рядки виживуть, вона не гарантує порядок, у якому вони досягнуть цілі. Додайте трансформацію сортування на порту RANKINDEX, коли порядок завантаження має значення.

A SQL Функція window позначає кожен рядок і залишає фільтрацію зовнішньому запиту. Трансформація Informatica позначає та фільтрує за один прохід і працює з плоскими файлами та іншими нереляційними джерелами, де немає механізму баз даних.

Моделі машинного навчання оцінюють записи за ймовірністю відтоку, шахрайства або конверсії, і цей бал стає ранжованим стовпцем. Консультанти зі штучного інтелекту також профілюють розміри груп, тому налаштування кешу та кількість рангів вибираються на основі реальних даних, а не здогадок.

Copilot створює еквівалентний запит віконної функції або Python швидко групує, що корисно для перевірки результатів. Він не може зчитати вашу картуping, тому розглядайте кожну пропозицію як чернетку та порівнюйте кількість рядків із журналом сеансу.

Підсумуйте цей пост за допомогою: