Você está na página 1de 234

PowerCenter 9.6.

1
PowerCenter 9x
Level I - Developer

Modulo 1: Overview

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


- Explicar a finalidade do PowerCenter.
- Definir termos utilizado no PowerCenter.
- Nome dos principais componentes.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

O Problema:

Grandes organizações possuem um elevado volume de dados.


Esses dados são armazenados em diversos formatos, incluindo
Base de Dados e estruturas de arquivos. Os Dados devem ser
compilados, combinados, comparados e trabalhar com um
conjunto homogêneo.
* Porém Base de Dados diferentes não se comunicam.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

O Problema:

Muitas organizações tem que implementar conectores entre essas


Bases. Cada par de Base de Dados necessita de um único conector.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

O Problema:

Se você alterar uma Base De Dados, muitos conectores terão que


ser atualizados..

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

A Solução: Data Integration

Tecnologia de Integração de Dados permite a aplicação utilizar


diferentes Base De Dados e formatos para comunicar uns com ou
outros usando uma conexão cada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Informatica PowerCenter

PowerCenter Informatica é melhor solução de integração de dados


Base de Dados - Comunica com qualquer banco de dados.
Transformações de dados convertem dados de uma aplicação para
outro formato.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Exemplo Migração de Dados

PowerCenter pode mover os dados de uma base para outra


preservando os dados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Exemplo Aplicação de Integração

A empresa A comprou empresa B


Para alcançar os benefícios da aquisição, o sistema de faturamento
da Companhia B deve ser integrada no sistema de faturamento da
empresa A.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Exemplo Data Warehousing


Os Data Warehousing colocam informações de diversas fontes em
conjunto para análise. Os dados são movidos de diferentes Bancos
de Dados para o Data Warehousing.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

ETL

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

ETL para Data Warehousing

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

ETL : Extração

PowerCenter realiza a leitura de dados, linha a linha da tabela ou


grupo de tabelas relacionadas na Base de Dados ou de um arquivo.
Esta Base de Dados ou arquivo são referenciadas no source
A estrutura do source contém o objeto de definição do source

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

ETL : Transformação

Powercenter converter as linhas para um formato que ele é capaz


de trabalhar.
A lógica para esta conversão é definida em objetos da
transformação

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

ETL : Carga

Powercenter grava dados, linha por linha, para uma tabela (ou
grupo de tabelas relacionadas) em um banco de dados, ou para um
arquivo.
Esse banco de dados ou arquivo é referido como target

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Mapping

Lógica que define o processo de ETL

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Transformations
Transformação recebe dados e transforma:
Novos campos
Modificam dados
Seleciona e transmitem dados

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Workflow

Um conjunto de um ou mais sessão projetado para realizar uma


finalidade.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Metadata

Definem dados e processos


Exemplos:
Definição de Sources e Targets
Tipo (flat file, base de dados tabela, arquivos XML, etc)
Tipo de Dados (string, integer, decimal, etc)
Mapeamento lógico
Workflow lógico
Armazena os metadados do repositório

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Overview
PowerCenter 9x
Level I - Developer

Arquitetura

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


- Explicar a finalidade do PowerCenter.
- Definir termos utilizado no PowerCenter.
- Nome dos principais componentes.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 2: Fundamentos

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


- Criar sources e targets definindo flat files e tabelas
relacionais.
-Criar um mapping utilizando um source existente e definindo
um target.
- Utilizando links e conectando nas ports.
- Criar session task.
- Criar e executar workflows.
- Analisar logs do workflows.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Source Qualifier

É o ponto onde o processamento do Informatica começa.


Realiza a leitura a partir dos sources.
O PowerCenter carrega as informações preservando o
mapeamento realizado e converte as informações nos tipos de
dados reconhecidos pela ferramenta.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Expression

São utilizados para manipulação de registro a registro.


Pode ser utilizado para realizar um cálculo, concatenar dados,
conversão de registros, geração de Hash MD5 e etc.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Filter

Recurso utilizado para selecionar os registros desejados.


Por padrão esse componente utiliza as condições aplicadas como
Verdadeira (TRUE), ou seja, qualquer condição que satisfaça o filtro
são encaminhadas para o próximo step.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Sorter

Recurso utilizado para classificar os registros em ordem crescente


ou decrescente.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Aggregator

Recurso utilizado para funções de agrupamento, tais como:


• SUM;
• AVG;
• MAX;

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Union

Componente utilizado para juntar vários tipos de fontes (sources).


É uma transformação que recebe várias entradas.
Não remove os registros duplicados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Router

Componente que recebe uma única entrada e transforma em


vários grupos de saída.
Em alguns casos, pode substituir a utilização de várias
transformações de um filter.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Update Strategy

Componente utilizado para funções de UPDATE, INSERT, DELETE ou


REJECT.
Recurso muito utilizado para mapeamento de dimensões ou
equalização de bases.
Utilizando essa transformação o controle não fica condicionado na
session task.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Update Strategy
DD_INSERT comando utilizado para inserir registros, é
representado pelo numeral 0.
DD_UPDATE comando utilizado para atualizar registros, é
representado pelo numeral 1.
DD_DELETE comando utilizado para excluir registros, é
representado pelo numeral 2.
DD_REJECT comando utilizado para rejeitar registros, é
representado pelo numeral 3.
Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Joiner

Componente utilizado para unir duas fontes heterogêneas.


Para utilização dessa transformação é exigido que pelo menos as
colunas selecionadas correspondem a ambas fontes, para realizar a
junção dos dados.
Uma transformação de joiner tem dois pipelines um chamado de
master e outro de detail.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Joiner

Por padrão a primeiro fonte selecionada torna-se detail e a outra


master.
É recomendável que a tabela master contenha menor número de
registros e a maior como detail, para melhorar o desempenho da
execução.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (lista parcial)

Lookup

Componente utilizado para pesquisar de um source, source


qualifier ou target dados relevantes.
Funciona bem parecido com o joiner, porém com algumas
particularidades.
Essa transformação funciona conectado ou desconectado.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (especializadas)

Transaction Control

Componente que permite controlar as transações de commit ou


roolback.
Por padrão o Integration Service realiza esse controle, porém a
ferramenta possibilita o desenvolvedor controlar as transações.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (especializadas)

Transaction Control

Suporta as seguintes variáveis:


TC_COMMIT_BEFORE o Integration Service grava o registro atual e
inicia o processamento de um novo registro.
TC_COMMIT_AFTER o Integration Service grava e escreve o registro
atual no target e inicia o processamento de um novo registro.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (especializadas)

Transaction Control

TC_ROLLBACK_BEFORE o Integration Service reverte o registro


atual e inicia o processamento de um novo registro.
TC_ROLLBACK_AFTER o Integration Service grava o registro atual no
target e reverte as alterações realizadas.
TC_CONTINUE_TRANSACTION esse é o valor padrão do
componente Transaction Control. O Integration Service não realiza
nenhuma operação de transação para o registro.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (especializadas)

Java
Componente que permite o código java dentro do PowerCenter.

Midstream XML Parser:


Componente que analisa XML em qualquer lugar do mapeamento.

Midstream XML Generator:


Componente que cria XML em qualquer lugar do mapeamento.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações (especializadas)

Leitura de XML, Aplicação e mensagens de aplicativos.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações Passivas

A transformação é considerada passiva, independentemente do


tipo de alteração que sofra, contando que saia a mesma
quantidade de linha da entrada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Transformações Ativas

A transformação é considerada ativa quando sofre alteração na


quantidade de saídas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

PowerCenter Designer

Provê ferramentas para definição e manipulação.


• Sources
• Targets
• Transformations
• Mappings
• Outros Objetos

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Componentes Designer

A tela do designer é dividida em 5 seções.


• Navigator;
• Workspace;
• Toolbar;
• Output/Control Panel
• Status Bar

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Navigator

É utilizado para conectar repositórios e abrir pastas.


Você pode copiar objetos e criar atalhos (shortcuts).
Permite reutilizar componentes existentes.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workspace

É a área de desenvolvimento para construção do código.


Possibilita abrir diferentes ferramentas.
1. Sources Analyzer;
2. Targets Designer;
3. Transformation Developer;
4. Mapplet Designer;
5. Mapping Designer;

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Toolbar

Exibe os componentes que podem ser utilizados na tela do


designer e outros atalhos;

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Output/control Panel

Exibe detalhes das tarefas executadas no PowerCenter.


Nessa seção é possível visualizar se a implementação é válida.
Para as implementações inválidas é exibida o motivo do erro.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Status Bar

Exibe o estado da operação atual.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Repositories

Os objetos são armazenados nos metadados dos repositórios.


Dentro de um repositório os objetos são organizados em pastas.

Repository Management são


criados na aplicação do painel de
administração do PowerCenter.
Folder Management são criadas
no aplicativo Repository Manager.
Shortcut Folders são objetos do
PowerCenter e não tem nenhum
relacionamento com os diretórios
do Windows.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Definições de Source

Define a estrutura de uma fonte


de dados, podendo ser tabela de
um banco de dados relacional ou
um arquivo (flat file).
Usando o Source Analyzer do
aplicativo Designer.
Habilita a visualização
das fontes.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Definições do Source

Na ferramenta do Designer são definidos os Sources.


As importações dos sources são definidas como:
• Relational database;
• Flat files;
• XML sources;
• Cobol sources;
• Aplicativos como SAP,
Siebel e PeopleSoft
• PowerExchange
• Mainframes

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Target Designer

Na ferramenta do Designer são definidos os Targets (Destinos).


No assistente de importação é possível importar:
• Relational database;
• Flat files;
• XML;
• Aplicativos como SAP
e fila MQ;

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Shortcuts

Shortcut é uma ligação dinâmica ao objeto original.


Geralmente são utilizados no target ou source.
Nem todas as pastas permitem a criação de shortcuts.
Para criar um shortcut arraste objeto de uma pasta aberta para
outra.
Pastas de atalho são exibidas com uma mão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Datatypes

PowerCenter deve "conhecer" os tipos de dados usados


internamente pelo Source e Target.
Estes são chamados tipos de dados nativos.
O Source Qualifier converte os dados do source para um formato
padrão utilizado internamente pelo PowerCenter.
Esta é a integração ou transformação do datatype.
O Target converte para o datatype nativo do destino.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Lab 2.1 – 2.2 Criar Mapping PowerCenter

Nesse exercício você deve:


• Criar Mappings para carregar
• STG_DEALERSHIP
• STG_PAYMENT

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Datatypes Conversão

Os datatypes são convertidos na:


• Passagem de dados entre portas com diferentes datatypes.
• Passagem de dados de uma expressão a uma porta.
• Utilizando funções de transformação
• Utilizando operadores aritméticos.
Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

PowerCenter Workflows

Um Workflow é um conjunto de tarefas ordenadas que


descrevem o processo de ETL em tempo de execução.
As tarefas podem ser executadas em série, em paralelos ou
condicionalmente.
Cada ícone conectado representa uma tarefa.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Manager

O Workflow Manager é aplicação do PowerCenter que permite o


desenvolvimento na construção das rotinas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Manager: Cria e Executa fluxos de trabalho

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Ferramentas do Workflow Manager

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Tarefas do Workflow

Session: Executa a lógica do mapeamento.


Command: Executa comando Externo.
Email: Envia email.
Decision: Escolhe o caminho do workflow.
Assignment: Define valores de variáveis.
Timer: Espera ou pausa por um tempo específico.
Control: Encerrar ou falhar um fluxo de trabalho.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Tarefas do Workflow

Event Wait: Aguarde para um evento


Event Raise: Produz uma tarefa de evento para trigger.

Uma tarefa é o conjunto executável de ações, funções ou


comandos.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Session Tasks: Executando um simples Mapping

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Links no Workflows

Indica o fluxo de controle de uma tarefa para a próxima.


O fluxo pode seguir em:
• Incondicionalmente (vários links são seguidos de uma única
tarefa.
• Usando tarefa de decisão(apenas uma direção é seguida).

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Executando o Workflow

Existem duas opções para iniciar o workflow, clicando como o


botão direito do mouse ou selecionar start workflow.
Passa o controle para o Monitor.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Monitor

Exibe todos workflows e tarefas em tempo real.


Fornece acesso para os logs e resultados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Monitor: Visualização da execução

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Monitor: Visualização de Tarefas

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Monitor: Stop, Abort, Restart

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Workflow Monitor: Stop, Abort, Restart

Comando Stop
• O comando finaliza o processo da tarefa.
Comando Abort
• É semelhante ao comando stop, porém aguarda um período
para iniciar a ação.
Comando Restart
• Reinicia a tarefa ou workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Lab 2.3 – 2.4 Criar Workflows PowerCenter

Nesse exercício você deve:


• Criar Workflows para carregar
• STG_DEALERSHIP
• STG_PAYMENT
• Monitorar os Resultados
• Avaliar os Resultados

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Mapping - Fundamentos
PowerCenter 9x
Level I - Developer

Lab 2.5 Análise de Logs do PowerCenter

Nesse exercício você deve:


• Examinar os Logs do Workflow e Session executados
anteriormente.
• Identificar as alocações de memória.
• Aprender a localização dos nomes do Workflow, pastas e
Integration Service dentro dos logs do Workflow e session.
• Identificar a declaração do SQL.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo:

Este módulo mostrou como:


- Criar sources e targets definindo flat files e tabelas
relacionais.
-Criar um mapping utilizando um source existente e definindo
um target.
- Utilizando links e conectando nas ports.
- Criar session task.
- Criar e executar workflows.
- Analisar logs do workflows.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 3: Troubleshooting

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Descrever erros básico do PowerCenter.
• Seguir uma metodologia para solução dos problemas.
• Utilizar workflow e logs de sessão para identificação de errors.
• Reconhecer e reparar erros de conexão e rede.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Workflow: Solucionando ligação de Tarefas

O objetivo do Workflow’s é chamar todas as tarefas. Se o Workflow


chamar todas as tarefas seu status será = SUCCEEDED
(Independentemente se uma tarefa falhou).
Se uma Session falhar, será necessário averiguar o motivo que
ocasionou a falha.
Determinar problemas e sua causa é mais fácil quando seguimos
uma metodologia para solução dos problemas comuns.
Uma vez identificado o problema, corrigimos e executamos
novamente o workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Falha de Sessions

Durante o desenvolvimento a maioria dos erros ocorrem no


Workflow Manager ou Designer.

Uma ação corretiva depende de cada log de erro exibido na


session.
Pesquise as mensagens dos logs de session e workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Overview para Solução de problemas

Clique nas propriedades para a session que falhou.


Verifique o Primeiro Erro na janela de Informações de Falhas.
Abra e examine o Log da Session para determinar o motivo do erro.
• Se não for possível obter o log da Session pegue o do
workflow.
Verifique se o erro pode ser corrigido pelo desenvolvedor do
PowerCenter ou se existe a necessidade de suporte personalizado.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Overview para Solução de problemas

Quando ocorre falha numa session, podemos visualizar as


propriedades aplicando um duplo clique ou clicando com o botão
direito e selecionando propriedades da execução.
Nas propriedades são exibidas as informações
da última execução.
Examine o primeiro erro na janela de informação
de falhas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Overview para Solução de problemas

Verifique os logs da session. Clicando com o botão direito ou utilize


o Get Session log. Tente ordenar os erros pelo campo Gravidade e
tente diagnosticar o primeiro erro.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Solução de problemas – Nenhum log Gerado?

Uma session pode falhar antes de criar o log.


Isso pode ocorrer quando o diretório para gravação do log está sem
espaço ou a session está inválida.
Tente verificar o motivo do primeiro erro.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Solução de problemas – Outras Opções

No Target grave em um arquivo flat file, para eliminar a


possibilidade de erro de Banco de Dados.
Utilize o Debugger.
Adicione saídas no seu mapping para verificar as possíveis saídas
dos registros.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Solução de problemas – Erros comuns de Conexão

Propriedades de Conexão definidas incorretamente


• Usuário PWC deve ter permissão para utilização da conexão.
• Conexão selecionada incorretamente, tabela não localizada.
• Conexões não definidas (target, source e lookup)
Erros de Digitação
• Senha do Banco de Dados.
Tipo de Carga Bulk
• Aplicado nas tabelas do Oracle com chave única.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Solução de problemas – Erros comuns de Conexão

Se existe indíce na tabela


destino e se o Target load type
estiver definido como Bulk.

Então o seguinte erro é apresentado para o desenvolvedor.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Solução de problemas – Erros comuns do Usuário PWC

Integration ou Repository Service não está em funcionamento.


Base de Dados indisponível ou está configurada incorretamente.
Variáveis da Lookup, $Source / $Target não está configurada.
Erro na session ou tarefa em execução.
Erro no mapeamento para session ou mapeamento excluído.
Source de arquivos com erros.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Registros Rejeitados

Todos Targets tem um arquivo de rejeição.

Visualize os arquivos rejeitados com a extensão .bad

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Troubleshooting
PowerCenter 9x
Level I - Developer

Lab 3: Diagnosticando Erros

Nesse exercício você deve:


• Executar uma session com problemas de Permissão de
conexão.
• Executar uma session com problemas de Arquivo de
Origens.
• Executar uma session com problemas na carga de destino.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo:

Este módulo mostrou como:


• Descrever erros básico do PowerCenter.
• Seguir uma metodologia para solução dos problemas.
• Utilizar workflow e logs de sessão para identificação de errors.
• Reconhecer e reparar erros de conexão e rede.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 4: Transformações,
Tarefas e Reusabilidades

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Utilizar Expressões de Transformações.
• Utilizar Filtros.
• Descrever Transformações reutilizáveis
• Funcionamento das listas de arquivo.
• Utilização de envio de Email do PowerCenter.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Expressão de Transformação

Realiza cálculos linha a linha, não realiza funções de agregação

Permite a utilização
de variáveis.
Cria expressões
numa porta de saída
ou variáveis.
Executa a maioria
das manipulações.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Expressão de Transformação: Exemplos de utilização

• Concatenação de campos textos.


• Cálculos matemáticos. (adição, multiplicação, divisão etc.. )
• Conversões de números para textos ou datas
• Declarações condicionais.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Editor de Expressão

• Uma expressão é um cálculo ou uma declaração condicional


para uma porta específica.
• Pode conter outras portas, funções, operações, variáveis e
retornar valores para outras transformações.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Funções possibilitam

• Manipulações de caracteres. ex: CONCAT,


UPPER
• Conversão de Tipo de Dados. ex: TO_CHAR,
TO_DECIMAL, TO_DATE.
• Corrigir e detectar erros. ex: ISNULL,
REPLACECHR.
• Operações Matemáticas. ex: SIN, COS, TAN.
• Condições Específicas. ex: IIF, DECODE

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Variáveis

• São utilizadas para simplificar operações complexas.


• Fornece armazenamento temporário de valores.

Quando um registro é
processado a expressão é
analisada e o resultado é
atribuído ao tipo de dados
da porta.
O resultado deve ser
compatível com o tipo de
porta criada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Ordem de Avaliação

PowerCenter avalia as portas na seguinte ordem:


• Entrada e Entrada/Saída.
• Variáveis.
• Saídas.
Variáveis são avaliadas na ordem que aparecem na guia. Torna-se
crítica quando uma variável depende da outra.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Validação das Expressões

Os botões de Validar e OK no editor de expressões, analisam


corretamente as expressões corrente para:

• Resolver referencias das portas de outras transformações.


• Analisam valores padrões.
• Verificam a ortografia, número de argumentos corretos das
funções e outros erros sintáticos.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Exemplo para utilização da Expressão

Iniciar a primeira inicial do campo, utilizamos a função INITICAP.


Verificar campos vazios, utilizamos a função ISNULL.
Verificar se os campos são Datas, utilizamos a função IS_DATE.
Verificar se os campos são Números, utilizamos a função
IS_NUMBER.
Contar números de erros detecdados ou corrigidos na porta da
variável.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Filtros

Passam linhas condicionalmente.

Linhas que satisfaçam o critério


são passadas para a próxima
etapa e o restante dos registros
são descartados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Filtros: Exemplos de utilização

Desejamos selecionar um período específico.


Desejamos selecionar clientes com renda específica.
Componente utilizado para selecionar apenas os registros que
desejamos trabalhar ou ser encaminhado para a próxima etapa.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

File Lists

Na tarefa de sessão, você pode trabalhar com vários arquivos com


uma única fonte de dados. (xml ou flat file).

Session processa o arquivo de cada vez.


Exemplo de lista de arquivo:
• d:\data\arquivo1.dat
• c:\arquivo2.dat
Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Transformações Reutilizável

Pode ser criado utilizando uma


transformação no Developer, ou
selecionando o componente no
Mapping Designer. Quando criada
basta apenas selecionar o objeto e
arrastar para o seu mapping.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Email Funcionalidade

Email pode ser enviado para o destinatário quando o Integration


Service executa um workflow.
• Configure o Integration Service para enviar um Email.
• Crie tarefas de Email.
• Configure a sua session para enviar um Email com a conclusão
de uma tarefa ou workflow.
• Configure workflow para enviar um Email com a suspensão da
sua rotina.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Email Funcionalidade

No endereço do nosso servidor do PowerCenter podemos editar


essas configurações. https://aprendendoetl:8443/administrator

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Email Funcionalidade

Post-Session Email
• Configure uma session para enviar Email quando
falhar ou finalizar com sucesso.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Email Funcionalidade

Um nome de usuário
de Email ou um grupo
de distribuição pode
ser inserido em
propriedades para
Sucessos ou Falhas. O
assunto e o texto
podem ser inseridos.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Tranformações, Tarefas e Reusabilidade
PowerCenter 9x
Level I - Developer

Lab 4.1 e 4.2 : Carregando área de Staging

Nesse exercício você deve:


• Lab 4.1 – Carregar a tabela de Cliente utilizando um filtro
para eliminar os registros indesejados e formatar os registros
utilizando expression.
• Lab 4.2 – Carregar a tabela de Empregados, utilizando uma
transformação criada anteriormente e reutilizar para
carregar a tabela.
• Ambos laboratórios utilizam listagem de arquivos.
• Emails devem ser enviados para o aluno.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Utilizar Expressões de Transformações.
• Utilizar Filtros.
• Descrever Transformações reutilizáveis
• Funcionamento das listas de arquivo.
• Utilização de envio de Email do PowerCenter.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 5: Joins e Condições de


Links

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Unificar Sources utilizando o Join no Source Qualifier.
• Trabalhar com bases diferentes utilizando o componente
Joiner.
• Utilizando condições para conectar o Workflow e determinar a
execução de sua session.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Join Homogéneos:

Combina dados de diferentes registros e tabelas da mesma base


relacional, relacionando chaves primárias e secundárias definindo
no Source Qualifier do PowerCenter, a junção dos dados é realizado
no Banco de Dados quando geramos o SQL.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Utilizando o Join no Source Qualifier

No atributo da transformação
entre com a condição para
selecionar os registros.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Relacionando chaves com o Sources

Quando as tabelas são do mesmo Banco De Dados e tem um chave


em comum.
Apenas um SQF é
necessário.
Se as tabelas de origem
são de banco de dados
distintos, então para
realizar essa ação
devemos utilizar o
componente Joiner.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Lab 5.1 : Mapeando Join Homogêneo

Nesse exercício você deve:


• Lab 5.1 – Utilizar um Source Qualifier para juntar as tabelas
Product e Product_Cost para carregar no destino
STG_Product.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Lab 5.2 : Troubleshoot Homogeneous Join

Nesse exercício você deve:


• Lab 5.2 – Corrigir um mapa e Workflow com erro de Join.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Joins Heterogéneo

São utilizados para unificar dados de diferentes Base de Dados,


como exemplo podemos utilizar para associar do Oracle com o
DB2, arquivos textos entre outros SGBD’s.
Nessa associação podemos utilizar 2 source( master e detail)

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Joiner Transformation

Executa a junção de dois fluxos de dados.

Transformação Ativa.
Portas
Entrada or Entrada/Saída
Um source é definido
como Master e outro com
Detail.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Joiner Exemplos

Verificar o lucro entre Promoções e Custo do Produto.


Promoções são dados de um flat file
Custo do Produto de um transacional.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Tipos de Join

Normal (inner) join – retornam apenas os


registros que atendam os critérios.

Master outer Join– mantém todos os registros


de Detail..

Detail outer join – mantém todos os registros


do Master.

Full outer join – mantém registros de ambos


relacionamentos.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Definindo Tipo de Join

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Definindo Tipo de Join

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Joiner Cache

Dois tipos de memória cache: index cache e data cache.


Todas as linhas da fonte Master são lidas no cache.
• Index cache – Contém valores de todas as portas da fonte
principal que fazem parte da condição do join.
• Data cache – Contém os valores de porta não especificados na
condição do join.
Após o cache ser carregado, cada linha do Detail é comparada com
os valores existentes no cache.
Após a junção, as linhas do cache são incluídas no fluxo de saída.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Habilitar configurações de Memória Automática

Configurar valores para:


• Memória máxima permitida para atributos de memória
automática – valores numéricos.
• Percentual máximo de memória total permitida para atributos
de memória automática – valores percentuais.
Definir para ambos valores
• O Integration Service compara os dois valores e utiliza o
menor valor e o valor máximo de memória limite.
• Se este valor é definido como 0 para nenhum atributo, o
Integration Service desabilita automáticamente as
configurações de memória e utiliza valores padrões.
Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Workflow Condições para Links

Em um Workflow:
• Podem existir várias tarefas que estão conectadas numa
ordem lógica.
• Estas ligações podem ser configuradas com uma condição.
• Utilizamos condições nos links para especificar ordem de
execução e criação de ramificações.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Workflow Condições para Links

Você pode definir condições para conectar seu workflow:


• Se a condição for verdadeira, então execute o próximo passo.
• Se a condição for falsa, então não execute o próximo passo.
Para configurar as condições nos links, aplique um duplo clique na
linha e digite a expressão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Links de Entrada

OR – Executa a tarefa quando uma condição for verdadeira.


AND – Executa as tarefas quando todas as condições forem
verdadeiras.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Joins e Condições de Links
PowerCenter 9x
Level I - Developer

Lab 5.3 : Mapeamento com Join Heterogêneo

Nesse exercício você deve:


• Lab 5.3 – Neste exercício você deve utilizar uma
transformação entre um flat file e um tabela relacional para
carregar no target STG_Transaction.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Unificar Sources utilizando o Join no Source Qualifier.
• Trabalhar com bases diferentes utilizando o componente
Joiner.
• Utilizando condições para conectar o Workflow e determinar a
execução de sua session.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 6: Utilizando Debugger

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Utilizar o assistente e barra de ferramentas para depurar um
mapeamento.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Debugger:

O Debugger é um assistente de ferramentas que executa uma


sessão de testes.
Permitindo:
• Acompanhar um registro do mapeamento de uma
transformação para outra.
• Configurar e modificar breakpoints dentro do mapeamento.
• Modificar dados e valores das variáveis.
O Debugger só funciona quando o mapeamento é válido.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Interface de Usuário Debugger

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Utilizando o Debugger

1. Pressione F9 para iniciar o Debugger.


2. Escolha uma session existente ou defina um só vez o debug.
• Carregar ou descartar os dados no Target.
• Salvar o debug para uso posterior no ambiente.
3. Monitorar as janelas do Debug
• Janela de Saída – visualiza o Debug ou os logs de saída.
• Janela de Instância de transformação – visualizamos os
dados transformação.
• Janela de instância Target – visualizamos os dados no
destino.
Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Utilizando o Debugger

4. Desloca ao longo da session


• Opções do Menu incluem:
• Next intance – Examina uma linha e como ele progride através das
transformações.
• Step to instance – Seleciona a transformação e percorre através dela.
• Mostra a instância atual.
• Continua
• Parar agora
5. Modificar dados e breakpoints
• Quando o depurador realiza uma pausa:
• Alterar Dados;
• Valores das variáveis.
• Adicionar ou alterar breakpoints.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Definindo Breakpoints

Editar Breakpoint
Escolhe a transformação
geral ou específica
Escolhe um break nos dados
de uma condição ou erro
Adiciona condições de dados
para breakpoint
Adiciona reakpoint

Continua para o próximo breakpoint

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Debugger
PowerCenter 9x
Level I - Developer

Lab 6 : Utilizando o Assistente do Debug

Nesse exercício você deve:


• Lab 6 – Neste exercício você deve utilizar um assistente do
Debug e ferramentas .

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Utilizar o assistente e barra de ferramentas para depurar um
mapeamento.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 7: Sequence Generator,


Lookups e tarefa workflow adicional

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Utilizar transformações de lookup para inclusão dos dados na
transformação do processo.
• Definindo propriedades da Lookup.
• Entendendo Sequence Generators.
• Utilizando propriedades Update numa tarefa de sessão.
• Utilizando Event Wait, Timer and Email Task.
• Esclarecendo caching Lookup
• Lookups Ativas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Funcionamento da Lookup:

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup: Transformação

Retornam valores de uma base de dados da tabela


ou flat file associados com os dados de entrada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup: Condição

Compara um ou mais campos de entrada com campos da origem


da lookup.
• Semelhante a cláusula WHERE do SQL.
• A transformação retornam valores que satisfaçam a condição.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup: Propriedade das Transformações

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup: Propriedade das Transformações

Determina quais linhas são retornadas quando a transformação


lookup encontra multiplos registros na condição informada.
Relatórios Erro. O Integration Service relata
um erro quando a lookup não retorna nada.
Se ativar a opção de relatar erros quando
retornarem mais de um registro a lookup
gera erro no processo.
Use First Value – para retornar o primeiro
registro da sua lookup.
Use Last Value – para retornar o último
registro da sua looku;
Use Any Values 0 Integration Service retorna
o primeiro registro da condição. É criado um
índice baseado na chave da porta ao invés de
todas as portas da Lookup

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup: Exemplo Simples

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup SQL – Utilizando First ou Last

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup SQL – Utilizando Any

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup SQL – Override SQL adicionando Order By

Você sabe que alguns campos não importam para classificação dos
registros, excluam eles da sua consulta e classifiquem de acordo
com o seu critério e logo após o final da instrução coloque “--“.

Os comentários informam ao PowerCenter que não será necessário


ordenar os registros, pois você já fez.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Propriedades da Session

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Linhas do Source tratar como

Propriedades da Session Geral


• Indica como o Integration Service trata todas as linhas do
source.
• Esta propriedade padrão de insert pode ser alterado para
Update ou Delete.
• Se no mapeamento da sessão contém um Update Strategy ou
transformação personalizada configurando o update strategy, o
padrão da opção é Data Driven.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Variáveis de Conexão $Source e $Target

Estas variáveis são


especificadas na
conexão quando você
quer que o Integration
Service utilize.
Podemos utilizar essas
variáveis nas Lookups.

Especificamos na conexão de base de dados cada vez que formos


utilizar.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Event Wait Task

Pausa processamento do pipeline até que o evento ocorra.


Eventos podem ser:
• Pré-definidos – observar o arquivo.
• Definidos pelo usuário – Criado pelo usuário tarefas de Evento
Raise em outras partes do workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Event Wait Task

Tarefa que aguarda a presença de um arquivo ou algum outro


evento definido pelo usuário. Lembrando que o Workflow deve
estar em execução a fim de reconhecer um evento específico.

Utilizamos esse componente quando necessitamos de um arquivo,


ou registros atualizados para prosseguirmos com os Workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Exemplo de Evento pré-definido

Session 2 não pode ser executado até que o relatório de vendas


diárias for gravado no servidor.
A tarefa de Evento é configurada para observar quando o arquivo
aparecer.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Exemplo de Evento pré-definido

Eventos definido pelo usuários devem ser declarados na aba de


eventos do Workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Tarefa Time

Espera por um período de tempo para executar a próxima tarefa.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Tarefa Email

Envia Email com o Workflow. Pode ser utilizado para criar uma
condição de sucesso ou falha de uma tarefa.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Tarefa Control

Para, falha ou
aborta o Worklet ou
Workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Control Options

Control Option Descrição


Fail Me Marca a tarefa de controle como “Falha”.
Fail Stop Marca a tarefa do workflow/worklet que falhou depois da conclusão workflow.
Stop Parent Parar o workflow/worklet que contém a tarefa de controle.
Abort Parent Aborta o workflow/worklet que contém a tarefa de controle.
Fail Top-Level Workflow Falha o workflow que estiver em execução
Stop Top-Level Workflow Parar o workflow que estiver em execução
Abort Top-Level Workflow Aborta o workflow que estiver em execução
Fail= Completo mas definido como “Failed”, Stop = Parar a execução após o comando desligar., Abort = Parar execução
imediatamente

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Command Task

Especifica um ou mais
comandos Unix ou shell
script, comando DOS ou
arquivo batch para o
Integration Service
executar durante o
workflow.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Command Task

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Decision Task

Testa as condições durante a execução do workflow e configura a


flag baseada nas condições.
Utilizamos uma condição no link para definir um fluxo de controle.
Podemos utilizar variáveis do Workflow na condição.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Decision Task: Exemplo

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lab 7.1 : Recarregar dados da ODS_Employees

Nesse exercício você deve:


• Utilizar um flat file de uma lookup da tabela
ODS_Employees com informações do salário.
• Utilizar uma “Treat Source Rows As” propriedades de uma
session para criar e atualizar cada linha que é processada na
session.
• Neste workflow você deve adicionar tarefas para verificar a
chegada do arquivo flat file.
• Se o arquivo não chegar você deve disparar um email.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lab 7.2 : Troubleshoot Lookup Variáveis de Conexão

Nesse exercício você deve:


• Copiar um mapping e workflow para a pasta Treinamento e
corrigir o erro da variável de conexão da lookup.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Sequence Generator Transformação

Gera chaves únicas para qualquer porta em uma linha.

Utilizado para gerar


chaves primárias.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Sequence Generator Transformação

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Sequence Generator Propriedades

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lab 7.3 : Construindo Cache do Source

Nesse exercício você deve:


• Extrair registros da tabela STG_Dates e utilizar a sequence
generator para criar uma chave única para carregar a tabela
ODS_Dates.
• Os registros carregado na tabela ODS_Dates serão utilizados
em outros exercícios.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup Cache

Usa índice e dados de cache.


• Índice Cache contém valores de todas as portas que fazem
parte da condição da lookup.
• Dados de cache contém valores de todas conexões
output/lookup que não fazem parte da condição da lookup.
Após carregar o cache, valores de todas entradas da Lookup que são
partes da condição são comparadas com o índice do cache.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lookup Caching Properties

Lookup caching enabled.


• Cache da tabela da lookup fica no
servidor
• Para lookup de tabelas relacionais
ganho de desempenho porque
executa um SQL SELECT.
Lookup cache persistent.
• Cache armazenado no disco do
servidor e utilizado na próxima sessão.
Re-cache from lookup source.
• Recarrega lookup de cada tabela da
session.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lab 7.4 : Utilizando um Cache Persistente

Nesse exercício você deve:


• Utilizar o cache da lookup persistente criado anteriormente
para carregar os registros ODS_Promotions .

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Multiplas linhas retorno Lookups

Configure a lookup para retornar todos os registros correspondentes.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Multiplas linhas retorno Lookups


A política de registros múltiplos da Lookup.
• Defini padrão de retorno todos os valores.
• Ficará somente como leitura.
• Não poderá alterar as propriedades depois de criada a
transformação.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Regras e Diretrizes

O Integration Service armazena todas as linhas do source da lookup


para pesquisas em cache.
Você pode configurar um SQL override para cached/uncached lookup
que retorna múltiplos campos.
Você não pode habilitar cache dinâmico para uma lookup que retorna
múltiplos campos.
Você não pode retornar múltiplos campos para uma lookup
desconectada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Regras e Diretrizes

Você pode configurar várias transformações para compartilhar o


nome do cache se a lookup tem condições correspondentes do
registros.
Uma transformação de lookup que retorna multiplas linhas não pode
compartilhar o cache da lookup que retorna uma linha
correspondente.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sequence Generator, Lookups e tarefa Workflow
PowerCenter 9x
adicional Level I - Developer

Lab 7.5 : Carregar a tabela Customer_Billing

Nesse exercício você deve:


• Utilizar múltiplos registros retornados da Lookup para
somar o custo total e número total de pedidos de cada cliente
de uma companhia.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Utilizar transformações de lookup para inclusão dos dados na
transformação do processo.
• Definindo propriedades da Lookup.
• Entendendo Sequence Generators.
• Utilizando propriedades Update numa tarefa de sessão.
• Utilizando Event Wait, Timer and Email Task.
• Esclarecendo caching Lookup
• Lookups Ativas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 8: Update Strategies, Routers


e Overrides

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Identificar e compreender a utilização de Update Strategy.
• Definição da Expressão Update Strategy.
• Detalhe da Transformação de Router.
• Entendendo e utilizando Grupos no Router.
• Utilizando Overrides.
• Empregar valores de Port Padrão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Update Strategy Trasnformation

Especifica como cada registro da tabela destino é atualizado,


inserido, deletado e rejeitado baseado na expressão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Update Strategy

O Update Strategy define um conjunto de sinalizadores para cada


linha.
• DD_INSERT – Comando responsável por inserir registros na
tabela.
• DD_UPDATE – Comando responsável por atualizar registros na
tabela.
• DD_DELETE – Comando responsável por deletar registros na
tabela.
• DD_REJECT – Comando responsável por rejeitar registros,
gravamos em um arquivo para analise posterior.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Registros Rejeitados

Todos os Targets tem um arquivo de Rejeição.

Verifique o arquivo .bad para registros rejeitados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Router

Redireciona os registros para diferentes destinos de acordo com a


regra aplicada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Router: Grupos

O grupo sempre tem uma entrada.


O usuário define os grupos de saída.
Cada grupo tem uma condição.
Todos grupos são avaliados por cada
registro.
As portas de saída sem conexão são
ignoradas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Router: Funcionalidades

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Port Default Values

Toda transformação utiliza um valor padrão que determinar como o


powercenter lida com a entrada de registros nulos e como será a
saída desses registros.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Source Qualifier Overrides

O SQF permite as substituições dos comandos relacionais da fonte:

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Target Update Override

Por padrão as tabelas são atualizadas baseando nos valores das


chaves . Podemos alterar no target e editar o comando SQL.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Session Task Mapping Overrides (source)

Você pode substituir alguns qualificador do source no mapeamento


da sessão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Session Task Mapping Overrides (target)

Você pode substituir alguns qualificador do target no mapeamento


da sessão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Update Strategies, Routers and Overrides
PowerCenter 9x
Level I - Developer

Lab 8 : Carregar a Dimensão Empregados

Nesse exercício você deve:


• Utilizar um router para testar cada registro novo.
• Utilizar um Update Strategy.
• Utilizar overrides.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Identificar e compreender a utilização de Update Strategy.
• Definição da Expressão Update Strategy.
• Detalhe da Transformação de Router.
• Entendendo e utilizando Grupos no Router.
• Utilizando Overrides.
• Empregar valores de Port Padrão.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9.6.1
PowerCenter 9x
Level I - Developer

Modulo 9: Sorting e Aggregating


Dados Utilizando o PowerCenter

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Objetivo Módulo:

Após completar esse módulo você estará apto:


• Aprender sobre a transformação Sorter .
• Utilizar a transformação Aggregator.
• Definição de Lookups desconectadas.
• Utilizar Parâmetros e variáveis no Mapeamento.
• Arquivos de Parâmetros
• Utilização de Mapplets.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Transformação Sorter

Ordenam os dados de uma ou mais portas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Transformação Sorter: Propriedades

Case Sensitive – Diferenciar Maiúsculas e


Minúsculas.
Work Directory – Define o local para criação
de arquivos temporários.
Distinct – Seleciona todos os registros como
chave.
Null Trated Low – Trata os valores nulos
como os mais baixos.
Transformation Scope – Define o escopo no
qual a transformação é realizada nos dados
de entrada.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Transformação Sorter: Propriedades

Todos os dados de entrada são armazenados em cache antes de


serem ordenados e armazenados na memória do cache.
Tamanho da memória cache pode ser configurada na propriedade.
• Para uma melhor performance é recomendado configurar o
tamanho do cache menor ou igual o da memória RAM da
máquina do Integration Service.
• Se o valor for muito alto o Integration Service pode falhar.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Aggregator Transformation

Executa funções de cálculos.


Podem ser criadas
variáveis , são
permitidas as funções
de agrupamento.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Aggregator Propriedades

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Aggregator Cache

Existem Dois tipos: Índice e Dados


• Índice - contém os valores de portas agrupadas.
• Dados – contém valores de todas as portas, incluindo variáveis
e portas de saída.
• Uma linha de saída é retornada para cada ocorrência única de
um grupo de portas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Aggregate Expression

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Concatenação de Dados

Determina se algumas portas podem ignorar a transformação.


Somente funciona se:
• Combina ramos da mesma origem do pipeline e não pode
existir uma transformação ativa.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lookup Desconectada

Geralmente utilizada quando desejamos retornar apenas uma


coluna.
Sem links para outras transformações.
Dados da Lookup são chamados a partir de um ponto específico do
mapeamento com o auxílio de uma função.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lookup Desconectada Funcionalidade

Um valor da porta da lookup pode ser retornado para cada lookup.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lookup Desconectada: Exemplo

Quando precisamos recuperar um percentual de registros que


estão faltando .

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lookup Desconectada: Chamada

Exemplo de como utilizar uma lookup com uma condição.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lookup : Conectada Versus Desconectada

Conectada Desconectada
Parte do fluxo de dados do mapeamento Separado do fluxo de dados do mapeamento
Retorna múltiplos valores Retorna apenas um valor.
Executado por todos os registros da transformação Executado apenas quando é chamado
Mais visível, exibe onde são utilizados os valores da Menor visibilidade, exibe apenas com o auxílio de uma outra
lookup. transformação
Valores padrões são utilizados Valores padrões são ignorados.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Joins Versus Lookups

Source Qualifier Join Joiner Lookup


Vantagem
Pode relacionar com diversas Pode relacionar com várias Bases Pode utilizar o cache de Outras
tabelas do mesmo SGBD. SGBD, com bases não relacionais. Pode sessões, mapas, modificar cache
Funcionalidade total do padrão juntar os dados parcialmente dinamicamente, escolher se utiliza ou
SQL . Pode reduzir o volume de não o cache, relacionar com tabelas ou
dados da rede. arquivos. Tem suporte a SQL Override,
pode ser conectada ou desconectada.
Desvantagem
Só pode unir-se com bases Pode unir-se com apenas 2 entradas Somente retorna um campo e o valor
relacionais e afeta a performance por vez, somente suporta o equijoin OR não é suportado
do Banco de Dados. não suporta outras condições como
“OR”.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Variáveis do Sistema

A linguagem de transformação fornece


variáveis internas.
Variáveis internas retornam valores tanto
em tempo de execução como informações
internas.
Variáveis internas podem retornar valores
do nome da tabela, pasta, workflow,
session modo de execução.
Variáveis do sistema retorna valores do
horário de execução da session, data ...

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Parâmetros e Variáveis do Mapping

Representam valores declarados:


• Variáveis que podem modificar durante a execução.
• Parâmetros permanecem constante durante a execução.
Aplica-se para todas transformação com um mapeamento.
Declarado no mapeamento no menu.
• Formato é $$NomeVariável ou $$NomeParâmetro
Proporciona maior flexibilidade de desenvolvimento.
Pode ser utilizado no comando pre e post-SQL.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Parâmetros e Variáveis do Mapping: Declaração

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Parâmetros e Variáveis do Mapping: Utilização

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Parâmetros e variáveis prioridade na inicialização

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Arquivo de Parâmetro

Pode ser utilizado para definir valores de parâmetros e variáveis no


mapeamento.
Pode associar parâmetros com o serviço ou processo de serviços que
se aplicam a qualquer workflow ou sessão ou processo de serviço
incluindo:
• Workflow
• Worklet
• Session
Arquivo tem que ser criado com um editor de texto.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Arquivo de Parâmetro

Pode ser aplicado para:


• Session – propriedades de tarefa individualmente.
• No Workflow inteiro e com todas as sessões.
• Ou cada tarefa da session pode ter o próprio arquivo de
parâmetro ou arquivo de parâmetro da seção.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Arquivo de Parâmetro

Também pode ser


inicializado utilizando o
comando pmcmd quando
se inicia uma tarefa da
session.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Arquivo de Parâmetro

Definido no workflow ou propriedades da Session.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Arquivo de Parâmetro

Os parâmetros são
referenciados dentro
das propriedades da
session ou workflow .

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lab 9.1 : Carregar a Tabela Fact_Sales

Nesse exercício você deve:


• Utilizar uma dimensão pré populada para carregar a tabela
Fact_Sales.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets

Um Mapplet contém transformações e pode ser incorporado em um


mapping. Mapplet combina vários objetos de um mapping para
reutilização.
Um mapplet recebe dados de entrada a partir de
qualquer fonte interna ou pipeline de um mapping que
chama o mapping.
Um mapplet deve passar dados para o mapeamento
via transformação de saída.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets Designer

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets Transformação Entrada

Somente as portas de
saída.
Apenas as portas
conectadas a partir de
uma transformação de
entrada para outra
transformação será
exibido no mapplet Ligar a porta para
resultante mais de uma
transformação não é
permitido

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets Transformação Entrada Exemplo

A transformação de Entrada do Mapplet recebe as


transações de venda para processamento.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets Transformação Saída

Passar os dados a partir de um mapplet em um mapeamento

Somente as portas de saída.


Apenas as portas ligadas a uma
transformação de saída será exibida
no mapplet resultante.
Um ou mais mapplets são
necessárias em cada mapplet

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets Transformação Saída: Exemplo

As transações de saída retorna as transações para o Mapping

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets com vários grupos de saída

Pode produzir várias instâncias da mesma tabela de destino


Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Grupos de saída do mapplets não mapeados


Quando o mapplet é
expandido em tempo de
execução uma porta
desconectada pode resultar
em erro. Se as saídas do
mapplet são alimentadas por
uma expression, então
estaria errado. No caso de
um roreamento não teria
problemas pois o routers
podem ter portas
desconectadas.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Fonte de Dados definidas dentro do Mapplet

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplets: Passiva e Ativa

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Mapplet Parâmetro e Variáveis

Utilização similar a realizada no mapping.


Definido no menu options  Mapplets  Parameters e Variables.
O Parâmetro ou Variável definida no mapplet não é visível no
mapping principal e secundário.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
Sorting e Aggregating Dados Utilizando o PowerCenter
PowerCenter 9x
Level I - Developer

Lab 9.2 : Criando um Mapplet

Nesse exercício você deve:


• Criar um mapplet

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves
PowerCenter 9x
Level I - Developer

Resumo

Este módulo mostrou como:


• Aprender sobre a transformação Sorter .
• Utilizar a transformação Aggregator.
• Definição de Lookups desconectadas.
• Utilizar Parâmetros e variáveis no Mapeamento.
• Arquivos de Parâmetros
• Utilização de Mapplets.

Diego Spinella - SP
www.aprendendoetl.com.br Esp. Marcelo Afonso Alves