fbpx

função SWITCH

#ABCdoDAX

Função SWITCH

A função SWITCH é uma alternativa mais elegante à função IF.

Basicamente ela faz a mesma coisa da função IF, que é a de oferecer “caminhos” a partir de uma condição definida inicialmente. Sua vantagem em relação à função IF é que a função SWITCH oferece uma legibilidade melhor, sendo bem mais fácil de compreender sua lógica do que quando usamos diversos IF em uma mesma sentença.

No exemplo a seguir vamos indicar numa tabela se aquele período gerou lucro ou prejuízo (para fins de exemplo aqui não diferenciamos regime de caixa / competência, por isso chamaremos de Lucro/Prejuízo se teve caixa positivo ou negativo).

Inicialmente vamos criar as 2 medidas para as entradas e as saídas. para criar as medidas vamos em PÁGINA INICIAL > NOVA MEDIDA e escrevemos na barra de fórmulas a medida usando a função SUM.

Daí formatamos ambas medidas e as movemos para a tabela de medidas.

 

Agora vamos criar uma medida que verifique se a diferença entre entradas e saidas.

Temos 3 respostas possíveis:

  • Se Entradas > Saídas então tivemos “Lucro”
  • Se Entradas < Saídas então tivemos “Prejuízo”
  • Se Entradas = Saídas então não tivemos nenhum dos 2.

Se fosse uma função IF, ela seria mais ou menos assim:

= IF (Entradas>Saídas, “Lucro”, se(Entradas<Saídas,”Prejuízo”,”-“))

Precisaríamos de 2 funções IF para fazer isso funcionar corretamente.

Como funciona a função SWITCH

Os argumentos da função SWITCH são:

1º argumento: O valor que buscamos. Pode ser um número, um texto, um cálculo. Ao contrário da função IF ele não precisa ser uma condição que responda somente VERDADEIRO / FALSO.

Poderíamos por exemplo criar uma medida na qual dependendo do número do mês faríamos algo diferente. Então nossa função começaria com o número do mês. Significa que nessa função o primeiro é apenas o indicativo da variável que usaremos.

No exemplo seria o número do mês. O que faremos com cada número de mês é dado nos demais argumentos.

2º argumento, é um valor esperado para o 1º argumento.  no exemplo do mês poderia ser 12, já que 12 representa o número de um mês.

3º argumento é o que faremos quando o valor indicado no 2º argumento ocorrer. Poderíamos escrever “Natal”.

Daí teremos duplas de argumentos, sendo o primeiro deles um valor esperado e o 2º da dupla o que faremos com ele.

Neste nosso exemplo hipotético usando meses a função SWITCH ficaria:

=SWITCH(número do mês, 12, “Natal”, 7, “Festa Junina”, 3, “Carnaval”, “-“)

Note que nosso último argumento não tem valor. É porque representa o argumento dos meses que não foram indicados, isto é, meses que não sejam 12, 7 ou 3.

Agora vamos a nosso exemplo do arquivo.

A função SWITCH não permite que os valores dos argumentos sejam  apresentados assim. Eles precisam ser apresentados como um valor absoluto. Significa que o exemplo abaixo não funciona:

O primeiro argumento pode existir, lembrando que ele teria infinitas respostas, pois é a diferença de 2 valores.

Já o “>0” não pode, porque ele precisa ser um valor absoluto, 10, -10, 0, 100000, verdadeiro, falso não importa.

Então para “enganar” a função nós vamos inserir nos argumentos diretamente o teste lógico, isto é, cada argumento terá o cálculo Entradas-Saídas.

Veja:

O que estamos fazendo nessa medida?

O primeiro argumento é um valor, TRUE(), que é “VERDADEIRO”.

Fazendo isso nossos argumentos precisarão ser testes lógicos, pois devemos buscar qual deles retorna um VERDADEIRO (só tome cuidado porque somente um argumento poderá dar essa resposta).

Daí no 1º argumento colocamos o cálculo Entradas-Saídas>0, isto é, não incluímos somente a conta e sim o teste lógico, porque quando fizermos isso a resposta será obrigatoriamente VERDADEIRO ou FALSO, que é o valor que estamos buscando.

O 2º argumento é o que queremos que apareça na medida

Daí o 3º/4º checa se é negativo e o último se não for maior e nem menor, isto é, zero.

Se colocarmos essa medida numa tabela teremos isso:

Melhorando a função

Note que repetimos duas vezes a fórmula Entradas – Saída, o que deixou a fórmula longa.

Podemos melhorar isso criando uma variável para esse valor.

Veja como ficará e em seguida explicamos o que fizemos:

Logo depois de inserirmos o nome da medida damos um ALT ENTER para pular a linha. Depois damos um TAB para dar um espaço para inserirmos a variável.

VAR é a função na qual definiremos o nome da variável (no caso, valorResultado) e seu cálculo.

Então nossa variável armazenará a diferença entre entradas e saídas.

Depois inserimos outro ALT ENTER e escrevemos RETURN para indicar que terminamos de inserir as variáveis.

Damos outro ALT ENTER e inserimos nossa função SWITCH, só que desta vez usando a variável ao invés de fazermos as contas.

O resultado será o mesmo, mas a função ficará mais legível.

Licença Creative Commons

OUTROS ARTIGOS DE INTERESSE

Fabio Vianna
Siga-Me

Nossas Redes Sociais

Facebook
Linkedin
Instagram
Youtube