em 12-15-2020 04:42 PM
Batch Macro
Na primeira parte da série sobre Macros falamos do conceito, tipos e até fizemos um exemplo de Standard Macro. Se você não viu, segue o Guia de Introdução à Macros: Parte 1
Hoje iremos abordar sobre uma poderosa forma de tratar dados em lotes no Alteryx: Batch Macro.
Para quem conhece programação é o mesmo conceito do "FOR". Basicamente processa uma regra para registros individualmente ou para grupos de registros de uma só vez, como na representação abaixo:
Exemplo: Geração automatica de relatórios por loja. Se na base de dados de origem tiver registros de vendas de 4 lojas, a Batch Macro irá gerar 4 relatórios diferentes, um para cada loja. Ou seja, em lote.
Quando falamos de Batch Macro há uma ferramenta específica que devemos considerar: Parametro de Controle. Iremos explorá-la melhor mais adiante mas basicamente a presença dela determina que uma Macro é do tipo Batch.
Um parâmetro de controle é a entrada para cada iteração de uma Batch Macro. Para cada registro que entrar pelo Parâmetro de Controle, a Macro inteira será reconfigurada e executada do início ao fim baseada nessa entrada.
Exemplo:
No cenário abaixo temos a tabela 1 com um identificador e um número. Esse valor deverá ser multiplicado pelo fator da tabela 2, usando o identificador como chave de comparação. Ou seja, o registro com Record 1 deverá ter seu valor multiplicado pelo valor 2, da segunda tabela.
Resultado esperado:
Fácil, né? Mas o desafio é fazer esse cálculo sem usar a farramenta de Junção 😉
Então vamos fazer nossa primeira Batch Macro.
Passo 1:
O primeiro passo é criar a porta de entrada principal da nossa Macro, que nesse caso é o nosso arquivo com os identificadores e os números que serão multiplicados. Uma forma fácil de fazer isso é convertendo uma Entrada de Dados em uma Entrada de Dados para Macro, como na imagem abaixo:
Também seria possível criar e configurar manualmente essa ferramenta conforme esse link.
Uma vez feito isso temos um workflow que nesse momento passa a ser uma Macro, mas até aqui, uma Standard Macro não uma Batch Macro.
Passo 2:
Agora vamos configurar o que a nossa Macro deverá fazer. Nesse caso precisamos multiplicar o valor número da entrada por um outro valor. Portanto, vamos adicionar uma Ferramenta de Fórmula e criar uma expressão Dummy, que servirá apenas como base para os próximos passos.
Passo 3:
Inserir a Saida da Macro, que é a Ferramenta Saída de Macro:
Passo 4:
Inserir a Ferramenta Parâmetro de Controle:
Passo 5:
Configurar o Parâmetro de Controle e a Ferramenta de Ação:
Definindo a mensagem de Entrada da Ferramenta Parâmetro de Controle que será a entrada do campo Multiplicador:
.
Configurando a Ferramenta de Ação para substituir o valor "10" (campo dummy) pelo campo Multiplicador que virá da ferramenta Parâmetro de Controle:
Feito isso, vamos salvar o fluxo de trabalho. Observe que agora o fluxo tem a extensão *.yxmc, que é a extensão de uma Macro.
Passo 6:
Usando a Batch Macro:
Uma vez criada a Batch Macro, podemos usar em nosso fluxo de trabalho. Para isso basta clicar com o botão direito sobre qualquer área vazia do fluxo de trabalho, Inserir, Macros, conforme imagem abaixo:
Agora com a Batch Macro inserida no fluxo de trabalho, selecione as Entradas da nova ferramenta.
O campo Record ID é o idenficador que a Batch Macro irá usar para processar o lote:
E na entrada inferior o campo multiplicador:
E voilá, temos o nosso primeiro fluxo de trabalho usando uma Batch Macro e esse é o resultado ao executá-lo:
Agora que aprendemos como fazer e utilizar uma Batch Macro, use a sua imaginação: Como essa poderosa técnica pode te ajudar? 😉
Enjoy it.