Você está na página 1de 242

Informatica PowerCenter 9.

x
Level I Developer - Laboratório

Esp. Marcelo Afonso Alves

1
WWW.AprendendoETL.com.br

Conteúdo
Lab Atividade 2.1 : Criar Mapping STG_Dealership ........................................................................................................... 3
Lab Atividade 2.2 : Criar Mapping STG_Payment ............................................................................................................ 18
Lab Atividade 2.3 : Criar Workflow STG_Dealership ....................................................................................................... 28
Lab Atividade 2.4 : Criar Workflow STG_Payment .......................................................................................................... 39
Lab Atividade 2.5 : Visualizando Eventos de Log ............................................................................................................. 46
Lab Atividade 3 :Troubleshooting .................................................................................................................................... 55
Lab Atividade 4.1 :Transformações, Tarefas e Reusabilidade ....................................................................................... 103
Lab Atividade 4.2 :Carregando a tabela Employees ...................................................................................................... 123
Lab Atividade 5.1 :Join Homogêneo .............................................................................................................................. 126
Lab Atividade 5.2 :Resolvendo problemas de Joins Homogêneos ................................................................................ 137
Lab Atividade 5.3 : Joins Heterogêneos e condições nos Links ..................................................................................... 139
Lab Atividade 6 : Utilizando o Assistente Debug ........................................................................................................... 146
Lab Atividade 7.1 : Utilizando uma Lookup para carregar ODS Employeed.................................................................. 155
Lab Atividade 7.2 : Resolução de Problemas: Variáveis de conexão $Source ............................................................... 177
Lab Atividade 7.3 : Utilizando a Sequence Generator para carregar os dados da tabela ODS_DATES ......................... 184
Lab Atividade 7.4 : Criando um cache de Lookup para carregar o Target ODS Promotion........................................... 189
Lab Atividade 7.5 : Lookups Ativas ................................................................................................................................ 199
Lab Atividade 8 : Atualizando Targets no PowerCenter ................................................................................................ 204
Lab Atividade 9.1 : Utilizando PowerCenter para carregar a tabela FACT_SALES......................................................... 219
Lab Atividade 9.2 : Criando um Mapplet. ...................................................................................................................... 230

2
Lab Atividade 2.1 : Criar Mapping STG_Dealership
Cenário:

Você vai criar um mapeamento para carregar os dados de uma concessionária (Dearleship)
para o destino de uma tabela relacional STG_DEALERSHIP.

Objetivo:

 Aprender a navegar na pasta do repositório.


 Endender o propósito da ferramenta do Designer
 Criar e salvar um source e definindo um target e shortcuts.
 Aprender como acessar e editar os objetos de conexões da base de dados.
 Criar um simples mapeamento

Duração:
30 minutos

3
1. Vamos iniciar a nossa máquina Virtual selecionando o Usuário AprendendoETLpwc a
senha para acessar a máquina é aprendendoetl

2. Aguarde uns minutos para carregar todas as configurações, e vamos iniciar o servidor
do PowerCenter. Clique em inciar Todos os programas

4
3. Escolha Informatica 9.6.1 -> Server --> Start Informatica Services

4. Verifique se o servidor reiniciou digitando o endereço no navegador chrome.


https://aprendendoetl:8443/administrator . Surgindo a tela abaixo significa que o
servidor está ativo.

5
5. Vamos iniciar o PowerCenter Designer selecionando o ícone verde com um D na
barra de tarefas.

6. Nessa etapa vamos clicar no ícone com um raio para logar no PowerCenter.

7. Digite Aluno01 para o usuário e Senha Aluno01 e clique em conectar.

6
8. Selecione a pasta Treinamento e clique em Abrir.
 Aplicando um duplo clique na pasta
 Clicando com o botão direito do mouse e selecionando Abrir
 Clicando no ícone abrir.

9. Selecione o ícone "Source Analyzer" e clique em Origens e selecione Importar do


Banco de Dados.

7
10. Na janela importar tabelas, selecione a fonte de dados ODBC

11. Selecione Fonte de dados do usuário e clique em Adicionar, selecionando "Data


Direct 7.1 Oracle Wire Protocol ", clicando em Concluir.

8
12. Nessa etapa vamos configurar a conexão com o banco de dados, Usuário STG01 e
senha STG01

13. Nessa etapa vamos importar a tabela STG_DEALERSHIP e clique em OK para finalizar.

9
14. O objeto foi importado para a sua pasta de trabalho, clique em salvar (ctrl + s) para
definir o objeto no repositório, na janela de saída será definida a notificação do
objeto.

15. Selecione o ícone "Target Designer" e clique em Destino e selecione Importar do


Banco de Dados.

10
16. Em Destinos selecione, Importar do Banco de Dados, e vamos criar uma conexão
com a base ODS01. Vamos selecionar uma fonte de dados ODBC para importarmos o
objeto da base de dados, conectando com a base de dados ODS01. Usuário ODS01
Senha ods01

11
17. Vamos selecionar a tabela DEALERSHIP para realizar o processo de carga, clique em
OK e depois aplique o comando "crtl + s", para salvar o arquivo no seu repositório.

18. Vamos selecionar na barra de ferramentas a opção Mapping Designer.

12
19. Selecione a opção Mapeamentos Criar

20. Digite o nome "MPG_DEALERSHIP_LAB02" para o mapeamento criado.


**** Note que ao definirmos o nome utilizando as 3 primeiras iniciais MPG para
informar que se trata de um mapeamento, depois colocamos o nome da tabela de
destino DEALERSHIP , essa é uma boa prática utilizada no mercado para facilitar a
manutenção no PowerCenter.

13
21. Aplique o comando "Ctrl + s" para salvar o arquivo no repositório e verifique na
janela de saída que o mapeamento será considerado inválido. Isso acontece porque a
ferramenta Designer, verifica se existe pelo "source" e um "target", conectados pelas
portas.

22. Vamos na área de Navegação e vamos selecionar os objetos:


 rigem (STG_DEALERSHIP)
 Destino (DEALERSHIP)
Arrastando para área de trabalho.

14
23. Uma boa prática utilizada no mercado é renomearmos os objetos, inseridos para
facilitar a manutenção. Isso pode variar da instituição, algumas empresas não se
preocupam com a padronização deixando a critério do desenvolvedor.
No nosso treinamento vamos adotar um padrão para definirmos os sources, target,
expression, agregattor, filters, Lookups, Joinners e todos os outros componentes.
Aplique um duplo clique no objeto Source Definition ou clique com o botão direito e
selecione a opção editar, alterando o nome do objeto para SRC_STG_DEALERSHIP.

24. Realize esse mesmo procedimento para alterar o objeto "Source Qualifier" para
SQF_STG_DEALERSHIP.

15
25. Realize esse mesmo procedimento para alterar o objeto "Target Definition" para
TGT_DEALERSHIP.

26. Com as alterações feitas, vamos conectar as Origens nos seus respectivos destinos.
Clique com o botão direito na área de trabalho e selecione Vinculação Automática

16
27. Nessa janela escolha a vinculação por nome e clique em OK.

28. Pronto com todas as portas conectadas o seu mapa deve ficar assim:

29. Clique em Salvar para o seu trabalho ser registrado no repositório do powercenter e
na janela de saída verifique a mensagem.

17
Lab Atividade 2.2 : Criar Mapping STG_Payment
Cenário:

Precisamos carregar um arquivo (flat file) para a nossa base de Dados. Porém, não existe
uma tabela que possa receber os dados desse arquivo. Você deve criar um mapeamento
para carregar esse arquivo e gerar o comando DDL no PowerCenter para criar a tabela
Payment.

Objetivo:

 Aprender como criar um mapping que carrega informações de um arquivo flat file
numa tabela relacional .
 Aprender a criar e definir um source de um arquivo flat file.
 Criar uma tabela física utilizando o comando DDL gerado pelo PowerCenter.
 Aprender como acessar e editar os objetos de conexões da base de dados.
 Criar um simples mapeamento

Duração:
30 minutos

18
1. Se você não estiver logado no PowerCenter Designer Tools, inicie o procedimento
conforme o Lab 2.1 .
2. Clique na área de trabalho do "Source Analyzer" com o botão direito e selecione
"Limpar Tudo"

3. No menu Origens, clique em Importar do Arquivo.

4. Na janela aberta, localize o arquivo em:


C:\Informatica\9.6.1\server\infa_shared\SrcFiles\payment.txt

19
5. No assistente de importação, selecione Delimitado, Importar nomes de campos da
primeira linha. e clique em Avançar.

6. Na próxima etapa, escolha o delimitador do arquivo.

20
7. Nessa etapa é possível definir o tipo de Dados do arquivo e o comprimento do
campo. Clique em Concluir para finalizar o assistente de importação.

8. Note que na Janela de Navegação apareceu o arquivo informando que se trata de um


arquivo FlatFile, clique em salvar para gravar as informações no repositório do
Powercenter.

21
9. Arraste o objeto payment do source definition para o Target Designer

10.Vamos editar esse target e modificá-lo o tipo do banco de dados e renomear para
STG_PAYMENT., e clique em OK. e grave as alterações no repositório do
PowerCenter.

22
11. Observe que a pasta do Target foi modificada na janela de Navegação.

12. Vamos no menu do Destino e selecione Gerar/Executar SQL ...

13.Nessa janela clique em conectar para realizar a conexão com o banco de dados.

23
14. Clique para selecionar a Fonte de dados DES_STG_01_ORACLE digitando o Usuário
STG01 e senha STG01 e clique em Conectar.

15. Altere o nome do Arquivo, marque as opções conforme a figura em anexo e Gerar
arquivo SQL.

16. Verifique na janela de saída o resultado da operação.

24
17. Selecione Editar arquivo SQL para visualizar o comando DDL.
Como não existe a tabela STG_PAYMENT, vamos retirar do arquivo e clicar em salvar
e em seguida fechar o arquivo e selecionar Gerar e executar o script.

18. Observe se o comando foi processado na janela de saída do PowerCenter.

19. Verifique se o comando foi criado com sucesso, vamos selecionar a ferramenta SQL
Developer que está localizada na área de trabalho da máquina virtual.

25
20.Verifique a tabela foi criada, com as devidas colunas..

21. Finalize o sqldeveloper e vamos retornar para o PowerCenter para criarmos o


mapping MPG_STG_PAYMENT_LAB02_2.

26
22. Arraste os objetos do Source (flat file payment) e do Target (STG_PAYMENT).e salve
o mapa.

27
Lab Atividade 2.3 : Criar Workflow STG_Dealership
Cenário:

Você vai criar um workflow com uma conexão relacional para carregar os dados Dealership
para STG_Dealership.

Objetivo:

 Aprender o objetivo da ferramenta Workflow Manager.


 Criar uma tarefa de session para carregar o mapa e configurar a conectividade.
 Criar um Workflow para carregar e executar a Session.
 Executar o Workflows e monitorar os resultados.

Duração:
15 minutos

28
1. Vamos iniciar o Workflow Manager selecionando o ícone laranja com um W na barra
de tarefas.

2. Clique em conectar e entre com o Usuário e Senha. (Aluno01 - Aluno01)

3. Selecione a pasta do projeto e clique em Abrir, em seguida selecione Workflow


Designer na barra de ferramentas.

29
4. Selecione o Menu "Fluxo de Trabalho" e selecione criar.

5. Apague o nome padrão e coloque o nome de WKF_STG_DEALERSHIP_LAB02 e clique


em OK.

30
6. Para criar uma tarefa de sessão, clique no ícone na barra de tarefas, conforme
demonstrado na figura abaixo e clique na área de trabalho para incluir o objeto.

7. Na janela de Mapeamentos, será exibida todos os mapeamentos criados. Selecione o


mapa MPG_DEALERSHIP_LAB02 e clique em OK.

8. Vamos incluir nesse workflow um link para designar a sequencia da execução.

31
9. Selecionando o objeto e pressionando a tecla "ctrl" e possível conectar a Início na
nossa Session.

10. Agora vamos editar a nossa session, alterando o nome da sessão utilizando as boas
práticas de mercado. SSN_DEALERSHIP_LAB02.

32
11. Vamos criar uma conexão relacional, pois propositalmente não disponibilizei uma
conexão nessa máquina virtual.
Vamos criar e editar as duas conexões relacionais. Uma para obter os dados da STG01
e outro da ODS01, selecione o ícone abaixo para criar conexão relacional.

12. Selecione o tipo de banco e insira o nome e senha do usuário. Crie uma conexão
ODS01 e STG01.

33
13. Vamos selecionar a session "SSN_STG_DEALERSHIP_LAB02" aplicando um duplo
clique no objeto, clique na aba "Mapeamento" e selecione a opção Origens para
editarmos a conexão que pertence a origem dos dados, selecionando a conexão
relacional STG01.

14. Na propriedades de Nível da Sessão, vamos informar para a conexão o dono da


tabela e nome da tabela que a conexão STG01 realizará a leitura dos dados.

34
15. Vamos em Destinos e selecionar a TGT_DEALERSHIP e configurar a conexão para
ODS01, vamos selecionar a opção Target load type para Normal.
*******************************************
* Aqui fica a dica entre a diferença entre carga Normal e Bulk.
Na carga Bulk insere uma grande quantidade de dados no destino, melhorando o desempenho da sessão,
porém se existirem índices nas tabelas você deve desabilitar antes de carregá-los, caso contrário a sessão irá
falhar. Um outro detalhe é que caso a sessão falhe não será possível realizar o roolback no banco.
Na carga Normal é possível voltar o banco caso os dados falhem.
*******************************************

16. Informe para o powercenter o dono da tabela e o nome da tabela de destino

35
17. Clique em OK e salve o workflow no repositório do projeto.

18. Para iniciar o workflow clique com o botão direito e selecione a opção "iniciar Fluxo
de Trabalho".

36
19. Ao iniciar o Workflow o Monitor será acionado e podemos acompanhar o resultado
da execução, navegue no repositório na pasta Treinamento e execute

20. Você pode visualizar os dados inserido no Mapping Designer, abra o mapa criado e
clique com o botão direito no TGT_DEALERSHIP e clique em visualizar dados.

37
21. Informe o usuário e senha e clique em Conectar.

38
Lab Atividade 2.4 : Criar Workflow STG_Payment
Cenário:

Você vai criar um workflow com um arquivo flat file para carregar os dados Payment para
STG_Payment.

Objetivo:

 Aprender o objetivo da ferramenta Workflow Manager.


 Criar uma tarefa de session para carregar o mapa e configurar a conectividade.
 Criar um Workflow para carregar e executar a Session.
 Executar o Workflows e monitorar os resultados.

Duração:
15 minutos

39
1. Vamos iniciar o Workflow Manager selecionando o ícone laranja com um W na barra
de tarefas.

2. Clique em conectar e entre com o Usuário e Senha. (Aluno01 - Aluno01)

3. Selecione a pasta do projeto e clique em Abrir, em seguida selecione Workflow


Designer na barra de ferramentas.

40
4. Selecione o Menu "Fluxo de Trabalho" e selecione criar.

5. Apague o nome padrão e coloque o nome de WKF_STG_PAYMENT_LAB02_2 e clique


em OK.

41
6. Crie uma session e selecione o mapeamento MPG_STG_PAYMENT_LAB02_2 e clique
em OK.

7. Na próxima etapa clique em link para conectar o seu workflow com o início da tarefa.

8. Clique na session e altere o nome para SSN_PAYMENT_LAB02_2.

42
9. Aplique um duplo clique no objeto session e vamos configurar o source, apontando o
caminho do arquivo flat file.

$PMSourceFileDir é a variáel que o PowerCenter aponta para o caminho


C:\Informatica\9.6.1\Server\infa_sha
red\SrcFiles.

43
10. No destino altere a conexão para STG01 e o tipo de carregamento para Normal.

11. Insira o nome do proprietário da tabela e nome da tabela. e clique em OK e salve o


workflow no repositório do PowerCenter.

44
12. Execute o workflow conforme descrito anteriormente e visualize no monitor a
execução da carga.

Na ferramenta Designer, clique com o botão direito e selecione visualizar os dados para
verificar os dados carregados, lembrando que você deve seguir as orientações aplicadas no
exercício anterior.

45
Lab Atividade 2.5 : Visualizando Eventos de Log
Cenário:

Seu workflow foi executado com sucesso. Vamos analisar o que foi gerado nos logs de
execução.

Objetivo:

 Aprender como acessar os logs do workflow e session no Workflow Monitor.


 Identificar a memória alocada.
 Aprender a localizar o nome do workflow, pasta e Serviço de Integração em ambos
registros dos logs de Workflow e Session.

Duração:
15 minutos

46
1. Vamos iniciar o Workflow Monitor selecionando o ícone lilás com um M na barra de
tarefas.

2. Clique em conectar e entre com o Usuário e Senha. (Aluno01 - Aluno01)

3. Navegue nas pastas e selecione o workflow WKF_DEALERSHIP_LAB02 e clique com o


botão direito selecionando Obter Log do fluxo de Trabalho.

47
4. Abra o Evento de Log do Workflow.

5. Identificar o ID de execução do workflow.

6. Observe a conexão do início e a session tem um expressão vazia. Pois nesse exercício
não utilizamos uma expression.

48
7. Observe o nome do nó que a sessão foi executada.

8. Observe o nome do usuário, domínio do usuário que está conectado no repositório.

49
9. Observe a mensagem de execução com sucesso da session e workflow.

Para visualizar o log da session

10. Clique com o botão direito no mouse SSN_STG_DEALERSHIP_LAB02 e clique "Obter


Log de Sessão"

50
11. Abra a janela de Eventos de Log da session.

12. Observe o nome do Repositório, Pasta, Workflow e o mapa executado.

13. Observe a versão do Integration Service o nó de execução e a versão do software.

51
14. Observe que o intervalo de atualização é de 10000 .

15. Observe a declaração do SQL gerado e que não existe nenhuma chave primária.

16. Observe o início da sessão e a tabela de destino.

52
17. Observe a quantidade de registros lidos.

18. Observe o início e término da execução.

53
19. Visualize o resumo da execução da sessão.

54
Lab Atividade 3 :Troubleshooting

Cenário:

Agora que você possui um pouco de experiência. Seu Gerente encaminhou um incidente de
um workflow que não consegue rodar no ambiente de produção, nesse workflow contém
erros que precisam ser corrigidos.

Objetivo:

 Aprender a importar mappings e workflows para área compartilhada.


 Identificar erros dentro dos mappings e workflows.
 Aprender como utilizar a interface do powercenter para obter os logs que auxiliaram
na identificação dos erros.

Duração:
120 minutos

55
1. Vamos iniciar o Repository Manager para criarmos uma pasta no projeto como erros.

2. Clique em conectar utilizando o seu usuário e senha ( Aluno01 - Aluno01).

3. Selecione o Repositório do projeto e clique no menu Pasta --> Criar...

56
4. Vamos criar uma pasta chamada Erros, e selecionar a opção de criar atalho, na aba
Propriedades da pasta.

5. Na aba permissões é possível atribuir acesso para um grupos ou usuários. Clique em


Ok para criar a pasta no nosso projeto.

57
6. Vamos importar os workflows disponibilizados no google drive Turma_PWC_2016_01
--> Lab03.
 wkf_U3_LabA_Load_STG_PAYMENT_xx.XML
 wkf_U3_LabB_Stage_Product_xx.XML
 wkf_U3_LabC_Load_Stage_Dealership_Promotions_xx.XML

7. Salvando os arquivos na área de trabalho do windows.

8. Vamos retornar para ferramenta do Repository Manager para realizar a importação


dos objetos copiados. Selecione a Pasta Erros e clique em Repositório --> Importar
Objetos.

58
9. Vamos importar o Objeto " wkf_U3_LabA_Load_STG_PAYMENT_xx.XML"

10. Na próxima etapa do assistente de importação, será informado todo conteúdo do


workflow, selecione Adicionar Tudo e clique em Avançar.

59
11. Nessa etapa o assistente informa a pasta de origem do arquivo e a pasta de destino
do arquivo. Clique em Avançar.

12. Na próxima etapa é possível criar regras para definir possíveis conflitos. Clique em
Avançar.

60
13. Foi detectado conflitos, a mensagem é que o workflow selecionado substituíra o
objeto na pasta de destino. Para todas as opções dessa etapa vamos selecionar
Substituir.

61
14. Na próxima etapa existe um conflito dos objetos existentes na pasta de trabalho,
como houve a criação dos objetos recentemente e não houveram modificações,
optamos por reutilizar os objetos existentes. Clique em Avançar.

15. Na próxima etapa, o assistente informa um resumo das ações realizadas para
resolução do conflito. Clique em Fechar para ir para a próxima etapa do assistente de
importação.

62
16. Nessa etapa do assistente é realizado uma análise antes da importação dos dados,
caso exista alguma pendência teríamos que resolver. Clique em importar para realizar
a importação dos objetos.

17. Nessa etapa é apresentado um resumo do que foi realizado.

63
18.Vamos realizar a importação do objeto " wkf_U3_LabB_Stage_Product_xx.XML"

19. Selecione Adicionar Tudo.

64
20. Nessa etapa será realizada uma comparação entre as pastas.

21. Nessa etapa vamos criar umas regras, para resolução de possíveis problemas. Clique
em Nova regra e adicione as regras conforme a imagem abaixo.

65
22. Na próxima etapa, das regras criadas uma não foi resolvida, selecione a opção
Reutilizar e clique em Avançar.

66
23. Nessa etapa, clique em Fechar para prosseguir com a instalação.

24. Verifique se existe alguma pendência e clique em Importar.

67
25. Verifique se houve algum problema e clique em Feito.

26.Vamos realizar a importação do objeto


" wkf_U3_LabC_Load_Stage_Dealership_Promotions_xx.XML "

68
27. Selecione todos os objetos e clique em Avançar.

28. Em alguns casos vocês podem se deparar com várias pastas de destinos e
repositórios do PowerCenter, fiquem atento com isso.

69
29. Não selecione nenhuma regra para resolução de conflitos.

30. Vamos escolher a opção Substituir e aplicar essa resolução para Todos os Conflitos.

70
31. Clique em Fechar para prosseguir com a importação.

32. Clique em importar e analise os logs da importação realizada.

33. Agora feche a ferramenta repository Manager e vamos para a ferramenta Workflow
Manager.

71
34. Abra a pasta Erros e selecione o workflow conforme figura abaixo. Note que a
session está com uma interrogação vermelha acusando um problema.

35. Para verificarmos o problema basta Selecionar o menu Fluxos de Trabalho e


selecionar a opção Validar.

72
36. Verifique que no output do workflow aparece a mensagem informando que uma
propriedade está sem conexão. Se você tentar executar o workflow aparecerá uma
mensagem de erro, pois uma session encontra-se inválida.

37.Vamos corrigir a session desse workflow e verificar se o mapa está válido.


Note que não existe mensagem de erro no seu mapa.

73
38. Execute o seu workflow .

39. O powerCenter está informando que houve uma alteração. Salve a pasta no
repositório do Integration Service para executar o workflow.

74
40. Tente executar o workflow, e note a mensagem de erro.

75
41. Esse erro aconteceu devido o workflow importado, não está vinculado a nenhum
serviço de Integração. Clique em Fluxo de trabalho e selecione a opção Editar.

42. Selecione um Serviço de Integração para executar o workflow.

76
43.Clique em Ok, salve as alterações e execute novamente o workflow.

44. Observe que a session falhou, no primeiro erro foi detenctado que não foi possível
truncar a tabela de destino.

77
45. Clique com o botão direito e selecione obter log da sessão.

46. No log da sessão analise a mensagem com o log de erro. Nesse caso a mensagem é
que não foi possível localizar a tabela do banco de dados.

78
47. Volte para o Workflow Manager e clique em Mapeamento e verifique se o usuário
que realiza a conexão tem privilégios para realizar a operação.
Nesse caso a conexão ODS01 está realizando uma gravação na tabela
STG01.STG_PAYMENT e não possui privilégios para realizar essa operação. Altere a
conexão para STG01 e realize uma nova execução.

79
48.Salve as alterações e execute novamente o workflow e verifique o resultado da
execução.

49. Confira o log de execução para certificar que não houve nenhum problema.

80
50. O log não informa nenhum erro, operação executada com sucesso.

81
Agora Vamos executar o workflow

wkf_U3_LabB_Stage_Product_xx.XML

51.Abra o Workflow e verifique que existe um sinalizador na session de problema,


selecione validar para verificar os possíveis erros.

52. Vamos realizar a configuração das conexões para os objetos do Source e Target.

82
53.Salve as alterações, observe que não existe mais nenhuma restrição na validação
semântica da session e execute o workflow.

54.Ao executar o Workflow apareceu a mensagem abaixo.

55. Configure um serviço de Integração e execute novamente o mapeamento.


Lembrando que esse passo foi realizado na página 76 item 43

83
56.Execute o workflow e verifique o resultado.

84
Agora Vamos executar o workflow
wkf_U3_LabC_Load_Stage_Dealership_Promotions_xx.XML

Dentro desse Workflow existem dois pipelines.

O pipeline do arquivo flat file realiza a leitura do arquivo promotions.txt que carregam os
dados para a tabela STG_PROMOTIONS.

No outro pipeline realiza a leitura da base de dados da tabela ODS e carrega na tabela
STG01.STG_DEALERSHIP.

Verifique se foi definido o serviço para execução da session .

Verifique se as conexões foram apontadas na origem e destino.

Com base nos conhecimentos adquiridos realize a configuração para correção desse
workflow. Caso necessite de ajuda, utilize o guia para realizar a configuração.

57. Abra o workflow Manager e verifique que a session encontra-se com erro.

85
58. Navegue no menu Workflow e clique em validar para verificar os erros.

59. Observe na mensagem o motivo dos erros.

60. Realize as devidas configurações e salve as alterações, sempre observando a


mensagem de saída dos dados.

86
61. Execute o workflow e analise os logs de execução do workflow.

62. Observe que na primeira mensagem de erro o workflow não conseguiu localizar o
arquivo "promotions1.txt". Conforme as instruções da página 82 o arquivo correto é
promotions.txt . Faça a devida correção do nome do arquivo e proceda com uma
nova execução.

87
63. Observe que houve uma nova falha. Analise os logs de execução para verificar o
problema.

Ao analisar a mensagem o powercenter informa que houve um problema com o campo


EXPIRE_DATE da tabela STG_PROMOTIONS.

88
64. Vamos abrir o SqlDeveloper para verificar se existe essa coluna na tabela.

65. Realize o comando DESCRIBE para verificar as estruturas da tabela.

66. O campo realmente existe na tabela, vamos abrir o powercenter designer para
analisar a estrutura dos sources e targets que carregam a tabela STG_PROMOTIONS.
Abra a pasta Erros escolha origem e abra o FlatFile "promotions"

89
67.Verifique o arquivo promotions e aplique um duplo e selecione a opção editar.

68. Observe que o campo está marcado com a opção, largura fixa.

90
69. Navegue até a origem do arquivo para verificar se realmente esse arquivo possui
largura fixa. c:\Informatica\9.6.1\infa_shared\SrcFiles\promotions.txt

70. O arquivo selecionado possui delimitador de campos, volte para o informatica


powercenter Designer, para ajustar o layout do arquivo, selecione Delimitado e clique
em Avançado.

91
71. Nessa janela configure o delimitador conforme o arquivo de origem, salve as
alterações.

72. Abra o mapa m_ U3_LabC_Load_Stage_Dealership_Promotions_xx e salve as


alterações do mapa, para atualizar o objeto na session.

92
73. No workflow manager selecione atualizar mapeamento.

74. Verifique se as alterações foram realizadas no workflow também, clique em Definir


Propriedades.

93
75. Observe que as alterações não foram propagadas.

76. Selecione Delimitado e clique em Avançado e edite as configurações.

94
77. Executando o workflow, foi informado que foram rejeitadas 6 linhas do source
SQ_promotions. Analise o log e verifique o motivo.

78. No log informado os campos START_DATE e EXPIRY_DATE foram ignorados.

79. Muita calma nessa hora, beba um pouco de água, relaxe e vamos analisar
novamente o arquivo promotions.txt . Olha que interessante o formato desses
campos estão com MM/DD/YYYY, volte para o informatica Designer e edite
novamente o source.

95
80. No source Analyzer, clique com o botão direito e selecione Editar.

81. Vamos formatar os campos START_DATE e EXPIRY_DATE

96
82. Clique em Formatar, selecione o Formato mm/dd/yyyy e selecione a opção Ajustar
Largura Preenchimento. Faça esse procedimento para os dois campos.

83. Ao final desse procedimento as alterações deverão ficar idênticas a figura abaixo.
Clique em Salvar o Source Analyzer, mapeamento e vá para o Workflow.

97
84. Atualize a session no Workflow, salvando as alterações e clique em executar
workflow.

85. Verifique que houve um problema na carga, clique em Obter Log para realizarmos a
nossa análise.

98
86. No log, foram detectados dois erros ORA-02373 e ORA-00904
Altere a forma de carga na tabela para normal e execute novamente o workflow.

87. Novamente deu erro, porém o erro ORA-02373 desapareceu.

99
88. Analisando o nosso problema, constatamos que o objeto EXPIRY_DATE existe e o
nosso mapeamento está desconsiderando esse campo do nosso objeto. Vamos
excluir o Target STG_PROMOTIONS e importar novamente para o repositório. Essa
operação afeta todos os mapas que utilizam esse target. Vamos realizar uma análise
para verificar quais objetos serão afetados.

89.Clique com o botão direito e selecione Dependências, selecione as opções que vocês
queiram analisar para verificar quais objetos serão afetados com essa exclusão.

90.
nali
san
do
as
info
rmações acima, apenas um mapa será afetado. Exclua o objeto do nosso
mapeamento. Selecione o Target STG_PROMOTIONS e navegue até o menu para
Excluir, Salve as alterações e realize uma nova importação.

100
91. Após excluir o objeto, vamos importar novamente para o nosso repositório, salvando
as alterações do novo objeto.

92. Abra novamente o mapa e verifique que o target desapareceu, arraste novamente e
realize as conexões para configurarmos no workflow.

101
93. Realize as alterações no workflow Manager, verificando os apontamentos dos
objetos e execute novamente o processo.

94. Dessa vez o workflow foi executado com sucesso, analise os logs para verificar o
resultado da execução.

102
Lab Atividade 4.1 :Transformações, Tarefas e Reusabilidade

Cenário:

Carregar a base de clientes lendo de uma lista de arquivos as informações dos clientes.
Esta lista de arquivos contém os nomes dos arquivos delimitados, todos registros com o
customer number 99999 ou nulos deverão ser filtrados do arquivo. Existem um número de
colunas que os dados deverão ser formatados.

Objetivo:

 Criar uma transformação utilizando filtros.


 Utilizar a função DECODE, IIF, ISNULL, SUBSTR, DATE_ADD
 Criar uma session que utiliza lista de arquivos.
 Criar um workflow.
 Utilizar as variáveis de carga da session, workflow

Duração:
60 minutos

************************************************************************
* Obs. Você deve ter notado que em alguns casos não informamos alguns *
* comandos propositalmente, por termos citados em exercícios anteriores. *
* Bom estudo! *
************************************************************************

103
1. Efetue o login na ferramenta Repository Manager.
2. Crie uma pasta chamada SIGDC , e atribua a permissão de atalho nessa pasta

3. Crie uma nova Pasta como TreinamentoETL e não atribua a permissão de Atalho.
4. Abra o powerCenter designer navegando na pasta SIGDC.
5. Crie um source, (flat file) com a seguinte estrutura, acrescentando uma chave
primária no campo DEALERSHIP_ID

104
6. Selecione o objeto que você criou na pasta SIGDC e clique no menu Editar e selecione
a opção "Copiar" e cole como "Atalho", Lembrando que para realizar a operação de
colar como Atalho a sua pasta não pode ser compartilhada e você tem que abrir a
pasta do projeto.

105
7. Com o objeto copiado, abra a pasta TreinamentoETL e selecione a opção colar Atalho.

8. Execute o script01.sql disponibilizado no google drive e importe para o target a tabela


STG_CUSTOMER, renomeando o target para STG_CUSTOMERS.

9. Crie um mapa com o nome MPG_CUSTOMERS_LAB04_01.


10.Adicione o source e target criados anteriormente, uma filtro e um expression.
11. Seu mapa deve ficar parecido com esse:

106
12. Por questões de performance o filtro deverá ser utilizado no início da transformação
quando for possível a sua aplicação. Em algumas empresas os objetos devem ser
nomeados para atender os padrões de utilização do objeto, isso facilita a
manutenção por outra equipe que assumir o projeto. Por isso, vamos aplicar o
seguinte padrão nos nosso objetos:
 SOURCE - SRC
 SOURCE QUALIFIER - SQF
 FILTER - FLT
 EXPRESSION - EXP
 TARGET - TGT
13. No enunciado do exercício, foi solicitado a filtragem dos registros de customers
99999 ou customers nulos. Conecte todas as portas do SQF no FILTRO.

14. Clique no Filtro e navegue em propriedades para editar a nossa condição, na seta
valor podemos editar a nossa condição.

107
15. Na Janela do Editor de Expressão, apague o valor TRUE e procure a seguinte função
ISNULL e vamos entender a sua funcionalidade.

16. Ao selecionar a função o PowerCenter exibe uma pequena descrição de como você
pode utilizar esse recurso. Retorna verdadeiro se a expressão é nula, nesse caso
queremos filtrar os registros nulos, então temos que utilizar um operando para negar
essa condição.

108
17. A sua condição deve ficar parecido com a figura abaixo.

18. Clique em Validar para o powercenter verificar erros de semântica.

109
19. Vamos para a transformação e vamos utilizar o editor de expressão para juntar os
campos FIRSTNAME e LASTNAME. Existe uma função no PowerCenter responsável
por concatenar campos, que é a função CONCAT, porém se eu juntar as colunas
acima, não haverá espaço entre os nomes. Tornando a minha transformação errada.
Para esse caso vamos utilizar um recurso semelhante a da linguagem sql.
Para criar uma "nova porta", clique nessa imagem.
Desmarque a opção "Input" e clique na seta para criar a expressão.
Edite o tamanho da coluna e o tipo de dado compatível com o seu campo

***************************

Tome cuidado com o tamanho do seu campo para não ultrapassar o limite de caracteres do
destino.

110
20. Um detalhe muito importante, caso a transformação não consiga realizar a
transformação, você pode definir o valor desse campo. Caso a transformação não
consiga realizar essa operação o powercenter interrompe o processo gerando erro na
execução.

21. Crie uma expressão para formatar o campo PHONE_NUMBER, atribuindo a seguinte
máscara (xxx) xxx - xxxx
Utilize a função SUBSTR, lembrando que o tipo de dado deve ser transformado para
texto.
22.Crie uma expressão para classificar o gênero no campo GENDER, aplicando o seguinte
critério:
 M --> MALE
 F --> FEMALE

Dica para construção dessa expressão, você pode utilizar a função "IIF" ou "DECODE"

ex: IIF(campo = X, 'Atendeu a condição', 'Não atendeu a condição')

DECODE(TRUE, campo=x, 'ValorX', campo=y,'ValorY','Não Atendeu nenhum critério')

****** Você pode colocar vários IIF dentro de uma expressão

111
23. Crie uma transformação para classificar a faixa etária do campo AGE.
 AGE < 20 --> 'MENOS DE 20'
 AGE >= 20 e AGE <=29 --> 'Entre 20 e 29'
 AGE >= 30 e AGE <=39 --> 'Entre 30 e 39'
 AGE >= 40 e AGE <=49 --> 'Entre 40 e 49'
 AGE >= 50 e AGE <=60 --> 'Entre 50 e 60'
 AGE > 60 --> 'Mais que 60'

24. Crie um campo chamado DATA_TABELA, lembrando que o tipo de dado deve ser
"date/time" do powercenter.

25. Crie um campo DATA_EXECUCAO_SESSION informando a variável SESSSTARTTIME

112
26. Vamos criar uma variável que será informada no workflow. Para isso clique no menu
Mapeamentos e selecione a opção Parâmetros e Variáveis.

27. Na janela crie uma variável, informando o tipo de dado e o nome conforme a figura
abaixo.

113
28. Volte para a expression e crie uma nova porta, informando a variável que você criou.

29. Você deve notar que existem mais portas criadas que o destino, isso foi usado
propositalmente para aprendermos uma nova opção de importação de objetos
existentes.

114
30. Execute o script02.sql disponível no google drive LAB04.
31. Selecione Target Designer e clique em importar do Banco de Dados.

32. Selecione a tabela STG_CUSTOMER e clique em OK.

115
33. Note que o powercenter informa que o objeto já existe. Selecione Comparar para
visualizar as alterações.

34. Nas colunas observe que existem 3 bandeiras sinalizando as alterações existentes.

35. Clique em Fechar e selecione a opção substituir.

116
36. Conecte apenas as portas que irão ser transformadas o resto pode ir direto para o
target.

37.Salve o mapa e crie um workflow WKF_CUSTOMERS_LAB04_01.


38. No workflow vamos configurar o source para realizar a leitura de uma lista de
arquivos, nesse caso verifique se existe na pasta do $PMSource o arquivo
customer_list

39.Abra o arquivo e verifique que ele faz menção a dois arquivos.


Quando trabalhamos com uma lista, o powercenter realiza a leitura das informações
contidas nesse arquivo que apontam quais arquivos devem ser lidos para realizar o
carregamento do source.

117
40. No source selecione a opção Indirect para que o pwc realizar a leitura do arquivo.

41. No menu workflow selecione a opção editar e criando uma variável com o nome de
WKF_DATA_WORKFLOW.

118
42. insira no workflow o objeto Atribuição.

43. No objeto adicione uma nova expressão e edite para carregar os dados conforme a
data de execução do workflow.

119
44. Na session, vamos atribuir a variável, clique no lápis para definir as variáveis.

45. Adicione a porta e selecione a variável correspondente.

120
46. Realize os devidos mapeamentos, para que o workflow fique conforme a figura
abaixo.

47. Execute o workflow e veja o resultado da carga. Não houve nenhuma inserção de
registros, aparentemente o filtro pode ter retirados os registros. Analise o log e veja o
que foi realizado.

48. Note que houve um erro na função da data :

121
49. Corrija a função no designer, atualiza o workflow e execute novamente.

50. Verifique o resultado da execução e o log da session.

122
Lab Atividade 4.2 :Carregando a tabela Employees

Cenário:

Carregar a base de empregados, criando uma lista de arquivos no diretório do Servidor do


PowerCenter (c:\Informatica\9.6.1\server\Infa_Shared\SrcFiles) para lê os arquivos:
(employees_east.txt | employees_central.txt | employees_west.txt)
Analisar os arquivos disponíveis nessa lista e carregar na tabela STG01.STG_EMPLOYEES
excluir dessa carga AGE > 60.

Objetivo:

 Criar uma transformação utilizando filtros.


 Utilizar a função DECODE, IIF, ISNULL, SUBSTR
 Criar transformações reutilizáveis .(utilizadas no lab04.1 passo 22 e 23)
 Criar um mapa como o nome de MPG_EMPLOYEES_LAB04_2 e um workflow com o
nome de WKF_EMPLOYEES_LAB04_2

Duração:
30 minutos

************************************************************************
* Obs. Agora é com você!
*
************************************************************************

123
51. Para criação de uma transformação reutilizável, você pode criar utilizando o
Transformation Developer, selecionando Transformação -- > Criar

ou você pode reutilizar uma já criada, conforme exercício do LAB04_01 e clicar em


reutilizável, nesse caso uma vez selecionada essa opção não é reversível.

124
Para esse lab você deve criar as transformações necessárias e reutilizar no seu
mapeamento, conforme a imagem abaixo.

125
Lab Atividade 5.1 :Join Homogêneo

Cenário:

Realizar um join de duas tabelas ( PRODUCT e PRODUCT_COST) do owner ODS01,


carregando os dados na tabela STG01.STG_PRODUCT

Objetivo:

 Usar o Source Qualifier para definir duas origens homogêneas, via SQL.
 Usar a função UPPER.
 Criar uma conexão loader
 Carregar os dados via loader

Duração:
30 minutos

126
1. Vamos abrir o Sql Developer para realizar a construção da nossa query.

2. A sua query deve retornar todos os campos de ambas tabelas, lembrando que a
chave para o relacionamento das tabelas é product_id e product_code.
3. Na ferramenta designer, crie um mapa com o nome de MPG_PRODUCT_LAB05_01,
na pasta Treinamento_ETL.
4. Copie e cole os sources PRODUCT e PRODUCT_COST da pasta EDW na pasta
Treinamento_ETL e utilize no seu mapeamento.

127
5. Elimine um Source Qualifier (SQ_PRODUCT_COST), clicando com a tecla del no
objeto.

6. Arraste todas as portas do Source Definition (PRODUCT_COST) para o Source


Qualifier SQ_PRODUCT.

128
7. Aplique um duplo clique no Source Qualifier (SQ_PRODUCT), para inserirmos o sql
criado. Na aba Propriedades clique na seta do Atributo Sql Query.

8. Crie uma expressão para transformar as portas (PRODUCT_DESC, GROUP_DESC e


DIVISION_DES) em maiúsculas.

129
9. Copie o Target ST_PRODUCT da pasta EDW para a pasta TreinamentoETL e utilize no
seu mapping, conectando todas as portas nos seus respectivos destinos.

10. Salve o seu mapa e verifique se ele não possui erros.


11. No Workflow Manager vamos criar uma conexão Loader, esse tipo de conexão é
muito utilizada para carregar grandes volumes de dados.

12. Selecione Novo e escolha o Subtipo Oracle External Loader e clique em OK.

130
13. Na conexão informe um nome da conexão, usuário e senha do banco e o caminho do
aplicativo que executa o comando loader.

c:\app\UsuarioOracle\product\12.1.0\bin\dbhome_1\BIN\sqlldr.exe

131
14. Na conexão do Mapeamento, informe os Owner e nome das tabelas para o
powercenter.

132
15. No Target, selecione a opção File Writer. Em Conexões informe o Tipo Carregador e
selecione a conexão que irá realizar essa carga.

133
16. Nessa mesma janela, informe o nome do owner e tabela para gerar os arquivos.

17. Salve as alterações e execute o workflow.


18. Observe que houve falha no processo.

134
19. Vamos analisar os arquivos de carga do loader.

20. Observe que por algum motivo a conexão criada não está conseguindo converter os
dados em decimais. Arquivo (stg_product1.out Arquivo LDRREJECT).
21. Crie uma função para desprezar as casas decimais na expressão do campo e altere o
target da tabela para não ter casas decimais. Essa alteração é só para fins didáticos,
lembrando que caso ocorra esse tipo de erro chame o suporte responsável pela
ferramenta.

135
22. Salve as alterações e execute novamente o workflow e verifique o resultado no
monitor e arquivo stg_product1.out (ldrlog).

136
Lab Atividade 5.2 :Resolvendo problemas de Joins Homogêneos

Cenário:

Identificar e corrigir problemas de joins.

Objetivo:

 Estudar a Transformação do Source Qualifier e corrigir problemas de join

Duração:
30 minutos

**************************

Agora é a sua vez

**************************

137
23. Execute o script para criar as CARGA_TABELAS.sql no seu banco de dados oracle.
24. Importe o workflow WKF_CREDITO_PREPAGO_LAB05_02.
25. Realize as devidas correções e coloque o workflow para funcionar.

138
Lab Atividade 5.3 : Joins Heterogêneos e condições nos Links

Cenário:

Relacionar um arquivo flat file com uma base de dados Oracle.

Objetivo:

 Estudar a Transformação do Source Qualifier e corrigir problemas de join

Duração:
40 minutos

139
26. Faça todo o desenvolvimento na pasta TreinamentoETL.
27. Crie o mapa com o nome de:

28. Importe a estrutura do arquivo sales_transactions.txt

29. Arraste a estrutura importada para o seu mapeamento.

140
30. Selecione o objeto Joiner Transformation e inclua no seu mapeamento.

31. Conecte todas as portas nessa transformação.

32. Aplique um duplo clique na transformação para editar os campos que farão parte do
relacionamento.

141
33. Em propriedades é possível informar o tipo de relacionamento que será efetuado.

34. Copie o Target (STG_TRANSACTIONS) da pasta EDW e relacione as portas, conforme


a imagem abaixo.

35. Salve o seu mapeamento e vamos para o workflow.

142
36. Crie um workflow e adicione 2 sessions do mapa
MPG_TRANSACTION_STG_LAB05_03, pois vamos trabalhar com condições no link.

37. Altere o nome das sessions, SSN_FAILED e SSN_SE_FALHAR_EXECUTA,


propositalmente não vamos configurar a 1ª session, pois queremos que ela falhe para
criamos uma condição no link.

38. Na Session SSN_FAILED, altere a configuração da conexão da Origem SQ_PRODUCT


para STG01.

143
39. Aplique um duplo clique na session que conecta a SSN_FAILED com a
SSN_SE_FALHAR_EXECUTA.

40. No editor de Expressão, vamos adicionar a condição conforme a imagem abaixo.

41. O seu workflow deverá ficar conforme a figura abaixo.

42. Configure a session SSN_SE_FALHAR_EXECUTA e configue para que funcione.

144
43. Observe no monitor como ficou a execução.

44. Agora corrija a conexão e verifique novamente no monitor.

45. Observe que não houve a execução dessa session, pois o critério que adicionamos só
seria executado em caso de falhas.

145
Lab Atividade 6 : Utilizando o Assistente Debug

Cenário:

O mapa MPG_DATES_DEBUG_LAB06 contém erros que resultam na rejeição de registros.


Você deve identificar o erro e sugerir a correção do seu mapa. Utilize o assistente de
depuração para visualizar os registros com problemas no seu mapa.

Objetivo:

 Utilizar a ferramenta de Debug (Depuração)


 Utilizar o assistente de Debug (Depuração)

Duração:
35 minutos

146
1. Abra o PowerCenter Designer, navegue até a pasta Erros e importe o arquivo
MPG_STG_DATES_DEBUG_LAB06.xml para realizar a importação do mapping.

2. No assistente de importação realize os passos para importação do mapa..

147
3. No google drive, navegue no LAB06 copie o arquivo dates.txt para a pasta
C:\Informatica\9.6.1\server\infa_shared\SrcFiles

4. No workflow manager, configure o mapa.

5. Na session configure o seu workflow para interromper caso encontre um erro.

148
6. Execute o workflow e verifique que o processo foi interrompido.

7. Vamos identificar os registros com problema utilizando o assistente de depuração.


Volte para o Powercenter Designer e navegue no menu Mapeamentos --> Depurador
--> Iniciar Depurador.

149
8. Na janela de Depurador Mapeamento, clique em Avançar.

9. Selecione a opção criar uma instância de sessão de depuração, e clique em Avançar.

150
10. Em Conexões altere a Instância STG_DATES para STG01.

11. Em Propriedades altere o nome do Source filename e o tipo de carga na tabela.

151
12. Clique em Avançar por três vezes, e selecione a opção "Descartar dados de destino"
e clique em Concluir.

13. O powerCenter criou e inicializou a sessão de Debug, após esse processo o assistente
inicializa a janela para visualizar os dados que serão carregados na sua
transformação. Ajuste a janela para melhor visualização dos dados, selecione a
instância de Destino e a instância de entrada dos dados.

152
14. No menu ferramentas, selecione a opção Personalizar... para exibir as ferramentas
do depurador.

15. Observe o menu de ferramentas do depurador.

16. Clique no botão Próxima Instância.


17. Verifique que o depurador realizou a leitura do objeto SEQTRANS e informou o valor
da transformação.

153
18. Clique novamente em Próxima Instância e verifique que esse registro teve problemas
nas transformações, execute esse procedimento até o limite de 11 registros.

19. Verifique a sua instância de destino e observe que houveram dois registros que não
serão inseridos na sua carga, por erros de transformação.

20. Interrompa o Depurador .

21. Qual foi o motivo que causou o erro?


22. No mapeamento corrija a sua transformação e execute o workflow.

154
Lab Atividade 7.1 : Utilizando uma Lookup para carregar ODS Employeed

Cenário:

O mapa MPG_DATES_DEBUG_LAB06 contém erros que resultam na rejeição de registros.


Você deve identificar o erro e sugerir a correção do seu mapa. Utilize o assistente de
depuração para visualizar os registros com problemas no seu mapa.

Objetivo:

 Utilizar uma lookup de uma arquivo flat file


 Determinar como usar as linhas de origem nas propriedades da session.
 Utilizar um Event Wait, Timer, Control and Email na tarefa do workflow.

Duração:
80 minutos

155
1. Abra a ferramenta powercenter Designer.
2. Abra a pasta de trabalho TreinamentoETL.
3. Importe da Base de dados do Oracle, a tabela EMPLOYEES para origem dos dados do
owner ODS01.

4. Salve o seu objeto no repositório do powerCenter.


5. No Target Designer, execute o scipt07.sql do google drive e realize o mesmo
procedimento para importar a tabela STG_EMPLOYEES como tabela de destino do
owner STG01.
6. Uma dica importante é que você pode fechar os mapas abertos na sua área de
trabalho. Navegue no Menu Mapeamentos e clique em Fechar.

156
7. Crie um novo mapa com o nome de MPG_EMPLOYEES_LAB07_01

8. Adicione o source criado no passo 3 e o target criado no passo 5.


9. Inclua a lookup no seu mapeamento.

157
10. Selecione a opção importar de um Flat File.

11. Navegue na pasta c:\Informatica\9.6.1\server\Infa_shared\SrcFiles\salaries.txt

158
12. No assistente de importação configure o seu arquivo e clique em concluir

13. Após a sua confirmação, sua lookup será exibida conforme a figura abaixo.

159
14. Altere o nome da Lookup para LKP_SALARIE_FLATFILE.
15. Arraste do Source Qualifier a porta EMPLOYEE_ID, conectando na sua lookup
LKP_SALARIE_FLATFILE.

16. Aplique um duplo clique na Lookup e navegue na aba Condição, "adicionando uma
nova condição" para a lookup. Informando o critério para seleção de sua pesquisa.

160
17. Edite o nomes das portas da lookup, para a porta de origem do Source Qualifier
renomeie para EMPLOYEE_ID_IN e a porta da lookup para EMPLOYEE_ID_OUT.
Marque a porta SALARY como Retorno.

18. Ao clicar em OK surgirá a seguinte mensagem para você.

19. Precisamos criar uma função para transformar os dados da porta EMPLOYEED_ID_IN
para decimal.

161
20. Vamos adicionar uma função para converter esses dados para decimal, o tipo de
dados compatível com a lookup.

21. Lembre-se que será necessário alterar o tipo de dados da porta da lookup.

162
22. Conecte as portas nos seus respectivos destinos.

23. Abra o workflow manager para configurar as conexões. Crie esse workflow com o
nome de WKF_STG_EMPLOYEES_LAB07_01.
24. Copie o arquivo informado no passo 11 para a pasta $PMLookupFileDir.

163
25. Nas propriedades da session, configure o nome do arquivo da sua lookup.

26. Não se esqueça de configurar as conexões das origens e destinos.


27. Salve o workflow, verifique se não houve erros e inicie o workflow.

164
28. Observe que não existe registro na tabela de origem.

29. Crie um mapa para carregar a tabela ODS.EMPLOYEES de uma lista de arquivos,
conforme executado nos LAB04_01 e LAB04_02.

30. Crie esse mapa com o nome de MPG_CARGA_ODS_EMPLOYEES_LAB07_01.


31. Configure para o seu workflow realize a leitura da lista employees_list.

165
32. Seu worflow deve ficar parecida com a da figura abaixo.

33. Verifique o resultado da sua execução.

166
34. Volte para o designer no mapa MPG_EMPLOYEES_LAB07_01 e verifique o resultado
dos dados no target.

35. Volte para o workflow manager e inclua a tarefa para verificar a chegada de um
arquivo flat file.

36. Exclua a linha entre a tarefa de Início e a tarefa da session. Para excluir a linha
selecione a linha e clique com o botão delete.

167
37.Conecte o Início com a tarefa de "Event Wait", com as demais sessions. Conforme a
figura abaixo.

38. Aplique um duplo clique na tarefa "Event Wait" e na aba Geral, selecione a opção
"Falhar pai caso essa tarefa falhe".

168
39. Na aba Eventos, selecione a opção Predefinido: "É um evento de inspenção de
arquivo.". e digite o endereço de um arquivo que exista no seu diretório do
powercenter, no nosso exemplo selecionamos a opção do arquivo salaries.txt

40. Altere o nome do nosso evento para EVT_SALARIES.

169
41. Arraste a tarefa Timer na sua área de trabalho.

42. Renomei a tarefa para TMR_ODS_EMPLOYEES

170
43. Na aba "Temporizador", selecione Hora relativa e iniciar após 3 Minutos.
"a partir da hora de início desta tarefa".

44. Conecte o Início com a tarefa "timer".

171
45. Insira a tarefa "E-mail"

46. Conecte o timer (TMR_ODS_EMPLOYEES) no E-mail.

47. Edite as propriedades do Email.

172
48. Na aba geral, selecione a opção Falhar pai caso esta tarefa falhe.

49. Clique com o botão direito e escolha "Organizar --> Horizontal"

173
50. Seu Workflow deve ficar conforme a imagem abaixo.

51. Arraste para o seu workflow a tarefa Controle.

52. Edite o controle e selecione as opções Falhar pai caso esta tarefa falhe e tratar links
de entrada como OR.

174
53. Em propriedades selecione a opção "Stop parent".

54. Conecte as session s_MPG_EMPLOYEES_LAB07_01 no Controle e o E-mail também.

175
55. Clique na linha entre o TMR_ODS_EMPLOYEES e E-mail para incluir condições.

56. Salve o seu workflow e execute a tarefa.


57. Verifique resultado do monitor.

176
Lab Atividade 7.2 : Resolução de Problemas: Variáveis de conexão $Source

Cenário:

No google drive pasta LAB07, um workflow não está funcionando no ambiente de


produção, a sua máquina simula o mesmo ambiente. Corrija o workflow e exporte o xml
corrigido.

Objetivo:

 Desenvolver habilidades para resolução de problemas de variáveis de conexão da


lookup.

Duração:
25 minutos

177
58. Execute o script07_02.sql do LAB07, localizado no google drive.
59. Importe o arquivo WKF_LAB07_02_ERRO_CONEXAO da pasta LAB07, do google
drive.
60. Execute o workflow e verifique o erro.

61. Realize a análise dos logs da session.

62. Esse erro é conhecido por todos nós. Existe um problema de apontamento da
conexão.

178
63. Volte para o workflow e clique na session e na aba Mapeamento, note que nas
conexões foram passadas a variável $Source.

179
64. Podemos definir as conexões das variáveis na aba Propriedades.

65. Observe que a conexão está apontando para STG01, e a nossa base que estamos
utilizando é a ODS01.
66. Realize as alterações, e execute o workflow.

180
67. Verifique o resultado no monitor.

68. Analise os logs e verifique se houve erros.

69. Corrija a expressão para o formato de data recebido do arquivo. 'MM/DD/YYYY' e


execute novamente o workflow.

181
70. Dessa vez não houveram erros.

71. Você notou que existem dois pipelines no mapa.

182
72. Podemos priorizar a ordem de execução. No menu Mapeamentos, Plano de
Carregamento de Destinos.

73. Na janela aberta informamos a ordem de execução dos pipelines.

183
Lab Atividade 7.3 : Utilizando a Sequence Generator para carregar os dados
da tabela ODS_DATES

Cenário:

Criar uma sequence iniciando em 20000 para carregar os registros da tabela ODS_DATES .

Objetivo:

 Criar Source e targets do Banco de dados.


 Criar uma transformação Sequence Generator.
 Utilizar o NEXTVAL para carregar os dados numa chave única.

Duração:
15 minutos

184
74. Execute o script07_03.sql para criar a tabela ODS_DATES.
75. Abra a pasta TreinamentoETL.
76. Importe o source STG_DATES do owner STG01.
77. Importe o Target ODS_DATES do owner ODS01.
78. Crie o mapa com o nome de MPG_ODS_DATES_LAB07_03.
79. Insira a transformação Sequence Generator, conectando a porta NEXTVAL na porta
D_SEQ do Target.
80. Conecte as portas de origens nos seus respectivos destinos.
81. Seu mapa deve ficar parecido com a figura abaixo.

185
82. Edite a transformação SEQTRANS aplicando um duplo clique e na aba propriedades
configure para iniciar em 20000 e reiniciar a cada execução.

83. Em propriedades do Target vamos incluir o comando que trunca a tabela antes da
execução. Podemos inserir qualquer instrução SQL.

186
84. Verifique se o mapa é válido antes de prosseguir com o desenvolvimento.

85. Crie um workflow com o nome WKF_ODS_DATES_LAB07_03, configurando as


conexões.

86. Verifique se o workflow é válido e execute.

187
87. Verifique o resultado no monitor.

88. Analise o log e verifique se não houveram erros.


89. Volte para o designer e visualize os dados.

188
Lab Atividade 7.4 : Criando um cache de Lookup para carregar o Target ODS
Promotion

Cenário:

A Empresa XYZ executa um número de promoções que começam e terminam em


determinadas datas. As promoções são armazenadas na tabela Promotion (ODS). Essa
tabela armazena também o início e término da promoção tendo como chave a data que faz
referência a tabela ODS_DATES. No entanto os dados se tornaram disponíveis devido a
criação do mapeamento anterior. Usaremos as chaves criadas anteriormente para atualizar
a tabela de promoções ODS.

Objetivo:

 Entender como configurar e utilizar cache de Lookup.

Duração:
30 minutos

189
90. Na pasta TreinamentoETL crie um mapa com o nome
MPG_ODS_PROMOTIONS_LAB07_04.
91. Execute o script07_04.sql do google drive para carregar a tabela Promotions e criar a
tabela ODS_PROMOTIONS.
92. Importe a tabela PROMOTIONS do owner ODS01 no Source Analyzer.

93. Salve o seu trabalho no powercenter.

190
94. No Target Designer importe a tabela ODS_PROMOTIONS.
95. Arraste os objetos criados para o seu mapa, e realize vinculação automática por
nome, o seu mapa deve ficar idêntico a figura abaixo.

96. Observe que o powercenter não relacionou alguns campos, pois o tipo de dados são
diferentes.

97. Para carregar os campos START_DATE e EXPIRY_DATA utilizaremos as chaves criadas


no exercício anterior do LAB07_03 os valores da sequence para carregar o campo
D_SEQ da tabela ODS_DATES, vamos inserir duas lookups buscando os dados da
tabela ODS_DATES.

191
98. Insira uma lookup com os dados da tabela ODS_DATES localizada no Destino.

99. Renomeie a lookup para LKP_START_DATE, e clique em OK. Aparecerá uma janela
informando que a Lookup está sem uma Condição. Ignore o erro e clique em OK.

192
100. Conecte o campo do Source Qualifier (START_DATE) na lookup e D_SEQ da
Lookup em START_DATE, igual a figura abaixo.

101. Vamos incluir a nossa condição para realização da pesquisa dos campos.

193
102. Em propriedades vamos marcar a opção para cache persistente e atribuir o
nome do nosso cache. Esse arquivo será gravado no diretório
c:\Informatica\9.6.1\server\infa_shared\cache = $PMCacheDir.

194
103. Crie a segunda Lookup conforme o passo 98, atribuindo o nome de
LKP_EXPIRE_DATA, conectando a porta EXPIRE_DATE do Source Qualifier na Lookup.

104. Insira a seguinte condição na lookup.

195
105. Configure para lê o mesmo arquivo do cache da lookup anterior.

106. Crie um novo Workflow com o nome de WKF_ODS_PROMOTIONS_LAB07_04.

196
107. Configure as conexões do Mapeamento.

108. Salve as alterações e execute o seu mapa.

197
109. Verifique o arquivo com o cache gerado. Qual a necessidade de armazenar o
cache em disco para futuramente reaproveitar?

110. Verifique os valores gerados, utilizando o visualizar dados do target


ODS_PROMOTIONS.

198
Lab Atividade 7.5 : Lookups Ativas

Cenário:

A Empresa XYZ precisa informar no relatório a quantidade total de cada cliente


independentemente onde a venda foi realizada.

Objetivo:

 Entender o funcionamento da lookup de múltiplas linhas

Duração:
30 minutos

199
111. No PowerCenter Designer, crie o mapa MPG_ODS_CUSTOMER_LAB07_05 na
pasta TreinamentoETL.
112. Execute o script07_05 do google drive.
113. Importe a tabela ODS_CUSTOMERS na pasta TreinamentoETL como source.
114. Importe a tabela ODS_CUSTOMERS_BILLING e ODS_CUSTOMER_ORDERS na
pasta TreinamentoETL como target.
115. Salve as alterações para refletirem no repositório.
116. Arraste os objetos (ODS_CUSTOMERS e ODS_CUSTOMERS_BILLING ) para o
seu mapa.
117. Crie uma Lookup com o nome de LKP_CUSTOMER_ORDERS selecionando a
tabela ODS_CUSTOMER_ORDERS. Prestem bastante atenção, pois a opção retornar
múltiplos registros fica disponível no momento da criação.

118. Renomeie a sua lookup para LKP_CUSTOMER_ORDES_MULTIPLE_ROWS.


119. Arraste a porta CUSTOMER_NO do Source Qualifier.
120. Insira a condição CUST_ID e CUSTOMER_NO

200
121. Observe na aba Propriedades que não é possível alterar a condição de retorno
dos registros.

122. Adicione a transformação Aggregator.

123. Renomeie a transformação para AGR_CUSTOMER_ORDERS

201
124. Conecte as portas conforme a figura abaixo.

125. Nas propriedades da transformação crie 3 portas, conforme a figura abaixo:

202
126. Conecte as portas da transformação no target.

127. Salve seu mapa e crie um workflow para executar o mapa criado.
128. Atribua o nome para o workflow de WKF_CUSTOMER_ORDERS_LAB07_05.

129. Configure as conexões e execute o seu workflow.


130. Verifique se houve erros.

203
Lab Atividade 8 : Atualizando Targets no PowerCenter

Cenário:

A tabela empregados da empresa XYZ é atualizada diariamente.


Você precisa carregar a tabela STG01.STG_EMPREGADO com base nos registros da tabela
ODS01.EMPREGADO. Verificar se os registros já existem na tabela evitando a inserção de
registros duplicados, informar para o gestor os registros que não foram atualizados e
atualizar os registros que necessitem de atualização. Você deve criar lookups para
preenchimento dos respectivos campos no destino.

Objetivo:

 Utilizar a transformação Update Strategy para inserir ou atualizar os registros


 Utilizar a transformação Router com condições para diferentes destinos.
 Utilizar lookups.
 Utilizar valores padrões para substituir dados nulos ou vazios.
 Overriding Target na opção de gravação

Duração:
120 minutos

204
1. Executar o script08.sql do google drive.
2. copiar o arquivo CEP.txt para o diretório
c:\Informatica\9.6.1\server\infa_shared\LKpFiles

3. Crie um mapeamento na pasta TreinamentoETL com o nome de


MPG_STG_EMPREGADO_LAB08.
4. Adicione um Source da tabela EMPREGADO.
5. Lookup das tabelas: FUNCIONARIO, PERIODO, STG_SALARIO, STG_PROFISSAO
6. Lookup do arquivo Flat File CEP.

205
7. Adicione um Router para Inserir, Atualizar e verificar os registros que não foram
carregados na tabela STG_EMPREGADO.
8. Segue o modelo do Banco de Dados da tabela.

206
9. Existem várias formas de desenvolver esse mapa, para fins didáticos adotamos esse
modelo que iremos detalhar abaixo.

10. Arraste o source Empregado para o seu mapa.

207
11. Adicione uma Lookup conectada, apontando para a tabela FUNCIONARIO e
renomeie para LKP_FUNCIONARIO.

12. Adicione outra Lookup conectada, apontando para a tabela PERIODO e renomeie
para LKP_PERIODO.

208
13.Adicione outra Lookup conectada, apontando para a tabela STG_SALARIO e
renomeie para LKP_STG_SALARIO.

14. Adicione outra Lookup conectada, apontando para a tabela STG_PROFISSAO e


renomeie para LKP_STG_PROFISSAO.

209
15. Adicione outra Lookup conectada, apontando para a tabela STG_EMPREGADO e
renomeie para LKP_STG_EMPREGADO. Essa lookup foi adicionada para verificar se os
registros já existem na tabela.

16. Adicione uma expressão, para tratar a faixa numérica do CEP e o resultado das
Lookups criadas. O arquivo que iremos pesquisar utiliza um intervalo para identificar
o Estado e Região.

210
17. Adicione outra Lookup conectada, essa lookup receberá os dados da expressão
criada anteriormente da porta CEP_FAIXA.

18. Renomeie a lookup para LKP_CEP_TXT. Na porta CEP_FAIXA (passo 16) conecte as
duas portas da LOOKUP .

211
19. Atribua a seguinte condição.

20. Adicione uma nova expressão.

212
21. Adicione um Router e crie três condições.

22. Crie 3 grupos para classificar os seus registros

213
23. Para o Grupo REGISTROS_NOVOS e REGISTROS_ATUALIZAR inclua uma
transformação UPDATE STRATEGY e para o REGISTROS REJEITAR aponte para um
target.

24. Na transformação UPD_INSERIR, coloque o comando DD_INSERT.

214
25. Na transformação UPD_ATUALIZAR, coloque o comando DD_UPDATE.

26. Salve o seu mapa e vamos para workflow manager, crie um workflow com o nome
de WKF_STG_EMPREGADO_LAB08

215
27. Atribua as conexões para as variáveis $Source e $Target.

216
28. Para o destino STG_EMPREGADO_REJEITADO, vamos atribuir o mesma estrutura da
tabela STG_EMPREGADO, lembrando que a rejeição é um critério que foi aplicado no
router.

217
29. Para a lookup LKP_CEP_TXT, informe o nome do arquivo.

30. Salve o workflow e execute. Verifique se não houveram erros.


31. Confira o resultado .

218
Lab Atividade 9.1 : Utilizando PowerCenter para carregar a tabela
FACT_SALES.

Cenário:

A empresa XYZ aplicará um desconto acima do permitido pelo gerente.


Você precisa importar o mapa, construir a expressão somar os valores para carregar na
tabela STG01.FACT_SALES.

Objetivo:

 Utilizar lookup desconectada para retornar o desconto fora do intervalo permitido.


 Utilizar a transformação Aggregator para somar os valores.
 Utilizar Parâmetros para fornecer maior flexibilidade no seu mapa.

Duração:
50 minutos

219
1. Importe o mapa MPG_FACT_SALES_LAB09_01.xml do google drive no LAB_09 na
pasta TreinamentoETL.
2. Execute o script SCRIPT09.sql para criação das estruturas da tabela
STG01.FACT_SALES.
3. Seu mapa deve ficar semelhante a imagem abaixo.

4. Verifique se a transformação JNRTRANS está correta, renomeando para


JNR_PAYMENT_TRANSACTION.

5. O que significa esse campo marcado?

_______________________________________________________________

_______________________________________________________________

_______________________________________________________________

220
6. Edite as lookups LKP_PRODUCT e LKP_DATE informando os seus relacionamentos.

221
7. No menu Mapeamentos, selecione Parâmetros e Variávies...

8. Adicione uma nova variável, selecionando como tipo Parâmetro atribuindo o valor de
22.50

222
9. Adicione uma lookup utilizando os dados da tabela PROMOTIONS do target.

10. Renomeie a lookup para LKP_PROMOTIONS, deixando apenas as portas PROMO_ID


e DISCOUNT. Adicione uma porta como entrada dos dados.

223
11. Insira a condição na Lookup.

12. Na transformação da EXP_DESCONTO_TESTE, vamos editar a porta DISCOUNT_OUT.

224
13. A regra estabelecida pela diretoria é:
- Aplicar o desconto maior ou o desconto mínimo de 22.5%

14. Vamos criar a expressão adicionando o parâmetro gerado no passo 8.

225
15. Na transformação crie as portas:
COST = SELLING_PRICE;
REVENUE = SELLING_PRICE + REBATE

16. Adicione um transformação de Agregação e realize os cálculos nas portas:


QUANTITY - HOLDBACK - REBATE - SELLING_PRICE - REVENUE.

226
17. Conecte as portas da Agregação no target.

18. Seu mapa deve ficar parecido conforme a imagem abaixo. Salve o seu mapa e
verifique se ele está válido:

227
19. No workflow manager, crie um novo fluxo de trabalho com o nome,
WKF_FACT_SALES_LAB09_01, realizando as configurações de conexões.

20. Será necessário ajustar algumas configurações para o funcionamento do workflow.

21. Verifique no log se houveram erros. Por que ocorreram esses erro? Como tratar no
ETL esses erros?
______________________________________________________________
______________________________________________________________
______________________________________________________________

228
22. Verifique o resultado dos dados.

229
Lab Atividade 9.2 : Criando um Mapplet.

Cenário:

Em algumas situações podemos reutilizar as transformações criadas, copie o mapa criada


anteriormente no LAB09_01 utilizando um mapplet.

Objetivo:

 Utilizar mapplet no mapeamento


 .

Duração:
30 minutos

230
23. No PowerCenter Designer, navegue na janela do navegador e abra a pasta
TreinamentoETL.

24. Selecione o mapa MPG_FACT_SALES_LAB09_01 e navegue no menu Editar -->


Copiar.

231
25. Agora cole o arquivo copiado, você receberá uma mensagem parecida com essa.
Selecione Sim para prosseguir.

26. No Assistente, selecione a opção renomear alterando o nome do mapa para


MPG_FACT_SALES_MAPPLET_LAB09_02.

27. Abra o mapa criado no passo anterior.

232
28. Selecione os objetos:
-LKP_PROMOTIONS;
-EXP_DESCONTO_TESTE;
-LKP_PRODUCT;
-LKP_DATE;
-AGR_FACT_SALES;

29. Com os objetos selecionados copie e clique em Mapplet Designer e crie um mapplet
com o nome de MPT_AGR_FACT_SALES.

233
30. Cole os objetos copiado no passo 29 e cole no mapplet criado.

31. Volte para o Mapping Designer e exclua os objetos que foram copiados.

234
32. Após a exclusão dos objetos seu mapa deverá ficar conforme a figura abaixo.

33. Volte para o mapplet e adicione uma entrada para o mapplet.

34. Adicione uma saída para o seu mapplet.

35. Conecte as portas da EXP_DESCONTO_TESTE no Input, para realizar essa operação


arraste as portas da expressão para o input.

235
36. Salve o seu mapplet e observe que ele está inválido.

37. Vamos criar um parâmetro para o seu mapplet.

236
38. Salve o seu mapplet e valide novamente.

39. Abra novamente o Mapping Designer e arraste o seu mapplet para o mapeamento
criado conectando as portas.

40. Seu mapa deve ficar parecido com a figura abaixo. valide o seu mapeamento.

41. Abra o workflow manager e crie com o nome de


WKF_ FACT_SALES_MAPPLET_LAB09_02

237
42. Vamos criar um arquivo de parâmetro para configurar as conexões.
43. Crie o arquivo "LAB09_02.txt" de parâmetro no diretório
c:\Informatica\9.6.1\server\infa_shared\BWParam

44. Na session informe o caminho e o nome do arquivo.

238
45. Edite o arquivo com os seguintes Parâmetros.

46. Nas Propriedades da session SSN_FACT_SALES_MAPPLET_LAB09_02 passe o


parâmetro para a a variável de conexão.

239
240
47. Como já tínhamos carregado essa tabela, informe na session para truncar os dados
antes de carregar.

241
48. Salve o workflow e execute.
49. Verifique o resultado no monitor.

50. Verifique os dados carregados com auxílio do mapa.

242

Você também pode gostar