(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

Como usar a função SWITCH em DAX: passo a passo

João Barros 08 de July de 2026 4 min de leitura

A função SWITCH em DAX permite substituir vários IF encadeados por uma expressão limpa e fácil de ler. É ideal para transformar códigos em etiquetas, criar categorias personalizadas ou classificar valores por escalões, tudo numa única medida ou coluna calculada. A seguir, vês dois padrões práticos de SWITCH em DAX que resolvem a maioria dos casos do dia a dia.

Pré-requisitos

  • O Power BI Desktop instalado (ou acesso ao Power BI Service).
  • Um modelo com pelo menos uma tabela de dados carregada.
  • Noções básicas de medidas e colunas calculadas em DAX.
  • Uma coluna com valores para categorizar — por exemplo, uma prioridade numérica ou um total de vendas.

Passo 1: Perceber a sintaxe de SWITCH

A função SWITCH avalia uma expressão e compara-a com uma lista de pares valor/resultado. Quando encontra o primeiro valor igual, devolve o resultado correspondente. O último argumento, opcional e sem par, funciona como valor por omissão (o else).

SWITCH(
    <expressão>,
    <valor1>, <resultado1>,
    <valor2>, <resultado2>,
    ...
    <valor por omissão>   // opcional
)

Pensa nela como uma alternativa mais legível a escrever muitos IF uns dentro dos outros.

Passo 2: Criar uma coluna com SWITCH simples

Este primeiro exemplo de SWITCH em DAX transforma um código numérico numa etiqueta de texto. Imagina uma tabela Tarefas com a coluna Prioridade preenchida com 1, 2 ou 3. Cria uma nova coluna calculada:

Etiqueta Prioridade =
SWITCH(
    Tarefas[Prioridade],
    1, "Alta",
    2, "Média",
    3, "Baixa",
    "Não definida"
)

Se Prioridade for 1, a coluna mostra "Alta"; se for 2, mostra "Média"; e assim por diante. Qualquer outro valor (como 4 ou um campo vazio) cai no valor por omissão "Não definida". É uma forma rápida de tornar dados técnicos legíveis para o utilizador final.

Passo 3: Usar SWITCH(TRUE()) para escalões

O SWITCH simples só compara valores exatos. Quando precisas de intervalos ou condições (maior que, menor que), usa o padrão SWITCH(TRUE()). Em vez de um valor, avalias condições lógicas de cima para baixo e devolves a primeira que for verdadeira. Cria esta medida:

Escalão de Vendas =
VAR TotalVendas = SUM( Vendas[Valor] )
RETURN
SWITCH(
    TRUE(),
    TotalVendas >= 100000, "Ouro",
    TotalVendas >= 50000,  "Prata",
    TotalVendas >= 10000,  "Bronze",
    "Abaixo do mínimo"
)

Aqui a medida soma as vendas para a variável TotalVendas e depois classifica-a. A ordem é fundamental: como o SWITCH devolve a primeira condição verdadeira, as regras mais exigentes têm de vir primeiro. Um total de 120 000 é "Ouro", mesmo cumprindo também as regras seguintes.

Passo 4: Definir o valor por omissão e evitar erros comuns

Inclui sempre um valor por omissão no fim. Sem ele, as linhas que não correspondem a nenhuma condição devolvem BLANK(), o que costuma confundir quem lê o relatório. Há ainda dois erros frequentes a evitar:

  • Misturar tipos de dados nos resultados (texto num caso, número noutro). Mantém todos os resultados do mesmo tipo.
  • Tentar usar intervalos no SWITCH simples, como SWITCH(Vendas[Valor], > 100, ...). Isso não funciona — para condições, usa sempre SWITCH(TRUE()).
Dica: no padrão SWITCH(TRUE()), coloca as condições mais restritivas no topo. A função para na primeira que for verdadeira.

Verificar o resultado

Para confirmar que ficou correto, arrasta a coluna Etiqueta Prioridade para um visual de tabela ao lado da coluna Prioridade e verifica se cada número mostra a etiqueta certa. Para a medida Escalão de Vendas, coloca-a num cartão ou numa matriz com uma dimensão (por exemplo, por região) e observa os escalões a mudar. Testa também um caso limite: uma prioridade 4 ou um valor de vendas muito baixo devem cair no valor por omissão que definiste.

Conclusão

Com estes dois padrões — SWITCH simples para mapear valores e SWITCH(TRUE()) para escalões — cobres a grande maioria das classificações que vais precisar em Power BI, com fórmulas muito mais legíveis do que uma cadeia de IF. A partir daqui, experimenta combinar o SWITCH com variáveis para lógica mais complexa ou usá-lo na formatação condicional de um visual. Qual foi o IF encadeado mais confuso que já escreveste — e como ficaria agora, muito mais limpo, com SWITCH?