Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
CASE (simple)
A expressão CASE simples retorna um resultado com base no valor de uma única expressão de entrada ou um resultado padrão se nenhum dos valores de comparação corresponder.
Substitua os códigos de pagamento por nomes intuitivos:
CASE Payment Type
WHEN "CC" THEN "Credit Card"
WHEN "DC" THEN "Debit Card"
WHEN "GC" THEN "Gift Card"
WHEN "CA" THEN "Cash"
ELSE "Other"
END
Sintaxe
CASE input_expression
WHEN expression_to_match THEN result
[WHEN expression_to_match THEN result]
[...]
[ELSE else_result]
END
Parâmetros
input_expression: qualquer campo ou expressão válida.
[expression_to_match: qualquer campo ou expressão válida. A cláusula WHEN compara input_expression com input_expression e retorna verdadeiro se os dois forem iguais ou falso se não forem.]{#when-conditions}
result : qualquer campo ou expressão válida. Cada cláusula WHEN precisa ter uma cláusula THEN correspondente, que especifica os resultados a serem retornados se essa condição for verdadeira. Se houver várias cláusulas WHEN, a instrução CASE vai retornar o resultado da primeira cláusula verdadeira.
else_result (opcional): qualquer campo ou expressão válida. A cláusula ELSEelse_result especifica um resultado padrão para a instrução CASE. Essa cláusula será retornada se nenhuma das cláusulas WHEN for verdadeira. Se uma instrução CASE não tiver uma cláusula ELSE e nenhuma das cláusulas WHEN for verdadeira, a instrução CASE vai retornar NULL.
Como a CASE simples funciona
Uma instrução CASE simples consiste nos seguintes elementos:
A palavra-chave CASE, seguida de uma expressão de entrada.
WHEN: o valor que será usado para comparar o input_expression. Se o valor for igual ao input_expression, essa cláusula será verdadeira. É 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 cláusula WHEN na instrução CASE.
ELSE : opcional. Se nenhuma das condições da cláusula WHEN for verdadeira, CASE vai retornar o valor na cláusula ELSE ou NULL se nenhuma cláusula ELSE for especificada.
A palavra-chave END.
CASE avalia cada cláusula WHEN sucessiva e retorna o primeiro resultado em que 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, NULL será retornado.
Exemplo
Forneça links personalizados para seus clientes Premium:
CASE Premium Status
WHEN "Platinum" THEN CONCAT(Site URL, "platinum_welcome.html")
WHEN "Gold" THEN CONCAT(Site URL, "gold_welcome.html")
WHEN "Silver" THEN CONCAT(Site URL, "silver_welcome.html")
ELSE CONCAT(Site URL, "welcome.html")
END
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-25 UTC."],[],[],null,["CASE (simple)\n=============\n\nSimple `CASE` returns a result based on the value of a single input expression, or a default result if none of the comparison values match.\n| **Note:** There are two forms of the `CASE` statement: *searched* `CASE` and *simple* `CASE`. Searched `CASE` statements allow you to use more sophisticated logic, while simple `CASE` statements are simpler to construct.\n\nSee also: [IF](/looker/docs/studio/if).\n\nSample usage\n------------\n\nReplace payment codes with intuitive names: \n\n```\n CASE Payment Type\n WHEN \"CC\" THEN \"Credit Card\"\n WHEN \"DC\" THEN \"Debit Card\"\n WHEN \"GC\" THEN \"Gift Card\"\n WHEN \"CA\" THEN \"Cash\"\n ELSE \"Other\"\n END\n```\n\nSyntax\n------\n\n```\n CASE input_expression\n WHEN expression_to_match THEN result\n [WHEN expression_to_match THEN result]\n [...]\n [ELSE else_result]\n END\n```\n\n### Parameters\n\n- \u003cvar translate=\"no\"\u003einput_expression\u003c/var\u003e - Any valid field or expression.\n- \\[\u003cvar translate=\"no\"\u003eexpression_to_match\u003c/var\u003e - Any valid field or expression. The `WHEN` clause compares \u003cvar translate=\"no\"\u003einput_expression\u003c/var\u003e to \u003cvar translate=\"no\"\u003einput_expression\u003c/var\u003e and returns true if the two are equal, or false if they aren't.\\]{#when-conditions}\n- \u003cvar translate=\"no\"\u003eresult \u003c/var\u003e - Any valid field or expression. Each `WHEN` clause must have a matching `THEN` clause, which specifies the results to return if that condition is true. If there are multiple `WHEN` clauses, the `CASE` statement returns the result for the first true clause.\n- \u003cvar translate=\"no\"\u003eelse_result\u003c/var\u003e (optional) - Any valid field or expression. The `ELSE` *else_result* clause specifies a default result for the `CASE` statement. This clause is returned if none of the `WHEN` clauses are true. If a `CASE` statement has no `ELSE` clause, and none of the `WHEN` clauses are true, the `CASE` statement returns `NULL`.\n\n| **Note:** All of the `THEN` clauses in a `CASE` statement must return the same type of result. For example, if the first `THEN` clause returns the **Text** data type, additional `THEN` clauses must also return the **Text** data type.\n\nHow simple `CASE` works\n-----------------------\n\nA simple `CASE` statement consists of the following elements:\n\n- The `CASE` keyword, followed by an input expression.\n- `WHEN` : the value against which to compare the \u003cvar translate=\"no\"\u003einput_expression\u003c/var\u003e : if the value equals the \u003cvar translate=\"no\"\u003einput_expression\u003c/var\u003e, then this clause is true. You can have multiple `WHEN` clauses in a single `CASE` statement.\n- `THEN` : the result to return if the `WHEN` clause's condition is true. You must have one `THEN` clause for each `WHEN` clause in your `CASE` statement.\n- `ELSE` : Optional. If none of the `WHEN` clause conditions are true, `CASE` returns the value in the `ELSE` clause, or `NULL` if no `ELSE` clause is specified.\n- The `END` keyword.\n\n`CASE` evaluates each successive `WHEN` clause and returns the first result where the condition is true. Any remaining `WHEN` clauses and the `ELSE` result are not evaluated. If all `WHEN` conditions are false or `NULL`, `CASE` returns the `ELSE` result, or if no `ELSE` clause is present, returns `NULL`.\n\nExample\n-------\n\nProvide customized links for your premium customers: \n\n```\n CASE Premium Status\n WHEN \"Platinum\" THEN CONCAT(Site URL, \"platinum_welcome.html\")\n WHEN \"Gold\" THEN CONCAT(Site URL, \"gold_welcome.html\")\n WHEN \"Silver\" THEN CONCAT(Site URL, \"silver_welcome.html\")\n ELSE CONCAT(Site URL, \"welcome.html\")\n END\n```\n\nRelated resources\n-----------------\n\n- [Calculated fields](/looker/docs/studio/about-calculated-fields)\n- [Looker Studio function list](/looker/docs/studio/function-list)"]]