image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Mauro Dota
Mauro Dota24/06/2024 13:18
Compartilhe

A Função SWITCH: A Subestimada Ferramenta para Simplificar sua Lógica.

  • #Power BI

Função SWITCH

A função SWITCH é uma ferramenta poderosa no arsenal de funções de DAX (Data Analysis Expressions) e Power BI. Ela proporciona uma maneira clara e eficiente de lidar com múltiplas condições, substituindo uma série de declarações IF aninhadas. Este artigo técnico explora o funcionamento da função SWITCH, apresenta exemplos práticos e discute seus benefícios em comparação com outras abordagens.

Funcionamento da Função SWITCH

A função SWITCH avalia uma expressão em relação a uma lista de valores e retorna o resultado correspondente ao primeiro valor coincidente. Se não houver coincidências, um valor padrão pode ser retornado. A sintaxe da função SWITCH é a seguinte:

SWITCH(expression, value1, result1, [value2, result2, ...], [else])
  • expression: A expressão que você deseja avaliar.
  • value1, value2, ...: Os valores contra os quais a expressão é comparada.
  • result1, result2, ...: Os resultados retornados quando a expressão corresponde a um dos valores.
  • else (opcional): O resultado padrão retornado se nenhuma das condições for atendida.

Exemplo Prático: Classificação de Categorias

Suponha que você tenha uma tabela com uma coluna de categorias e deseja atribuir um valor específico a cada categoria. Com SWITCH, isso se torna simples e direto.

Exemplo com SWITCH

Aqui está como você pode usar SWITCH para atribuir valores às categorias "A", "B", "C" e "D":

CategoryValue = 
SWITCH(
  [Category],
  "A", 10,
  "B", 20,
  "C", 30,
  "D", 40,
  0  -- Valor padrão caso nenhuma condição seja atendida
)

Exemplo Equivalente com IF Aninhados

Sem SWITCH, isso poderia se transformar em várias instruções IF, complicando a fórmula:

CategoryValue = 
IF([Category] = "A", 10,
  IF([Category] = "B", 20,
      IF([Category] = "C", 30,
          IF([Category] = "D", 40, 0)
      )
  )
)

Como podemos ver, a versão com SWITCH é muito mais limpa e fácil de ler.

Comparação de Desempenho

Eficiência

Em muitos casos, SWITCH pode ser mais eficiente do que múltiplas instruções IF, especialmente em situações onde existem várias condições a serem verificadas. Isso ocorre porque SWITCH avalia a expressão uma vez e, em seguida, compara os resultados, enquanto IF aninhados podem reavaliar a expressão várias vezes.

Clareza e Manutenibilidade

A estrutura do SWITCH facilita a compreensão do fluxo lógico das condições e resultados, o que melhora a clareza do código. Isso é particularmente útil em cenários complexos onde múltiplas condições precisam ser avaliadas.

Aplicações Práticas

Agrupamento de Intervalos de Valores

Considere um cenário onde você precisa agrupar intervalos de valores em categorias. Por exemplo, categorizar pontuações de clientes em "Baixo", "Médio" e "Alto":

CustomerScoreGroup = 
SWITCH(
  TRUE(),
  [CustomerScore] <= 50, "Baixo",
  [CustomerScore] <= 80, "Médio",
  [CustomerScore] > 80, "Alto",
  "Não Classificado"  -- Valor padrão
)

Neste exemplo, a função SWITCH é usada com a expressão TRUE() para avaliar condições lógicas complexas.

Cálculos Condicionais

Outra aplicação prática da função SWITCH é em cálculos condicionais. Por exemplo, calcular descontos com base em categorias de clientes:

CustomerDiscount = 
SWITCH(
  [CustomerCategory],
  "VIP", [SalesAmount] * 0.20,
  "Regular", [SalesAmount] * 0.10,
  "Novo", [SalesAmount] * 0.05,
  0  -- Sem desconto para outras categorias
)

Conclusão

A função SWITCH é uma ferramenta subestimada que pode simplificar significativamente a lógica de múltiplas condições em suas fórmulas DAX. Aproveitar o SWITCH pode resultar em fórmulas mais limpas, legíveis e eficientes, além de melhorar o desempenho das suas análises de dados. Se você ainda não está utilizando SWITCH em suas análises, experimente incorporá-la e veja como ela pode melhorar sua produtividade e a clareza do seu código.

Compartilhe
Recomendados para você
Suzano - Análise de Dados com Power BI
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Comentários (0)