em 12-21-2021 07:31 AM
A ferramenta RecordID é muito útil para dar um ID único a cada linha do seu conjunto de dados. Ela simplesmente adiciona uma sequência numérica, baseada num valor inicial numérico (que pode ser um inteiro, ou até uma string). Ela é extremamente fácil de configurar e além de dar uma chave única para cada registro, ela pode ser utilizada para mescla de dados, reorganização posicional do conjunto, ordenação, etc.
Porém, quando se quer classificar grupos de registros dentro de um conjunto de dados, o RecordID não é suficiente. Aí que entram duas ferramentas que podem ser empregadas para contornar o problema de maneira bem simples: Tile Tool (Ferramenta bloco) e Multi-Row fórmula (Fórmula de múltiplas linhas).
Vamos trazer um exemplo e explorar possíveis soluções para o caso identificado.
Temos um conjunto de dados em com todas as rodadas do Campeonato Brasileiro, entre 2000 e 2019. Neste conjunto, os campos representam dados de cada partida, como a data, horário, time mandante, time vencedor, etc.
E se por acaso, quiséssemos saber qual foi a 100ª partida desde 2000 em cada estádio? Infelizmente o RecordID não funcionaria, pois faria uma sequência de todas as partidas. Queremos dividir os IDs por estádio, e filtrar um a um também seria um processo moroso e desnecessário. Vamos então pela primeira alternativa – a Tile tool!
A maneira mais fácil de criar este ID seria utilizando a opção “Unique Value” (Valor único). Para cada valor único da coluna Arena (neste caso, o estádio), será criado um identificador numérico, e se esse valor se repetir, será criada uma sequência numérica. Estes dois campos são denominados no Alteryx como Tile_Num e Tile_SequenceNum, respectivamente. Ao se fazer isso, o conjunto de dados é automaticamente ordenado de A a Z, pelo campo selecionado (Arena).
Após a criação dos IDs, bastaria filtrar o campo Tile_SequenceNum = 100 para encontrar a centésima partida em cada estádio. Bem tranquilo, não? Isso foi facilitado pois o campo de Data foi o critério utilizado na sequência, visto que os registros já vem pré-ordenados por Data.
Com a Tile Tool, é possível criar mais grupos internos – por exemplo, se eu quisesse saber a 100ª partida do Fluminense no Maracanã como mandante, bastava selecionar a coluna “Clube 1” na configuração da ferramenta.
Por sinal, o Flu bateu o Juventude por 3x2
Agora e se quisermos fazer com a Multi-Row Formula? Sem problemas! Também dá, porém com um pouco mais de trabalhinho. Vamos lá!
Primeiramente, precisamos ter certeza que estamos com os dados devidamente ordenados e classificados. Neste caso, vamos utilizar a ferramenta “Sort” para colocar os registros por Arena (estádio) e Data.
Ao adicionar a ferramenta Multi-Row, precisamos configurá-la e criar a expressão lógica para comparar as linhas próximas. Neste caso, teríamos que agrupar por Arena, pois queremos criar um ID único para cada Arena nova que aparece no conjunto de dados. A expressão criada leva em consideração a linha anterior – caso o ID ainda não exista (ou seja, igual a 0), começaremos pelo número 1. A partir daí, cria-se a sequência, adicionando sempre 1 ao anterior, até que se encontre uma nova Arena (faz-se o reset da sequência).
Caso não queira utilizar o “Group By” e não queira agrupar por nenhum campo, você pode também inserir a condição de comparação entre grupos dentro da expressão. Se a linha anterior da Arena for diferente da atual, começamos a sequência no número 1. Caso contrário (seja igual), adicionamos 1 a linha anterior e seguimos a sequência.
E aí, me diz, qual das opções mais gostou ou mais utiliza? Você tem alguma maneira alternativa de fazer isso? Caso tenha, compartilhe conosco por aqui!
Um abraço e até a próxima,
Boa dica, nunca tinha usado o Tile, nem sabia para oque ele servia, haha'
Estou começando agora com o Alteryx e é muito bom pegar um conteúdo assim mastigadinho. Obrigadão!