A transformação Agregador permite definir os grupos para agregações, em vez de executar a Agregação em todos os dados de entrada. Por exemplo, em vez de encontrar as vendas totais da empresa, você pode encontrar as vendas totais agrupadas por região.
Para definir um grupo para a expressão agregada, selecione as portas apropriadas de entrada, entrada/saída, saída e variáveis na transformação Agregador. Você pode selecionar múltiplos grupos por portas, a fim de criar um novo grupo para cada combinação exclusiva. Em seguida, o Serviço de Integração executa a agregação definida para cada grupo.
Quando você agrupa os valores, o Serviço de Integração produz uma linha para cada grupo. Se você não agrupar os valores, o Serviço de Integração retorna uma linha para todas as linhas de entrada. O Serviço de Integração tipicamente retorna a última linha de cada grupo (ou a última linha recebida) com o resultado da agregação. No entanto, se você especificar uma linha específica para ser retornada (por exemplo, usando a função FIRST), o Serviço de Integração retorna então a linha especificada.
Ao selecionar múltiplos grupos por portas na transformação Agregador, o Serviço de Integração usa a ordem da porta para determinar a ordem do agrupamento. Uma vez que a ordem de agrupamento pode afetar os resultados, faça-a por portas para garantir o agrupamento apropriado. Por exemplo, os resultados do agrupamento por ITEM_ID e depois QUANTITY podem ser diferentes de quando você agrupa por ITEM_ID e depois QUANTITY, porque os valores numéricos para a quantidade não são necessariamente exclusivos.
A seguinte transformação Agregador agrupa primeiro por STORE_ID e depois por ITEM:
Se você enviar os seguintes dados por esta transformação Agregador:
STORE_ID
ITEM
QTY
PRICE
101
'battery'
3
2.99
101
'battery'
1
3.19
101
'battery'
2
2.59
101
'AAA'
2
2.45
201
'battery'
1
1.99
201
'battery'
4
1.59
301
'battery'
1
2.45
O Serviço de Integração executa o cálculo agregado nos grupos exclusivos a seguir:
STORE_ID
ITEM
101
'battery'
101
'AAA'
201
'battery'
301
'battery'
Em seguida, o Serviço de Integração transfere a última linha recebida, junto com os resultados da agregação, conforme segue: