Como usar o SWITCH para melhorar o desempenho de suas medidas DAX no Power BI
Criar medidas eficientes em DAX é essencial para garantir que os relatórios tenham sua perforamance otimizada. E uma boa prática é o uso do SWITCH.
Esta função é usada para simplificar expressões condicionais que precisam retornar diferentes valores com base em várias condições.
Considere a seguinte medida DAX, que avalia o desempenho de uma medida chamada [Variance]:
Variance KPI = IF([Variance] > 0.80, "Amazing!", IF([Variance] > 0.60, "Good", "Bad"))
Embora funcione corretamente, é possível notar que há alguns IFs encadeados e a medida [Variance] é chamada mais de uma vez nesta expressão.
Isso aumenta o processamento desnecessário, principalmente em modelos com grandes volumes de dados. Esta fórmula pode ser mais eficiente.
A solução com SWITCH e VAR:
Reestruturando a medida com SWITCH(TRUE()) e uma variável intermediária, temos a versão otimizada:
VAR Calc = [Variance]
RETURN
SWITCH
(
TRUE(),
Calc > 0.80, "Amazing!",
Calc > 0.60, "Good",
"Bad"
)
A variável Calc armazena o valor de [Variance] uma única vez, e isso elimina a necessidade de novas chamadas à esta medida.
Além do ganho na performance, o SWITCH deixa o código mais intuitivo e de fácil manutenção no futuro.
Boas práticas com SWITCH e variáveis no DAX
- Priorize o uso de variáveis: Sempre que possível, armazene os valores em variáveis para evitar cálculos repetitivos.
- Substitua múltiplos IFs por SWITCH: Isso não apenas melhora a performance, mas também a organização do código.
- Teste suas medidas: Em modelos grandes, simples mudanças podem gerar significativos ganhos em eficiência.
✍️E você, já usa o SWITCH em suas medidas DAX? Compartilhe nos comentários como ele tem facilitado o seu trabalho!
🔗Visite o meu GitHub para ver mais conteúdos como este, e clique aqui para ver o meu portfólio.
📚Este artigo teve como base uma questão do simulado da Microsoft da prova DP-600.