Olá, pessoal!

Recentemente, utilizando o Power BI, precisei criar uma tabela com o nome do mês correspondente a sua numeração. Ex:
01 – Janeiro
02 – Fevereiro
03 – Março
….
Eu, particularmente, conheço duas formas para resolver isso: Usar o IF ou o SWITCH.

Usando o IF, o código ficaria assim:

NomeMês =
IF([MêsNúmero] = 01;”Janeiro”;
IF([MêsNúmero] = 02;”Fevereiro”;
IF([MêsNúmero] = 03;”Março”;
IF([MêsNúmero] = 04;”Abril”;
IF([MêsNúmero] = 05;”Maio”;
IF([MêsNúmero] = 06;”Junho”;
IF([MêsNúmero] = 07;”Julho”;
IF([MêsNúmero] = 08;”Agosto”;
IF([MêsNúmero] = 09;”Setembro”;
IF([MêsNúmero] = 10;”Outubro”;
IF([MêsNúmero] = 11;”Novembro”;
IF([MêsNúmero] = 12;”Dezembro”;
“N/I”
))))))))))))

Usando o SWITCH, ficaria assim:

NomeMês = SWITCH( [MêsNúmero];
01;”Janeiro”;
02;”Fevereiro”;
03;”Março”;
04;”Abril”;
05;”Maio”;
06;”Junho”;
07;”Julho”;
08;”Agosto”;
09;”Setembro”;
10;”Outubro”;
11;”Novembro”;
12;”Dezembro”;
“N/I”)

Resultado:

Aula 17 - IF X SWITCHO IF, nesse caso, não é tão prático, visto a quantidade de IFs aninhados e de parênteses no fim. É muito fácil se perder no meio do código se ele não estiver bem endentado.

O Switch é muito mais clean do que a fórmula IF – você não precisa repetir a coluna [MêsNúmero] em todas as condições testadas e existe apenas um único parêntese de fechamento.

Fazendo uma analogia com o SQL, a função Switch segue o mesmo raciocínio da expressão CASE.
Gostou?

Deixe seu comentário!
Até o próximo.

Meirieli Ribeiro

Power BI – IF X SWITCH
Classificado como:            

11 ideias sobre “Power BI – IF X SWITCH

  • 17 de maio de 2018 em 5:12 PM
    Permalink

    Meirieli, bom dia!

    Parabéns pelo trabalho e pela clareza do conteúdo desse post.

    Resposta
    • 20 de maio de 2018 em 6:40 PM
      Permalink

      Vlw, Ricardo! Continuarei escrevendo com os cases do dia-a-dia! Grande abraço!

      Resposta
  • 13 de março de 2018 em 1:47 PM
    Permalink

    Meirieli, perfeito a dica, mas fiquei com a seguinte dúvida. Conseguimos Eliminar o “N/I”, para que o mesmo não fique exibindo na segmentação de dados ?

    Resposta
    • 16 de março de 2018 em 4:30 PM
      Permalink

      Vc pode tratar, adicionando um filtro para que o N/I não apareça. Só valide se tem informação, como por exemplo, valor para um registro sem valor. Isso poderá alterar o seus resultados. 🙂

      Resposta
  • 13 de dezembro de 2017 em 2:02 PM
    Permalink

    Olá Meirieli. Tudo bem?
    É possível criar uma coluna utilizando IF ou SWITCH com Web URLs? Por exemplo, a partir de determinado filtro feito em um relatório, existe uma url para outro painel com o mesmo filtro.
    Obrigada!
    Abs.

    Resposta
    • 18 de dezembro de 2017 em 8:00 PM
      Permalink

      Olá, Juliana! Tudo bem? Eu não sei se entendi bem a sua dúvida, mas, você pode usar Bookmarks para navegar entre as páginas.
      O IF e SWITCH vc pode usar para colocar imagens na condição, desde que o seu campo seja categorizado como URL da Imagem.
      Um caso muito comum de uso é com KPIS, se foi bom, ruim ou médio!
      Em breve pensarei em um post explicando esse cenário.
      Abs!

      Resposta
  • 5 de outubro de 2017 em 6:07 PM
    Permalink

    Vou conferir, agradeço pelo retorno, parabéns pelo serviço.
    Estou tentando organizar uma coluna DATA pela sequência numerada de meses, qualquer dica para simplificação aceito.
    Abraços

    Resposta
    • 5 de outubro de 2017 em 7:00 PM
      Permalink

      Tenta criar uma tabela de calendário. Aqui no blog tem um post CALENDAR X CALENDARAUTO. Dá uma olhada. Se tiver dúvidas, pode perguntar que te ajudo. Abs.

      Resposta
  • 5 de outubro de 2017 em 5:09 PM
    Permalink

    Parabéns pelas publicações, tudo muito bem explicado.
    Estou tendo problemas em relação a coluna referenciada no SWITCH
    NomeMês = SWITCH( [Mes];…
    //[Mes] é uma coluna de valor INTEIRO em uma tabela diferente da qual se encontra a medida a ser feita,
    ‘crm vwMotivo’
    Tentei NomeMês = SWITCH(‘crm vwMotivo’ [Mes];… mas não deu certo.
    O problema está na troca de tabelas ou por não ser uma medida?
    Estou no Power BI a pouco tempo, agradeço desde já.

    Resposta
    • 5 de outubro de 2017 em 5:26 PM
      Permalink

      Olá, Diego. Tudo bem?
      Nesse caso, é preciso criar uma coluna calculada. Por padrão, no Power BI, a coluna deve ser criada onde ela consome conteúdo. Ou seja, se você for utilizar dados da tabela A, deve criar a coluna na A. No seu caso, me parece que você está criando na A consumindo dados da B, certo? Tenta criar na mesma tabela e me informa se funcionou. Abs!

      Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *