Free Trial

Base de conhecimento

Guia de Introdução à Macros: Parte 1

fvilelabr
Alteryx Alumni (Retired)
Created

Precisamos falar de Macros

 

Você já se deparou frente a uma situação onde ficou cansado de fazer a mesma coisa várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias e várias vezes?

 

giphy

 

Pois é, quem nunca? É ai que as Macros no Alteryx ajudam a simplificar as coisas. Basicamente uma macro é um fluxo de trabalho do Alteryx compactado para ser uma ferramenta.

 

Inclusive, sabia que muitas das ferramentas que você vê no Alteryx são macros?

 

giphy

 

Vamos dar uma olhada em um exemplo. Observe a ferramenta Contar Registros:

 Fig1.png

 

Ao clicar com o botão direito na ferramenta e selecionar a opção Abrir macro, podemos ver o que há por dentro dessa ferramenta:

fig2.png

 

Observe que a ferramenta Contar Registros, na verdade é um pedaço de um workflow empacotado realizando a contagem de registros.

fig3.png

Vamos trazer para um exemplo do dia a dia?

 

Imagina que no seu fluxo há uma série de ferramentas com o objetivo de validar se um determinado produto foi cadastrado corretamente ou não. Há fórmulas, junção em tabela de referência e algumas validações. O problema é que você tem que validar o cadastro de produto em diversos pontos do seu processo. Nesse caso há duas opções: copiar e colar a regra de validação em cada etapa OU empacotar esse conjunto de regras em uma única ferramenta e REUTILIZÁ-LA quando e onde quiser.

 

Crie apenas uma vez e estará pronta para ser usada sempre 😉

 

giphy

 

Agora que já sabemos o conceito geral de Macro, vamos entrar um pouco mais em detalhes sobre os tipos de macros existentes. Vamos falar de 3 tipos: Standard, Batch e Iterative.

 

Standard Macro:

fig4.png

É a simplificação de um workflow dentro de uma ferramenta. Uma Standard Macro irá realizar a mesma tarefa para cada registro que passar por ela.

Exemplo: Validação de CPF.

 

Batch Macro:

fig5.png

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.


Exemplo: Geração automática 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.

 

Iterative Macro:

fig6.png

Uma Iterative Macro tem o conceito de "Loop", ou seja, irá executar repetitivamente a mesma tarefa N vezes até atingir uma condição pré determinada.


Exemplo: Cálculo de juros composto por 36 meses. A Iterative Macro irá calcular o imposto até atingir a quantidade de meses definido para o empréstimo.

 

Que tal fazermos um exemplo prático?

giphy

 

O foco nesse post será Standard Macro, mas não se preocupe, falaremos mais dos outros tipos de Macros nos próximos. 😉

 

Nesse fluxo de trabalho há uma Fórmula que multiplica por 10 o valor de um campo e depois ordena esse campo do maior para o menor valor:

 

fig7.png

 

Vamos transformar essa parte do fluxo em uma macro. Há dois elementos básicos para uma Macro: Entrada de Macro e Saída de Macro. Essas duas ferramentas são encontradas na aba Interface.

 

fig8.png

 

Como o nome diz, uma será usada como "Entrada" da informação que será passada para a Macro, e a outra, a "Saída" ou retorno do resultado da Macro.

 

Podemos "arrastar e colar" no fluxo de trabalho essas ferramentas, ou clicar com o botão direito na nossa fonte atual e transformar essa ferramenta de Entrada em uma Entrada de Macro, como na imagem abaixo:

 

fig9.png

 

Ao fazer isso, automaticamente o fluxo de trabalho se transforma em uma Macro Standard e a ferramenta de Entrada muda a sua configuração, como a seguir:

 

fig10.png

 

 O final do processo poderá receber uma Saída de Macro, para retornar o resultado do processo:

 

fig11.png

Dessa forma, já temos uma Standard Macro pronta. 😃

 

E uma coisa bastante interessante quando falamos de Macro é que podemos deixá-la completamente parametrizada para que o usuário escolha o multiplicador usado no cálculo e a ordenação desejada.

 

Primeiro, vamos inserir uma ferramenta chamada Numérico Alto/Baixo, da aba de Interface, no fluxo:

 

fig12.png

 

Na aba de configuração, podemos alterar a descrição da pergunta que queremos que apareça para o usuário.

 

Lembrando: a ideia é fazer com que o valor passado pelo usuário altere o cálculo criado na ferramenta Fórmula.

 

Nota: Ligue a ferramenta Numérico ao símbolo de Raio da ferramenta de Fórmula. Assim o Alteryx vai inserir automaticamente uma ferramenta de Ação que será configurada para atualizar o valor desejado dentro da ferramenta Fórmula.

 

fig13.png

 

Configurando a ferramenta de Ação:

 

1- Escolher a ação: Atualizar Valor (Padrão)

2- Selecionar FormulaField -> @expression (que é o cálculo criado na ferramenta)

3- Substituir o multiplicador default (10) pelo valor passado pelo usuário

 

fig14.png

 

Dessa forma, já deixamos parametrizado o cálculo de multiplicação e agora faremos o mesmo para a ferramenta de Ordenação.

 

Vamos inserir no fluxo uma ferramenta chamada Menu Suspenso, e configurá-la da seguinte maneira:

 

1- Altere a mensagem que será passada para o usuário.

2- Valores da Lista, selecionar "Definir valores manualmente"

3- Na Propriedades, escrever como abaixo.

 

fig15.png

 

Na ferramenta de Ação, realizar a seguinte configuração:

 

fig16.png

 

Agora nossa Macro está pronta e basta salvá-la. Observe que o Alteryx salva uma macro com a extensão .yxmc

 

fig17.png

 

Para adicionar uma macro a um fluxo de trabalho, clique com o botão direito do mouse na tela e selecione Inserir ferramenta e, em seguida, procure a opção Macro na parte inferior.

 

fig18.png

 

Parabéns! Agora podemos usar nossa Macro no fluxo passando os parâmetros que desejamos:

 

fig19.png

 

giphy

 

Na sequência abordaremos Batch Macro e Iterative Macro. Fiquem ligados 😉

Comentários
carlosteixeira
15 - Aurora
15 - Aurora

Sensacional Vilela, parabéns pelo material... muito legal.

 

Abraços

 

Carlos Teixeira

LilianFarias
Átomo

Show!!
Parabéns pela didática.

andrewnavarro
Asteroide

Muito bom, 

Parabéns 👏, Material Excelente.

Contribudores
Rótulos