image

Acesse bootcamps ilimitados e +650 cursos pra sempre

60
%OFF
Article image
Felipe Taranto
Felipe Taranto27/06/2024 11:23
Compartilhe

Comandos Power BI: Função SWITCH

    Comandos Power BI: Função SWITCH

    Este artigo da seção de Comandos Power BI aborda a Função SWITCH e será dividido em:

    • Conceito
    • Sintaxe
    • Parâmetros
    • Ponto de Atenção
    • Aplicação
    • Exemplo prático no Power BI

    Conceito

    A função SWITCH baseia-se em uma lista de valores passados como parâmetro e compara com uma expressão DAX (ou uma coluna ou um booleano..) e retorna os resultados possíveis especificados. Sua principal utilização é garantir uma melhor legibilidade e manutenabilidade de código evitando muitos comandos IF aninhados em cenários que demandariam muitas condicionais encadeadas.

    Sintaxe

    image

    Parâmetros

    Conforme a Documentação da Microsoft referente a Função SWITCH:

    <expression>: Qualquer expressão DAX que retorne um único valor escalar em que a expressão deva ser avaliada várias vezes (para cada linha/contexto).

    <value>: Um valor constante a ser correspondido com os resultados da expressão.

    <result>: Qualquer expressão escalar a ser avaliada se os resultados da expressão corresponderem ao valor correspondente.

    <else>: Qualquer expressão escalar a ser avaliada se os resultados da expressão não corresponderem a nenhum dos argumentos value.

    Então, quando houver uma correspondência com um valor, um valor escalar do result correspondente será retornado. Caso não haja uma correspondência, um valor de else será retornado. Mas se nenhuma correspondência acontecer e else não estiver especificado, será retornado BLANK, ou seja, vazio.

    Ponto de Atenção

    Como vimos na seção de Sintaxe acima, a expressão a ser avaliada pode ser um valor constante ou uma expressão:

    • Um uso comum dessa função é definir o primeiro parâmetro como TRUE.
    • Todas as expressões result e a expressão else devem ser do mesmo tipo de dados.
    • A ordem das condições é importante. Assim que um valor corresponder, o result correspondente será retornado e outros valores subsequentes não serão avaliados. 
    • Certifique-se de que os valores mais restritivos a serem avaliados sejam especificados antes de valores menos restritivos.

    Aplicação

    Exemplo 1: quando temos no <expression> um valor de Nome entre colchetes, onde a Função SWITCH é capaz de criar uma Coluna Calculada.

    Para quando o valor 1 for analisado na execução, o valor com o nome do mês de Janeiro será atribuído, 2 - Fevereiro, 3 - Março e assim por diante.

    Quando não houver nenhum valor correspondente entre 1-12, a execução retornará a mensagem especificada no bloco <else>: "Unknown month number".

    = SWITCH (
       [Month Number Of Year],
       1, "January",
       2, "February",
       3, "March",
       4, "April",
       5, "May",
       6, "June",
       7, "July",
       8, "August",
       9, "September",
       10, "October",
       11, "November",
       12, "December",
       "Unknown month number"
      )
    

    Exemplo 2: quando utilizamos diretamente um valor booleano no 1° parâmetro, onde toda correspondência que acontecer no 2° parâmetro (Product[Standard Cost] < 100), se for verdadeiro, no 3° parâmetro será preenchido "A".

    Caso a expressão lógica do 2° parâmetro resultar em FALSE, a execução prossegue para a próxima linha onde é avaliado se (Product[Standard Cost] < 10), caso seja, o valor "B" será preenchido na tabela.

    Quando nenhum destes testes lógicos condicionais resultar em TRUE, a execução verifica se existe algum parâmetro preenchido na útima parte <else>, que no nosso exemplo é especificado com o valor "C"

    = SWITCH (
       TRUE,
       Product[Standard Cost] < 100, "A",
       Product[Standard Cost] < 10, "B",
       "C"
       )
    

    Exemplo Prático no Power BI

    Neste exemplo, foi utilizado o sample que vem por padrão no Power BI Desktop(link) chamado "financials". O objetivo será classificar os lucros em categorias baseando-se em faixas de valores atribuídas direto na função SWITCH. Aqui iremos criar uma Coluna Calculada, passar o teste lógico a ser analisado pela expressão DAX e atribuir o valor caso ele corresponda com a expressão. 

    • Gold Mine
    • Very Good
    • Credit
    • Deficit
    • Big Loss

    image

    Aqui um exemplo de um visual que podemos fazer utilizando nossa nova Coluna Calculada advinda da nossa Função SWITCH, onde dividimos a contagem de todas as vendas pelas novas categorias dos lucros, setorizando-os em um gráfico pizza simples.

    image

    Referências

    Microsoft Learn - DAX Analysis Expressions - SWITCH (acessado em Jun/24)

    Microsoft Learn - Documentação do Power BI (acessado em Jun/24)

    Compartilhe
    Comentários (0)