Free Trial

Base de conhecimento

Guia de Introdução à Macros: Parte 2

fvilelabr
Alteryx Alumni (Retired)
Created

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:

 

fig5.png

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.

 

parametro_controle.jpg

 

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.

 

Image2.PNG

Resultado esperado:

 

image3.PNG

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:

 

image4.PNG

 

Também seria possível criar e configurar manualmente essa ferramenta conforme esse link.

 

image5.PNG

 

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.

 

image6.PNG

 

Passo 3:

Inserir a Saida da Macro, que é a Ferramenta Saída de Macro:

 

iamge7.PNG

 

Passo 4:

Inserir a Ferramenta Parâmetro de Controle:

 

image8.PNG

 

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:

 

image9.PNG.

 

Configurando a Ferramenta de Ação para substituir o valor "10" (campo dummy) pelo campo Multiplicador que virá da ferramenta Parâmetro de Controle:

 image10.PNG

 

 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.

 

image11.PNG

 

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:

 

image12.PNG

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:

 

image13.PNG

 

E na entrada inferior o campo multiplicador:

 

image14.PNG

 

E voilá, temos o nosso primeiro fluxo de trabalho usando uma Batch Macro e esse é o resultado ao executá-lo:

 

image15.PNG

 

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.

 

giphy

Contribudores
Rótulos