Saltar para o conteúdo principal
Menu
Pedir proposta →

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):

Como criar função if no power query

E irá abrir automaticamente a seguinte janela:

Adicionar condições para criar função if no power query

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:

  1. Column Name (Nome da coluna):

Aqui, deve selecionar qual das colunas disponíveis na consulta quer usar para a condição.

Selecionar colunas disponíveis na base de dados

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:

Escolher operador para função if no power query

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:

Opções de operador quando coluna número moeda
  • Coluna de data:

Para uma coluna de Data, as opções são atualizadas para:

Opções de operador quando coluna data

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).

Adicionar valor da condição para criar função if no power query

No caso da coluna selecionada for de data, fica disponível um ícone de calendário onde pode selecionar as datas pretendidas:

Opção para selecionar datas

Neste exemplo, vamos colocar 21:

Exemplo de ano 2021 para criar condição

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.

Selecionar opções de output

No exemplo, vamos considerar “Novo modelo”:

Exemplo de novo modelo como opção de output

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:

Campos preenchidos para criar função if no power query

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:

Coluna Modelo Antigo Novo preenchida para exemplo 1

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”:

Editar a coluna condicional

E, ao clicar OK, a coluna é atualizada:

Coluna Modelo Antigo Novo preenchida para exemplo 2

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:

Inserir Ifs encandeados no Power Query início

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:

Coluna Modelo Antigo Novo preenchida para exemplo 3

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:

Editar código na criação da função if no power query opção 1
  1. Ir ao Advanced Editor (Editor Avançado) no Separador Home (Base), que é onde ficam registadas todas as transformações:
Editor avançado no power query
Editar código na criação da função if no power query no editor avançado

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!