Free Trial

Base de conhecimento

Usando expressões condicionais para alterar seus dados

Community_Admin
Alteryx
Alteryx
Created

Um grande componente da combinação de dados é a aplicação de processos matemáticos ou transformacionais a subconjuntos de dados.  Geralmente, isso exige isolar os dados que estão em conformidade com determinados critérios que você definiu:

 

  • "Só quero sinalizar as SKUs para produtos cujo custo for inferior a 10 dólares"
  • “Clientes com idade entre 25-40 anos devem ser classificados como Grupo A, 41-65 anos como Grupo B e de mais de 66 anos como Grupo C”
  • "Categorize transações como dia útil ou fim de semana"
  • "Se um produto for Vermelho, renomeie para R (Red). Se for Azul, renomeie para B (Blue). Se for amarelo, para Y (Yellow). Se for Verde, para G (Green). Caso contrário, renomeie para Outro (Other)"

Alguma dessas situações lhe parece familiar? Se for assim, um bom ponto de partida para começar a transformar seus dados é com as funções condicionais da ferramenta Fórmula (Figura 1).  As funções condicionais criam expressões que permitem aplicar processos aos dados que satisfizerem as condições definidas por você.

 

2018-11-14_13-09-49.png

 

Não importa se você vem do mundo do SQL, Excel, R ou outro programa de dados que esteja tornando sua vida mais difícil do que deveria ser, o conceito de Expressão condicional permanece o mesmo: se uma condição é ou não verdadeira, então aplique um processo ou resultado.  Caso contrário, aplique um processo ou resultado diferente.  Essa lógica pode ter o formato de um entre quatro tipos diferentes de expressões:

 

1) Uma instrução IF tradicional pode ser uma ferramenta poderosa para a transformação de dados. Estruturalmente, o Alteryx exige quatro cláusulas distintas para aplicar esse tipo de lógica aos dados:

 

IF uma condição (não) for verdadeira THEN aplique a Função A ELSE aplique a Função B ENDIF

 

Ou seja, SE uma condição for (ou não for) verdadeira, ENTÃO aplique uma função, SENÃO aplique uma outra função, FIM DA INSTRUÇÃO. Usando a primeira situação (SKUs e Preços) como exemplo, a instrução IF nos permite determinar quais produtos serão sinalizados para análise posterior:

 

 

2018-11-14_13-12-17.png

 

 

2) Uma instrução IF aninhada permite que múltiplas condições sejam definidas, essencialmente formando uma cadeia de instruções lógicas, ou seja, usando instruções lógicas repetidas semelhantes em uma única instrução IF. Embora a documentação forneça um exemplo com três condições definidas, isso não representa, de forma alguma, um limite no número de critérios que podem ser definidos.  Contanto que a sintaxe correta seja utilizada, muitas outras condições podem ser definidas!

 

Considere a segunda situação (grupos de clientes por idade).  Ao continuar com a sintaxe correta, quatro grupos (A, B, C e Outros) são criados como resultado da instrução aninhada.  Ao trabalhar com instruções aninhadas, pode ser útil dividir cada cláusula em uma nova linha na Caixa de expressão, como mostra o exemplo abaixo.

 

2018-11-14_13-48-43.png

 

3) Embora as instruções IF em linha (IIF) empreguem uma lógica semelhante às instruções IF, avaliando uma condição como "verdadeira" ou "falsa", elas diferem sintaticamente. As expressões IIF exigem três componentes, cada um separado por uma vírgula: uma expressão booleana para avaliar, o resultado “Verdadeiro” e o resultado “Falso”.  Os resultados Verdadeiro e Falso têm suporte não apenas para texto, mas também para operações matemáticas.  No caso da terceira situação, em que um registro só pode ser classificado como um de dois tipos (Dia útil ou Fim de semana), uma declaração IIF categoriza efetivamente os dados conforme uma lógica de teste que analisa se o valor da coluna dos dias [Day] não é sábado (Sat) ou domingo (Sun).  O resultado Verdadeiro dessa instrução retorna "Weekday" (dia útil); o resultado Falso, "Weekend" (fim de semana). 

 

2018-11-14_13-59-35.png

 

 

 

4) A função Switch da ferramenta Fórmula é excepcional! Ela é parte ferramenta Localizar e substituir, parte IF aninhada, parte instrução CASE do SQL... é super útil! Essa expressão avalia múltiplas condições para atribuir um resultado designado.  Se nenhuma condição for atendida, será definido um valor padrão (Value).  A função Switch oferece algumas vantagens sobre funcionalidades semelhantes no Alteryx.  Primeiro, ela garante grande parte da flexibilidade de uma instrução IF aninhada sem a necessidade repetir IFs, THENs, ELSEIFs... etc.     Segundo, ela pode cumprir uma função semelhante à da ferramenta Encontrar e substituir sem ter que criar uma segunda instância de todos os dados que você deseja localizar e os dados correspondentes usados para substituí-los.  Um método mais rápido e com menos chance para erros de digitação? Tô dentro!

 

2018-11-14_14-07-04.png

 

 

Observação: os tipos de operadores que podem ser usados em uma expressão dependem do tipo de dados do campo de saída.  Se a saída for uma cadeia de caracteres (String ou outro tipo de texto), o resultado exige aspas (simples ou dupla) ao redor.  Observe como cada um dos nomes dos grupos 'A', 'B' ou 'C', por exemplo, está envolvido por aspas simples dentro da Caixa de expressão.  Campos numéricos, por outro lado, não exigem que o resultado seja escrito entre aspas.

 

2018-11-14_14-11-43.png

 

 

 *O fluxo de trabalho em anexo é compatível com o Alteryx Designer v10.0 e superior. 

 

 

#

Contribudores
Rótulos