Преобразование агрегатора - это активное преобразование, используемое для выполнения агрегированных вычислений, таких как сумма, среднее и т. Д.
Например, если вы хотите посчитать сумму зарплат всех сотрудников отдела, мы можем использовать преобразование агрегатора.
Агрегатные операции выполняются над группой строк, поэтому для хранения всех этих записей и выполнения вычислений требуется временный заполнитель.
Для этого используется кеш-память агрегатора. Это временная основная память, которая выделяется преобразованию агрегатора для выполнения таких операций.
В этом примере мы рассчитаем сумму зарплат по отделам. Для этого нам потребуется новый столбец для хранения этой суммы. Итак, в первую очередь подготовим новую колонку.
Шаг 1. Создайте новую целевую таблицу базы данных, например, «sum_sal_deptwise», используя приведенный ниже сценарий. На следующем шаге вы увидите, что новая целевая таблица базы данных создается в целевой папке.
Загрузите указанный выше файл Create_table_sal_deptwise.txt
Шаг 2 - Создайте новое отображение «m_ sum_sal_deptwise».
Чтобы создать новое сопоставление, нам нужна исходная таблица (EMP) и целевая таблица (sum_sal_deptwise) в дизайнере сопоставления, для чего нам нужно
- Импортируйте целевую таблицу "sum_sal_deptwise" в отображение.
- Импортируйте исходную таблицу emp.
Шаг 3 - В отображении
- В квалификаторе источника удалите столбцы empno, ename, job, mgr, hiredate и comm, оставив только столбцы deptno и sal.
- Создайте новое преобразование агрегатора, используя меню панели инструментов, как показано на снимке экрана. При нажатии на значок агрегатора будет создано новое преобразование агрегатора.
Шаг 4. Перетащите столбцы SAL и DEPTNO из квалификатора источника (SQ_EMP) в преобразование агрегатора.
Шаг 5 - Дважды щелкните преобразование агрегатора, чтобы открыть его свойства, а затем
- Добавить новый порт в преобразование
- Переименуйте имя порта в SUM_SAL
- Измените тип данных этого нового порта на удвоение
- Сделайте этот порт портом вывода, установив флажок напротив порта вывода.
- Нажмите на вариант выражения
Шаг 6 - В окне выражения
- Добавьте выражение-сумму (SAL), вы должны написать это выражение.
- Нажмите кнопку ОК, это вернет окно редактирования преобразования.
Шаг 7 - В окне редактирования трансформации выберите опцию «GroupBy», установив флажок напротив столбца deptno и нажмите Ok (выбирая group by напротив deptno, мы инструктируем Informatica группировать зарплаты по deptno)
Шаг 8 - Свяжите столбцы deptno и sum_sal из преобразования агрегатора с целевой таблицей
Теперь сохраните сопоставление и выполните его после создания нового сеанса для этого сопоставления. Целевая таблица будет содержать сумму зарплат по отделам. Таким образом, мы можем использовать преобразование агрегатора для вычисления агрегированных результатов.