Notificação

Este artigo é sobre o Looker Studio. Acesse a documentação do Looker em https://cloud.google.com/looker/docs/intro.

CASE (pesquisada)

Retorna um resultado com base na avaliação de uma lista de condições.

As instruções CASE avaliam uma ou mais condições e retornam um resultado quando a primeira condição é atendida, ou um resultado padrão se nenhuma das condições for atendida.

Observação: existem duas formas da instrução CASE: CASE pesquisada e CASE simples. As instruções CASE pesquisadas permitem que você use uma lógica mais sofisticada, enquanto as instruções CASE simples são mais fáceis de criar.

Consulte também: IF.

Neste artigo:

Exemplo de uso

CASE é normalmente usada para criar novas categorias ou agrupamentos de dados. Por exemplo, para agrupar valores de países selecionados na dimensão Região de vendas, você pode criar uma instrução CASE como esta:

CASE 
    WHEN Country IN ("USA","Canada","Mexico") THEN "North America" 
    WHEN Country IN ("England","France") THEN "Europe" 
    ELSE "Other" 
END

Sintaxe

CASE
    WHEN condition THEN result
    [WHEN condition THEN result]
    [...]
    [ELSE else_result]
END

Parâmetros

  • condition: um campo ou uma expressão lógica. As cláusulas WHEN avaliam a condição e retornam "true" se a condição especificada for atendida ou "false" se não for atendida.

  • result: um campo ou uma expressão de qualquer tipo. Cada cláusula WHEN precisa ter uma cláusula THEN correspondente que especifica os resultados se a condição WHEN for verdadeira. Se houver várias cláusulas WHEN, a instrução CASE retornará o resultado da primeira condição verdadeira.

  • else_result (opcional): um campo ou uma expressão de qualquer tipo. A cláusula else_result ELSE especifica um resultado padrão para a instrução CASE. Essa cláusula será retornada se nenhuma das cláusulas WHEN for verdadeira. Caso uma expressão CASE não tenha uma cláusula ELSE e nenhuma das cláusulas WHEN seja verdadeira, a instrução CASE retornará NULL.

Uma instrução CASE pode ter apenas uma cláusula ELSE.

Observação: todas as cláusulas THEN em uma instrução CASE precisam retornar o mesmo tipo de dados. Por exemplo, se a primeira cláusula THEN retornar o tipo de dados Texto, as outras cláusulas THEN também precisarão retornar esse tipo de dados.

Como a expressão CASE pesquisada funciona

Uma instrução CASE começa com a palavra-chave CASE e termina com END. Entre elas, há uma série de seções ou cláusulas:

  • WHEN: uma condição que você quer avaliar. É possível ter várias cláusulas WHEN em uma única instrução CASE.
  • THEN: o resultado que será retornado se a condição da cláusula WHEN for verdadeira. É preciso ter uma cláusula THEN para cada WHEN na sua instrução CASE.
  • ELSE: opcional. Se nenhuma das condições da cláusula WHEN for verdadeira, CASE retornará o valor na cláusula ELSE. Mas se nenhuma cláusula ELSE for especificada, o resultado será NULL.

CASE avalia cada cláusula WHEN sucessiva e retorna o primeiro resultado quando a condição é verdadeira. As cláusulas WHEN restantes e o resultado ELSE não são avaliados. Se todas as condições WHEN forem falsas ou NULL, CASE vai retornar o resultado ELSE. Caso não haja uma cláusula ELSE, vai ser retornado NULL.

Exemplos

Verificar a desigualdade

CASE WHEN Medium != "cpc" THEN "free" ELSE "paid" END
Em situações simples, use a função IF.

Classificar os valores de dimensão numérica em intervalos discretos

Por exemplo, você pode separar os pedidos em "Pequeno", "Médio" ou "Grande" com base no valor:

    
CASE
    WHEN Amount < 20 THEN "Small"
    WHEN Amount >= 20 and Amount < 100 THEN "Medium"
    WHEN Amount >= 100 THEN "Large"
END
Também é possível usar um campo calculado Grupo para criar grupos ad hoc para valores de dimensão.

Avaliar uma condição AND lógica

CASE 
    WHEN Country ISO Code = "US" AND Medium = "cpc" 
    THEN "US - Paid" 
    ELSE "other" 
END

Avaliar uma condição lógica AND/OR

CASE 
    WHEN REGEXP_MATCH(Video Title, ".*Google Analytics*")
    AND is_livestream = TRUE 
    OR Video Length > 600 
    THEN "GA Livestream or long video" 
END

Retornar um campo ou valor diferente dependendo de um valor de parâmetro

Exemplo 1: retorne uma dimensão com base no valor do parâmetro selecionado. Você pode usar essa técnica para permitir que os usuários mudem a dimensão de detalhamento usada por um gráfico.

CASE 
    WHEN Breakdown = "Product Category" THEN Product Category 
    WHEN Breakdown = "Store" THEN Store 
END

Você também pode escrever isso usando a sintaxe CASE simples:

CASE Breakdown 
    WHEN "Product Category" THEN Product Category
    WHEN "Store" THEN Store
END

Exemplo 2: retorne uma métrica diferente com base em um valor de parâmetro.

CASE WHEN Show Adjusted Cost = TRUE THEN Cost + Adjustments ELSE Cost END

Instruções CASE aninhadas

É possível aninhar instruções CASE para criar uma lógica de ramificação mais complexa:

CASE WHEN REGEXP_CONTAINS(SKU, "Hats") THEN
    CASE WHEN Color = "blue"
        THEN "BLUE HAT" ELSE "JUST A HAT"
    END
    ELSE "NOT A HAT"
END

Isso foi útil?

Como podemos melhorá-lo?
true
Novidades do Looker Studio

Saiba mais sobre novos recursos e mudanças recentes. Notas da versão do Looker Studio disponíveis no Google Cloud.

Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
242526836002890789
true
Pesquisar na Central de Ajuda
true
true
true
true
true
102097
false
false