Enviado por Do utilizador5125

04 - Transformações (1)

Propaganda
Transformações Ativas e Passivas

Transformações Passivas:



Não altera o número de linhas – mesmo número de linhas que
entra, sai.
Exemplos: Expression and Lookup transformations
Transformações Ativas:


Pode alterar a quantidade de linhas (Agrupando, filtrando, etc.)
Exemplos: Aggregator, Filter, Joiner transformations
Source Qualifier

Seleciona dados de flat files e bases relacionais. Para
bases relacionais, cria uma consulta SQL.
Ativa
As portas representam as
colunas da tabela ou os
campos de um arquivo
texto.
Todas as portas são de
input/output (I/O)
Padrão de Nomenclatura:
<DSQ>_<descrição>, onde
descrição entende-se por
nome da tabela ou conjunto
de tabelas do qual estão
sendo extraídos os dados.
Expression Transformation

Executa calculos linha a linha (sem agregação)
Passiva
O campo Expression fica
disponível apenas nas
portas de saída (O) ou
Variável (V)
Padrão de Nomenclatura:
<EXP>_<descrição>
Filter Transformation

Filtra linhas de acordo com uma condição
Ativa
Todas as portas são de
input/output (I/O)
A condição do filtro é
sempre verdadeira, ou seja,
os registros que atendem a
condição passam para a
próxima transformação.
Padrão de Nomenclatura:
<FIL>_<descrição lógica>
Sorter Transformation

Ordena os registros por uma ou mais portas
Ativa
Todas as portas são de
input/output (I/O)
A forma de ordenação
(ascendente ou
descendente) pode ser
definida para cada chave
Na aba Properties existe a
opção distinct
Padrão de Nomenclatura:
<SRT>_<descrição>
Joiner Transformation

Realiza joins heterogêneos em dois fluxos de dados
Ativa
As portas podem ser de
input ou input/output
Padrão de Nomenclatura:
<JNR>_<tabela
master>_<tabela detail>,
onde entende-se por tabela
o ultimo objeto do fluxo, já
que pode haver um joiner
no meio do fluxo. Caso isso
aconteça apenas à descrição
do objeto deve fazer parte
da formação do nome do
joiner, sem a necessidade
do seu prefixo.
Uma origem de dados deve ser designada
como Master. Para melhor performance esta
deve ser a com menor quantidade de linhas
Joiner Transformation (cont.)
Join Types
Normal Join: Retorna
somente as linhas que
atendam a condição
Master Outer Join:
Retorna todas as linhas do
Detail e as correspondências
no Master
Detail Outer Join: Retorna
todas as linhas do Master e
as correspondências no
Detail
Full Outer Join: Retorna
todas as linhas do Master e
do Detail mesmo não tendo
encontrado a condição
Define a condição do Join
Lookup Transformation

Retorna valores de uma tabela ou um arquivo texto
baseado em um valor de entrada
Passiva
As portas de output/lookup
(O/L) são o retorno da LKP,
caso a condição não seja
atendida, retorna NULL
Padrão de Nomenclatura:
<LKP>_<nome da tabela>
ou _<objetivo fim do
lookup>
Define a condição da Lookup
Lookup Transformation (cont.)

Propriedades:
Lookup Transformation (cont.)

Unconnected Lookup
Uma porta deverá ser
Marcada como retorno
A chamada desta Lookup
será feita como uma Função
dentro da transformação
Expression
Esta tranformção não será
ligada por links a nenhuma
outra transformação, ficará
“solta” no mapa
Sequence Generator Transformation

Gera um seqüencial
Passiva
Não possui porta de
Input e as portas
existentes não podem
ser alteradas.
Padrão de
Nomenclatura:
<SEQ>_<nome da
coluna>
Sequence Generator Transformation
(cont.)
Aggregator Transformation

Realiza cálculos com agregações
Ativa
As portas marcadas
como GroupBy serão
usadas como “chave”
na agregação
Padrão de
Nomenclatura:
<AGG>_<nome da
tabela> ou
_<descrição>.
Nos casos em que a
dimensão tempo
aparece, ela deverá ser
colocada no nome.
As portas de Output ou
Variáveis podem receber
Expressões
Aggregator Transformation (cont.)

Aggregate Expressions
Aggregator Transformation (cont.)

Propriedades
Router Transformation
QTD_PRODUTO < 50
QTD_PRODUTO >= 50
AND
QTD_PRODUTO < 200
QTD_PRODUTO >=200
Router Transformation

Envia as linhas para diferentes direções
baseado em filtros
Ativa
Padrão de
Nomenclatura:
<RTR>_<descrição
lógica dos
grupamentos>
Router Groups
 Grupo de entrada
 Grupos de saída definidos pelo
usuário
 Cada grupo atende a uma condição
 As condições de TODOS os grupos
são avaliadas a cada linha
 A mesma linha pode atender a mais de
uma condição
 As linhas que não atendem a
nenhuma das condições definidas,
caem no Default group
Update Strategy Transformation

Ativa
Especifica a ação de cada linha na tabela de destino
(insert, update, delete, ou reject) baseado em uma
expressão
Padrão de
Nomenclatura:
<UPS>_<nome do
target>_<operação>,
onde operação pode
ser: upd,ins,del,rej.
Caso o update
strategy, dependendo
de uma condição,
possa executar
operações diferentes,
todas devem constar
no nome.
Update Strategy Expressions

Exemplo: IIF(ISNULL(COD_PRODUTO_lkp),
DD_INSERT, DD_UPDATE)




As opções são: DD_INSERT(0), DD_UPDATE(1),
DD_DELETE(2), DD_REJECT(3)
A condição é testada a cada linha
É gerado um SQL apropriado para cada
operação: Insert, Update, Delete
DD_REJECT não é enviado para o banco, apenas
é informado no log
Stored Procedure Transformation

Executa uma SP
Passiva
Pode ser conectada ou
desconectada
Pode ser executada
antes ou depois do
Source ou do Target
Padrão de
Nomenclatura:
<SP>_<nome da
stored procedure>
Union Transformation

Une fluxos de dados
Ativa
Podem ser criados
vários grupos de
entrada.
Não remove registros
duplicados.
Padrão de
Nomenclatura:
<UNI>_<descrição>
Normalizer Transformation

Normaliza os registros
Ativa
Transforma colunas em
linhas, gerando novos
registros.
Padrão de
Nomenclatura:
<NRM>_<descrição>
Download