A função condicional If (Se) para muitas pessoas é algo muito complexo de entender. Pior ainda quando precisa de criar If’s encadeados, ou seja, várias condições dentro de condições. No entanto, com o Power Query isso deixa de ser um problema. Pode criar todas as condições necessárias, usando a função If no Power Query de uma forma muito simples e intuitiva e, assim, mudar a sua vida e deixar de se sentir frustrado quando precisa de criar uma fórmula com várias condições.
É isto mesmo que lhe vou ensinar a utilizar neste artigo.
Caso ainda não seja utilizador do Power Query, recomendo que comece por ler este artigo.
Como criar uma função If no Power Query
Quando cria uma fórmula com vários If’s, precisa de ter muita atenção aos parênteses para ter a certeza que está a criar as condições certas, o que muitas vezes resulta na perca de algum tempo desnecessário na construção da mesma.
No Power Query pode obter o mesmo resultado de forma muito simples.
Para criar uma função If no Power Query, tem de ir ao separador Add Column (Adicionar Coluna) > Conditional Column (Coluna Condicional):
E irá abrir automaticamente a seguinte janela:
Vamos considerar como exemplo a seguinte condição: Se o ano de lançamento for 2021 (21), queremos que apareça “Novo Modelo”, se não for 2021, pretendemos que apareça “Antigo”.
Comece por dar um nome à nova coluna, neste exemplo vamos chamar “Modelo Antigo/Novo”.
De seguida temos de inserir todas as condições pretendidas.
Analisando cada item da condição:
- Column Name (Nome da coluna):
Aqui, deve selecionar qual das colunas disponíveis na consulta quer usar para a condição.
2. Operator (Operador):
Consoante o tipo de dados da coluna selecionada (mais uma razão por ser importante ter o tipo de dados bem definido para cada coluna), os operadores disponíveis são diferentes.
Para o exemplo em questão, está a ser considerada uma coluna (Ano Lançamento) formatada como texto, pelo que tem disponíveis as seguintes opções:
Alguns exemplos para outros tipos de dados:
- Coluna de número/moeda:
Se escolher uma coluna formatada como número ou moeda, tem as seguintes opções:
- Coluna de data:
Para uma coluna de Data, as opções são atualizadas para:
3, Value (Valor):
No valor, pode inserir um valor manualmente, usar outra coluna para a condição ou ainda escolher um parâmetro (esta opção é um pouco mais avançada).
No caso da coluna selecionada for de data, fica disponível um ícone de calendário onde pode selecionar as datas pretendidas:
Neste exemplo, vamos colocar 21:
4. Output (Saída):
No output, também pode inserir um valor manualmente, outra coluna como resultado ou escolher um parâmetro para aparecer caso a condição seja verificada.
No exemplo, vamos considerar “Novo modelo”:
5. Else (Senão):
Caso a condição não seja verificada, deve inserir o que pretende que apareça, escolhendo entre um valor, coluna ou parâmetro também.
No exemplo que estamos a desenvolver, vamos considerar “Modelo antigo”:
Desta forma, o que temos é o seguinte:
Vamos ler a condição:
Se a coluna “Ano Lançamento” for igual a 21, então aparece a dizer “Novo modelo”, caso contrário, aparece a dizer “Modelo antigo”.
Super simples e intuitivo, certo?
Depois ao clicar OK, aparece a nova coluna:
Veja como foi simples criar uma função If no Power Query!
Editar a coluna condicional
Se precisar de editar a nova coluna que acabou de ser introduzida, pode clicar duas vezes no respetivo passo e abre novamente a janela com a(s) condição(ões) definidas.
Se, em vez de “Modelo antigo” quiser que apareça o ano desse modelo, em Else (Ao contrário), pode optar por escolher qual a coluna, neste caso, “Ano Lançamento”:
E, ao clicar OK, a coluna é atualizada:
Inserir Ifs encandeados no Power Query
A grande vantagem de criar a função If no Power Query, é que pode adicionar as condições que pretender, bastando clicar em Add Clause (Adicionar Condição) e surgirá uma nova linha para a nova condição:
Neste exemplo, podemos considerar que, se o ano de lançamento for igual a 20, então aparecerá “Ano passado”, caso contrário, aparecerá o ano de lançamento:
Desta forma, conseguirá construir os vários comboios de funções If (Se).
Caso pretenda criar uma fórmula mais complexa, combinando funções And (E) ou Or (Ou) tem de utilizar a linguagem M de uma das formas:
1. Clicando na barra de fórmulas e editando o código:
- Ir ao Advanced Editor (Editor Avançado) no Separador Home (Base), que é onde ficam registadas todas as transformações:
Se já utiliza o Power Query, já tinha por hábito utilizar a função Se no Power Query? Tem curiosidade em aprender mais sobre esta funcionalidade? E sobre o Power Query em geral?
Brevemente vou ter novidades sobre este assunto!