Funções lógicas
Este artigo apresenta as funções lógicas e seus usos no Tableau. Ele também demonstra como criar um cálculo lógico com um exemplo.
Cálculos lógicos permitem determinar se uma certa condição é verdadeira ou falsa (lógica booleana). Por exemplo, você pode querer categorizar valores com base em determinados pontos de corte.
O cálculo lógico pode ficar mais ou menos assim:
IF [Profit] > 0
THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Break even'
ELSE 'Loss'
END
Sintaxe | <expr1> AND <expr2> |
Definição | Realiza uma conjunção lógica em duas expressões. (Se ambos os lados forem true, o teste lógico retornará true.) |
Saída | Booleano (true ou false) |
Exemplo | IF [Season] = "Spring" AND "[Season] = "Fall" "Se ambos (Season = Spring) e (Season = Fall) forem true simultaneamente, então retorna It's the apocalypse and footwear doesn't matter." |
Observações | Frequentemente usado com IF e IIF. Veja também NOT e OU. Se ambas as expressões forem Se você criar um cálculo no qual o resultado de uma comparação Observação: o operador |
Sintaxe | CASE <expression>
|
Saída | Depende do tipo de dados dos valores <then> . |
Definição | Avalia |
Exemplo |
"Olhe para o campo Season. Se o valor for Summer, retorna Sandals. Se o valor for Winter, retorna Boots. Se nenhuma das opções do cálculo corresponder ao que está no campo Season, retorna um Sneakers." |
Observações | Usado com WHEN, THEN, ELSE e END. Dica: muitas vezes você pode usar um grupo para obter os mesmos resultados de uma função CASE complicada ou usar CASE para substituir a funcionalidade de agrupamento nativo, como no exemplo anterior. Você pode querer testar qual é o melhor desempenho para o seu cenário. |
Sintaxe | CASE <expression>
|
Definição | Uma parte opcional da expressão IF ou CASE usada para especificar um valor padrão a ser retornado se nenhuma das expressões testadas for true. |
Exemplo | IF [Season] = "Summer" THEN 'Sandals' CASE [Season] |
Observações | Usado com CASE, WHEN, IF, ELSEIF, THEN e END
|
Sintaxe | [ELSEIF <test2> THEN <then2>] |
Definição | Uma parte opcional de uma expressão IF usada para especificar condições adicionais além do IF inicial. |
Exemplo | IF [Season] = "Summer" THEN 'Sandals' |
Observações | Usado com IF, THEN, ELSE e END
Diferente de |
Definição | Usado para fechar uma expressão IF ou CASE . |
Exemplo | IF [Season] = "Summer" THEN 'Sandals' "Se Season = Summer, então retorna Sandals. Caso contrário, observe a próxima expressão. Se Season = Winter, então retorna Boots. Se nenhuma das expressões for true, retorna Sneakers." CASE [Season] "Olhe para o campo Season. Se o valor for Summer, retorna Sandals. Se o valor for Winter, retorna Boots. Se nenhuma das opções do cálculo corresponder ao que está no campo Season, retorna um Sneakers." |
Observações |
Sintaxe | IF <test1> THEN <then1> |
Saída | Depende do tipo de dados dos valores <then> . |
Definição | Testa uma série de expressões e retorna o valor |
Exemplo | IF [Season] = "Summer" THEN 'Sandals' "Se Season = Summer, então retorna Sandals. Caso contrário, observe a próxima expressão. Se Season = Winter, então retorna Boots. Se nenhuma das expressões for true, retorna Sneakers." |
Observações |
Sintaxe | IFNULL(expr1, expr2) |
Saída | Depende do tipo de dados dos valores <expr> . |
Definição | Retorna |
Exemplo | IFNULL([Assigned Room], "TBD") "Se o campo Assigned Room não for nulo, retorna seu valor. Se o campo Assigned Room for nulo, retorna TBD." |
Observações | Compare com ISNULL. Consulte também ZN. |
Sintaxe | IIF(<test>, <then>, <else>, [<unknown>]) |
Saída | Depende do tipo de dados dos valores na expressão. |
Definição | Verifica se uma condição foi atendida (<test> ) e retorna <then> se o teste for true, <else> se o teste for false e um valor opcional para <unknown> , se o teste for nulo. Se o desconhecido opcional não for especificado, IIF retorna nulo. |
Exemplo | IIF([Season] = 'Summer', 'Sandals', 'Other footwear') "Se Season = Summer, então retorna Sandals. Caso contrário, retorna Other footwear" IIF([Season] = 'Summer', 'Sandals', "Se Season = Summer, então retorna Sandals. Caso contrário, observe a próxima expressão. Se Season = Winter, então retorna Boots. Se nenhuma for true, retrona Sneakers." IIF('Season' = 'Summer', 'Sandals', "Se Season = Summer, então retorna Sandals. Caso contrário, observe a próxima expressão. Se Season = Winter, então retorna Boots. Se nenhuma das expressões for true, retorna Sneakers.” |
Observações |
Ou seja, no cálculo abaixo o resultado será Red e não Orange, pois a expressão deixa de ser avaliada assim que A=A for avaliada como true:
|
Sintaxe | <expr1> IN <expr2> |
Saída | Booleano (true ou false) |
Definição | Retorna TRUE se qualquer valor em <expr1> corresponde a qualquer valor em <expr2> . |
Exemplo | SUM([Cost]) IN (1000, 15, 200) "O valor do campo Custo é 1000, 15 ou 200?" [Field] IN [Set] "O valor do campo está presente no conjunto?" |
Observações | Os valores Consulte também WHEN. |
ISDATE
Sintaxe | ISDATE(string) |
Saída | Booleano (true ou false) |
Definição | Retornará true se uma <string> for uma data válida. A expressão de entrada precisa ser um campo de cadeia de caracteres (texto). |
Exemplo | ISDATE("2018-09-22") "A cadeia de caracteres 2018-09-22 é uma data formatada corretamente?" |
Observações | O que é considerado uma data válida depende da localidade(O link abre em nova janela) do sistema que avalia o cálculo. Por exemplo: Nos Estados Unidos:
No Reino Unido:
|
Sintaxe | ISNULL(expression) |
Saída | Booleano (true ou false) |
Definição | Retorna true se |
Exemplo | ISNULL([Assigned Room]) "O campo Sala Atribuída é nulo?" |
Observações | Compare com IFNULL. Consulte também ZN. |
Sintaxe | MAX(expression) ou MAX(expr1, expr2) |
Saída | Mesmo tipo de dados do argumento ou NULL se alguma parte do argumento for nula. |
Definição | Retorna o máximo de dois argumentos, que devem ser do mesmo tipo de dados.
|
Exemplo | MAX(4,7) = 7 |
Observações | Para cadeia de caracteres
Para fontes de dados de bancos de dados, o valor de cadeia de caracteres Para datas Para datas, Como uma agregação
Como comparação
Consulte também |
Sintaxe | MIN(expression) ou MIN(expr1, expr2) |
Saída | Mesmo tipo de dados do argumento ou NULL se alguma parte do argumento for nula. |
Definição | Retorna, no mínimo, dois argumentos, que devem ser do mesmo tipo de dados.
|
Exemplo | MIN(4,7) = 4 |
Observações | Para cadeia de caracteres
Para fontes de dados de bancos de dados, o valor de cadeia de caracteres Para datas Para datas, o Como uma agregação
Como comparação
Consulte também |
Sintaxe | NOT <expression> |
Saída | Booleano (true ou false) |
Definição | Realiza uma negação lógica em uma expressão. |
Exemplo | IF NOT [Season] = "Summer" "Se Season não é igual a Summer, então retorna Don't wear sandals. Caso contrário, retorna Wear sandals" |
Observações |
Sintaxe | <expr1> OR <expr2> |
Saída | Booleano (true ou false) |
Definição | Realiza uma disjunção lógica em duas expressões. |
Exemplo | IF [Season] = "Spring" OR [Season] = "Fall" "Se (Season = Spring) ou (Season = Fall) for true, retorna Sneakers." |
Observações | Frequentemente usado com IF e IIF. Veja também AND e NOT. Se uma das expressões for Se você criar um cálculo que exibe o resultado de uma comparação Observação: o operador |
Sintaxe | IF <test1> THEN <then1>
|
Definição | Uma parte obrigatória de uma expressaõ IF , ELSEIF ou CASE , usada para definir qual resultado retornar se um valor ou teste específico for true. |
Exemplo | IF [Season] = "Summer" THEN 'Sandals' "Se Season = Summer, então retorna Sandals. Caso contrário, observe a próxima expressão. Se Season = Winter, então retorna Boots. Se nenhuma das expressões for true, retorna Sneakers." CASE [Season] "Olhe para o campo Season. Se o valor for Summer, retorna Sandals. Se o valor for Winter, retorna Boots. Se nenhuma das opções do cálculo corresponder ao que está no campo Season, retorna um Sneakers." |
Observações |
Sintaxe | CASE <expression>
|
Definição | Uma parte obrigatória de uma expressão CASE . Encontra o primeiro <<value> > que corresponde <expression> > e retorna ao <then> correspondente. |
Exemplo | CASE [Season] "Olhe para o campo Season. Se o valor for Summer, retorna Sandals. Se o valor for Winter, retorna Boots. Se nenhuma das opções do cálculo corresponder ao que está no campo Season, retorna um Sneakers." |
Observações | Usado com CASE, THEN, ELSE e END.
CASE <expression> Os valores aos quais |
Sintaxe | ZN(expression) |
Saída | Depende do tipo de dados de <expression> ou 0. |
Definição | Retorna <expression> se não for nulo, caso contrário, retorna zero. |
Exemplo | ZN([Test Grade]) "Se Test Grade não for nulo, retorne o valor. Se Test Grade for nulo, retorne 0." |
Observações |
Consulte também ISNULL. |
Observação: alguns deles são na verdade operadores lógicos e aparecem em preto, não em azul. Para obter mais informações, consulte Sintaxe de operador.
Siga as etapas abaixo para saber como criar um cálculo lógico.
- No Tableau Desktop, conecte-se à fonte de dados salva Exemplo - Superloja, incluída no Tableau.
- Navegue até uma planilha.
- No painel Dados, arraste Estado até a divisória Linhas.
- No painel Dados, arraste Categoria até a divisória Linhas e coloque-a à direita de Estado.
- No painel Dados, arraste Vendas até a divisória Colunas.
- Selecione Análise > Criar campo calculado.
- No editor de cálculo aberto, faça o seguinte:
- Nomeie o campo calculado KPI (indicador-chave de desempenho).
- Insira a fórmula a seguir:
SUM([Profit]) > 0
Este cálculo verifica rapidamente se um membro é maior do que zero. Se for, ele retorna true, caso contrário, ele retorna false.
- Ao terminar, clique em OK.
- No painel Dados, arraste KPI até Color no cartão Marcas.
Agora é possível visualizar quais categorias estão perdendo dinheiro em cada estado.
O novo campo calculado aparece em Medidas no painel Dados. Assim como os outros campos, é possível usá-lo em uma ou mais visualizações.
Consulte também
Visualizar indicadores-chave de progresso