P A T H

Como fazer uma macro iterar para cada valor distinto em uma coluna

O que você vai aprender?

Já mostramos antes como podemos criar uma macro iterativa (clique aqui para ver essa dica!).

 
Nesta dica, vamos entender como podemos fazer a macro iterativa iterar uma vez para cada valor de uma determinada coluna da base. Isso é importante quando precisamos que os dados que vão ser tratados na macro estejam em conjunto, agrupados por uma coluna, e não linha a linha, como normalmente fazemos na macro iterativa.

INTRODUÇÃO

Para esta dica, iremos utilizar uma base de exemplo de uma loja.

Vamos supor que precisamos mandar um e-mail com os dados da base correspondes à cada gerente:

Cada gerente irá receber um relatório tabelar apenas com as informações que estão nas linhas correspondentes ao seu nome. (Gerente 01 irá receber apenas até a linha 07, e assim por diante).

PASSO 1: CRIAR UM ID PARA A COLUNA QUE SERÁ USADA

Vamos criar um ID para cada E-mail, pois precisamos que na macro, todas as linhas que pertençam ao mesmo gerente sejam processadas juntas. Existem várias formas de criarmos esse ID, neste fluxo de exemplo vamos utilizar a ferramenta de Fórmula de múltiplas linhas. Primeiro, vamos ordenar os dados pela coluna de E-mail utilizando a ferramenta de ordenar. Depois, iremos configurar a ferramenta de Fórmula de Múltiplas Linhas da seguinte forma:

IF [Row-1:Coluna] = [Coluna] THEN [Row-1:ID Coluna] ELSE [Row-1:ID Coluna] + 1 ENDIF

 

Essa fórmula faz com que, se o e-mail da linha for igual o da linha anterior, pegue o mesmo ID, se não, some 1 a o ID da linha anterior. Após isso, nosso campo de ID será criado:

PASSO 2: CONFIGURAR A MACRO PARA ITERAR BASEADO NO ID CRIADO

Agora, basta criarmos a condição para fazer a macro iterar sobre cada conjunto de dados que possui o mesmo ID. Vamos utilizar apenas uma ferramenta de Filtro. Ligue a entrada da macro na entrada da Ferramenta de Filtro, ligue a saída F do Filtro na saída de iteração da macro. Ligue a saída T do filtro no fluxo da macro, como mostrado abaixo:

Dica Alteryx #111 - Imagem 04

O truque está na configuração desta ferramenta de filtro. Nela, vamos fazer a seguinte condição:

Dica Alteryx #111 - Imagem 05

[ID Coluna] = [Engine.IterationNumber] + 1

 

A variável “IterationNumber” nos retorna o número daquela iteração e ela inicia no valor 0, portanto, se aquela é a primeira iteração ela irá retornar 0. Essa fórmula permite que em cada iteração, apenas um grupo de ID seja passado pela macro de cada vez. (Na primeira iteração apenas as linhas que possuem ID = 1, na segunda apenas as linhas que possuem ID = 2, e assim por diante).

Como último passo, não esqueça de configurar o Design de Interface e selecionar a saída da iteração para a macro funcionar corretamente.

Dica Alteryx #111 - Imagem 06

13 de Outubro de 2022

Pronto! Agora você já sabe como fazer uma macro iterar para cada valor distinto em uma coluna.

Language