ÍNDICE:
INÍCIO
Olá pessoal, estão bem?
Neste simples tutorial de hoje, gostaria de mostrar como utilizar o step de switch / case, que permite direcionar dados vindos de diversas fontes para diversos destinos de forma correta.
O step funciona da seguinte forma: passamos uma coluna que será avaliada na stream e quando ela for comparada no step switch / case, irá direcionar cada registro correspondente para o destino especificado.
No cenário do exemplo utilizado estamos supondo que temos três fontes de dados diferentes e que cada uma destas fontes precisa ir para um destino específico.
Veja a imagem:
Para cada um dos steps generate rows, crie linhas de teste comuns.
Estas são as principais opções de configuração do step. O que queremos configurar está na opção case value, onde atribuímos um destino para estas fontes de dados.
Em Field name to switch configuramos qual coluna o switch/case irá avaliar. No meu caso, será a coluna texto.
No input de case value, devemos declarar ao step quais valores dentro da coluna texto ele deve buscar e para onde direcionar.
Já em default, se houver algum valor que não tenha correspondência no case value, deverá ser direcionado para este dummy.
Veja a configuração na imagem.
Ao final da configuração execute essa transformação criada.
Veja na imagem do DummyA que os dados foram direcionados corretamente para o destino.
Para testar o default na transformação, adicionei mais um step de gerador de linha sem configurar um destino no switch/case, veja:
Veja o resultado abaixo:
CONFIGURANDO SUBSTRING
O step switch/case consegue trabalhar com substring implicitamente, desde que esteja com a caixa de diálogo use string contains comparison ativa.
Veja as configurações do gerador A e B modificadas.
Percebam também que o step de switch/case não foi modificado, continua com a configuração inicial.
Executando a transformação, nosso processo ocorreu perfeitamente. Veja o resultado
E para finalizar este post, existe uma situação em que o step não destina o dado correspondente para o seu destino, veja:
Se perceberem, alterei o campo texto tornando-o diferente da configuração que criamos no step switch/case. Repare no resultado final:
Como não havia correspondente para comparar com o step e o contains está ativo, o campo não foi enviado para o dummy desejado e o switch/case envia para o default, por entender que aquele registro não corresponde na comparação.
“Ok, entendi, então basta desmarcar a caixa de diálogo use strings contain comparison que irá funcionar. correto?”
Negativo! quando desmarcamos, o resultado continua a não corresponder com a comparação criada.
Assim sendo, os dados vindos da fonte vão para o step de default.
CONCLUSÃO
Este foi um post bem explicativo sobre o uso do switch/case que pode ser de grande ajuda quando temos dados de diversas fontes e precisamos destiná-los para locais diferentes!
Não se esqueça das restrições que a caixa de diálogo cria e de configurar corretamente as comparações!
Baixe aqui os arquivos.
Se inscreva na minha newsletter.