O que você vai aprender?
Com a mais recente atualização do Alteryx (Versão 2023.1) recebemos mais uma grande funcionalidade, a possibilidade de configurar a sequência e ordem de execução de fluxos no Alteryx. E na dica de hoje vamos mostrar como usar essa funcionalidade.
Nessa dica, vamos dar algumas sugestões para documentar e organizar o seu fluxo de trabalho.
INTRODUÇÃO
Quando falamos de agendas automáticas de execução, uma das coisas que pensamos são os Steps (passos), ou seja, Após executar o fluxo “A”, execute o fluxo “B”, ou até mesmo, em caso de falha do fluxo “A”, execute o fluxo “C”. Tudo isso graças a nova ferramenta “CONTROL CONTAINER”
Além da execução sequencial, também temos a possibilidade da execução condicional. Vamos explorar um pouco mais as 2 possibilidades.
Caso 1: Execução Condicional
A Ferramenta de “Control Container”, funciona como uma ferramenta normal do Alteryx, ou seja, ela possui uma âncora de entrada e uma âncora de saída, sendo que como podemos ver abaixo, a entrada é Opcional (destacada pela cor cinza).
Caso uma conexão seja feita com a entrada do container, este só será executado quando ao menos um registro chegar até ele. Se nenhuma conexão for feita, o Control Container irá funcionar da mesma forma que um container.
Vamos ver um exemplo, e para isso utilizaremos a seguinte base de dados:
Essa base tem uma condição que, quando eu tiver ao menos uma pessoa com mais de 60 anos, precisamos realizar uma análise de aposentadoria em todos.
Como isso seria feito em versões anteriores? Precisaríamos verificar se existe alguém com mais de 60 anos, e levar essa informação de volta para a base de dados, e aí sim realizar a nossa análise. Ficaria mais ou menos assim:
Agora com o novo Control container, podemos fazer o fluxo da seguinte forma:
Se tiver ao menos um registro com “Idade > 60”, o container será executado fazendo a análise de aposentadoria.
Mas e se eu não tivesse ninguém com mais de 60 anos? Bem, nesse caso 0 REGISTROS seriam passados pelo container, logo nenhum dado chegaria a ferramenta de browse, indicando que essa base não se enquadra na análise realizada.
Então eu perderia meus dados se não tivesse ninguém com menos de 60 anos?
Bem, com a configuração acima sim, mas a forma correta de construirmos essa lógica seria assim, realizando também a verificação de pessoas com idade menor que 60 anos.
Olhando no exemplo, parece ser pouco performático e muito complexo, mas lembre-se que esse é um exemplo curto, onde o container não seria necessário, quando tratamos de lógicas extremamente complexas onde várias regras, cálculos, tratativas e análises são realizadas o container se torna cada vez mais viável, pois de acordo com as condições, apenas a parte NECESSÁRIA do fluxo será executada
Caso 2: Execução em Sequência
Como falamos anteriormente, o control container funciona como uma ferramenta, tendo entrada e saída. No exemplo anterior interagimos exclusivamente com a entrada, mas e a saída ?
A saída dessa ferramenta irá gerar um resultado padrão referente ao fluxo contido nela, ou seja, se aquele bloco contido dentro do control container foi executado com sucesso ou não, além de informações genéricas quanto a execução do container.
Uma execução realizada com sucesso, irá resultar nas seguintes informações:
Um resumo da execução das ferramentas contidas no container por ID. Além da mensagem de inicialização do container e término da execução ao fim.
Já no caso de falha:
Observem que assim como na execução com sucesso, o container foi COMPLETADO, mesmo tendo um erro na ferramenta de id 8, o fluxo ainda foi executado e o container completado.
E o que podemos fazer com essa informação? Bem, perceba que são dados, então eu posso criar um fluxo a partir dessa saída para verificar se existiu algum erro durante a execução, ou até mesmo se teve algum erro em uma ferramenta específica.
Vamos usar um fluxo como exemplo
Neste fluxo tivemos um erro na ferramenta de Append Fields, mas na sequência uma ferramenta de filtro foi incluída para verificar se ocorreu algum erro durante a execução do control container, caso esse erro ocorra, um e-mail precisa ser enviado.
Notem que mesmo com o erro, o fluxo continuou sendo executado e enviando o email em seguida.
ENTÃO, com essa nova funcionalidade podemos criar vários passos em sequência para execução de uma série de fluxos, chega daquela vida de executa o fluxo A depois o B e depois o C. Agora podemos juntar todos eles em um único fluxo com todas as validações e análises entre fluxos feitas de forma automática e com alertas.
E o maior impacto dessa funcionalidade é no Alteryx Gallery, onde nossa agenda de execução automática irá conseguir rodar vários passos em sequência dentro de um mesmo fluxo, inclusive com etapas orientadas a dados, uma funcionalidade diferencial para o tratamento de dados.