Pular para o conteúdo principal

Funções lógicas no Tableau: instruções IF e CASE

Entenda as instruções IF e CASE no Tableau e veja como usar essas funções lógicas para transformar e visualizar dados condicionalmente.
Atualizado 17 de set. de 2026  · 7 min lido

Explorar com IA

ChatGPTClaudePerplexity

Se você se dedicar, consegue qualquer coisa.” “Se o número for igual a 8, eu ganho o jogo!” Declarações condicionais fazem parte do nosso dia a dia. Usamos esse tipo de lógica com frequência para decidir o que fazer com base em uma avaliação lógica:

  • Eu me dedico (VERDADEIRO/FALSO)? Então, consigo qualquer coisa.
  • O número = 8? Se sim, eu ganho o jogo.

No Tableau, você pode aplicar lógica condicional para reproduzir a mesma forma de pensar do dia a dia. O Tableau oferece uma série de funções lógicas que facilitam transformar os dados condicionalmente com base em uma avaliação lógica, seja por meio de uma expressão booleana (VERDADEIRO/FALSO) ou por correspondência exata de valores. Neste artigo, vamos explorar algumas das instruções condicionais mais comuns no Tableau e mostrar como usá-las para analisar e visualizar dados.

Instruções IF no Tableau

A instrução IF é a forma básica de condição no Tableau: ela avalia uma expressão booleana e retorna um valor se a condição for verdadeira e outro se for falsa. A sintaxe básica da instrução IF é:

IF [condition] THEN [value1] ELSE [value2] END

Se o resultado final depender da avaliação de outra expressão booleana, você pode incluir uma cláusula ELSEIF na instrução, assim:

IF [condition1] THEN [value1]

  ELSEIF [condition2] THEN [value2]

  ELSE [value3]

END

Por exemplo, para identificar gêneros musicais pop vs. não pop com base em conter ‘pop’ no nome, podemos usar a seguinte instrução IF:

IF CONTAINS([Top Genre], 'pop') THEN 'pop'

  ELSE 'other genre'

END

Video1.gif

Instruções IF aninhadas

Instruções IF também podem ser aninhadas para criar condições mais complexas e avaliar múltiplos critérios para subgrupos dos seus dados. Para construir IF aninhados, use a seguinte sintaxe:

IF [condition1] THEN 

    IF [condition2] THEN [value1] 

      ELSE [value2] 

    END

  ELSE [value3] 

END

Digamos que queremos descobrir qual proporção das músicas pop é dançante (segundo a métrica de danceability definida no Spotify Music Dataset). Podemos usar o seguinte IF aninhado para resolver:

IF CONTAINS([Top Genre], 'pop') THEN

      IF [Dnce] > 66 THEN 'danceable pop' // 66 é a mediana

      ELSE 'less danceable pop'

    END

  ELSE 'not pop'

END

Video2.gif

IF aninhados são muito poderosos, especialmente quando é preciso atender a várias condições para diferentes subgrupos dos dados.

Instruções IIF

A função IIF é outra forma de condição no Tableau que permite testar uma condição e retornar um de dois valores. A sintaxe da função IIF é:

IIF([condition], [value if true], [value if false])

Por exemplo, para criar um campo calculado que identifique compositores que produziram uma música que foi top hit entre 2017 e 2019, podemos usar a função IIF abaixo:

IIF([Year] >= 2017 AND [Year] <= 2019, '2017-2019 Top Song', 'Not Top Song in 2017-2019')

Video3.gif

Isso retornará “2017-2019 Top Song” se a música foi um top hit entre 2017 e 2019 (conforme a Billboard) e “Not Top Song in 2017-2019” caso contrário.

Usando funções de agregação do Tableau com IF

O Tableau oferece várias funções nativas que podem ser combinadas com instruções condicionais para cálculos mais avançados. Entre as funções de agregação mais comuns estão COUNTD, SUM, AVG, MIN e MAX. Com funções de agregação, você consegue resumir insights de forma eficaz criando novas métricas no Tableau. Use a seguinte sintaxe:

<Aggregation>(IF [Condition] THEN [value] END)

Por exemplo, vamos contar o número de artistas únicos com um top hit entre 2017 e 2019 usando a função COUNTD:

COUNTD(IF [Year] >= 2017 and [Year] <= 2019 THEN [Artist] END)

Video4.gif

A instrução acima retorna a contagem distinta de artistas que tiveram um hit entre 2017 e 2019. Se um artista teve múltiplos hits nesses anos, o nome dele será contado apenas uma vez.

Da mesma forma, podemos usar as funções SUM e AVG em combinação com uma instrução condicional para calcular sobre subconjuntos específicos dos dados.

Uma dica: garanta que a condição esteja dentro da agregação. Caso contrário, você verá a famosa mensagem “Cannot mix aggregate and non aggregate comparisons or results in 'IF' expressions.” Por exemplo, a instrução abaixo gera erro porque tentamos agregar um único datapoint que, por si só, não está agregado.

Erro de IF.png

Instruções CASE no Tableau

Introdução

A instrução CASE é outra forma de condição no Tableau que permite executar múltiplos testes sobre um mesmo campo e retornar valores diferentes conforme o resultado. Diferente das instruções IF, que dependem da avaliação de uma expressão booleana, as instruções CASE trabalham com correspondências exatas de valores. Se a cláusula WHEN usar lógica booleana, você verá o seguinte erro no Tableau:

Erro de CASE.png

A sintaxe da instrução CASE é:

CASE [expression]

     WHEN [value1] THEN [result1]

     WHEN [value2] THEN [result2]

     ELSE [default result]

END

Por exemplo, vamos reescrever a lógica para identificar compositores que produziram uma música que foi top hit entre 2017 e 2019:

CASE [Year]

  WHEN IN (2017, 2018, 2019) THEN '2017-2019 Top Songs'

  ELSE 'Not Top Song in 2017-2019'

END

Video5.gif

No caso acima, usamos a construção WHEN IN para listar os anos de interesse (2017, 2018 e 2019). O Tableau então usa esse conjunto para encontrar correspondências exatas nos dados. Se nada corresponder e nenhum valor padrão for especificado, será retornado nulo. 

Instruções CASE aninhadas

Assim como acontece com IF aninhados, você pode usar CASE aninhados no Tableau para expor lógicas mais complexas em um campo calculado. Use a sintaxe abaixo para retornar lógica aninhada com instruções CASE:

CASE [expression1]

  WHEN [value1] THEN

    (CASE [expression2]

       WHEN [value2] THEN [result1]

       WHEN [value3] THEN [result2]

…

       ELSE [default result]

     END)

  WHEN [value4] THEN

    (CASE [expression2]

       WHEN [value5] THEN [result3]

       WHEN [value6] THEN [result4]

…

       ELSE [default result]

     END)

  ELSE [default result]

END

Embora instruções CASE não avaliem expressões booleanas e não sirvam para identificar padrões complexos nos dados, elas são mais fáceis de ler e têm melhor desempenho do que IF. Se a transformação for simples e não exigir avaliações VERDADEIRO/FALSO complexas, vale mais a pena usar CASE. Em alguns cenários, você pode combinar IF e CASE para análises ainda mais robustas.

Conclusão

Instruções condicionais, como IF e CASE, são ótimas ferramentas para levar suas habilidades em Tableau para o próximo nível como profissional de dados. Para ir do “básico ao avançado” no Tableau, confira nossos materiais, como a trilha de carreira Data Analyst in Tableau ou o curso Analyzing Data in Tableau.

Depois de dominar os fundamentos, pratique visualização no Tableau usando os datasets disponíveis no DataLab. As instruções IF, IIF e CASE WHEN vão se tornar naturais para você. Boa sorte!

Torne-se um analista de dados do Tableau

Você não precisa ter experiência, domine o Tableau para análise de dados.
Comece a Aprender De Graça

Perguntas frequentes sobre CASE e IF no Tableau

Como saber quando usar IF ou CASE?

A função a usar depende do tipo de tarefa que você quer realizar. Enquanto uma IF avalia uma expressão booleana, uma CASE faz correspondência estrita com o valor de um campo. Muitas vezes, uma CASE pode ser convertida em uma IF. O inverso é menos provável, já que IF é usada para avaliações mais complexas que geralmente CASE não consegue atender.

Qual é a diferença entre IF e CASE?

Enquanto instruções IF podem avaliar lógica booleana em dimensões desagregadas ou medidas agregadas, CASE avalia apenas correspondências exatas de valor. Por isso, IF oferece mais flexibilidade do que CASE e pode executar lógicas mais complexas nos dados. Porém, CASE proporciona melhor legibilidade e desempenho do que IF. CASE funciona muito bem quando os dados pedem apenas transformações simples.

Devo formatar a função condicional?

Embora o Tableau ainda não tenha um recurso para autoformatar texto na janela de campo calculado, vale a pena adicionar formatação para melhorar a leitura, incluindo:

  • Comentários: você pode usar // para comentários de uma linha e /* <...> */ para comentários em várias linhas;
  • Quebras de linha e indentação: adicione quebras de linha e indente o código para que outra pessoa que abra o workbook entenda facilmente as camadas de lógica na visualização.

Qual é a diferença entre IF e IIF?

A principal diferença entre a instrução IF e a função IIF é que a primeira pode testar múltiplas condições e retornar valores diferentes conforme o resultado, enquanto a segunda testa apenas uma condição por vez e retorna um de dois valores. Embora você consiga aplicar lógicas mais complexas com IF, a função IIF é ótima para condições simples, em que clareza e objetividade são prioridade.

Por que não usar apenas os recursos nativos de parâmetro e filtro do Tableau?

Em alguns casos, os recursos de filtro e parâmetro não serão suficientes para analisar os dados. Como explicamos no nosso tutorial Calculating Fields in Tableau, às vezes você vai precisar criar novas variáveis para preencher lacunas antes de analisar. Com frequência, as transformações necessárias se encaixam nas seguintes cinco categorias:

  • Segmentação dos dados
  • Conversão do tipo de dado de um campo, como transformar string em data ou inteiro em float
  • Agregação de dados
  • Filtragem de resultados
  • Cálculo de razões (ratios)
Tópicos
Tableau
Data Analysis
Visualização de dados
Relacionado

blog

O que é o Tableau - O guia completo do Tableau

Descubra essa ferramenta dinâmica de business intelligence, incluindo como ela foi criada, o que ela pode fazer e como aprender a usá-la pode levar sua carreira para o próximo nível.

Wendy Gittleson

15 min

Tutorial

Entendendo a função SQL DECODE()

Saiba como usar DECODE() no Oracle para lógica condicional na transformação de dados. Compare DECODE() com a instrução CASE WHEN em termos de desempenho e comportamento.
Allan Ouko's photo

Allan Ouko

11 min

Tutorial

Instruções IF, ELIF e ELSE em Python

Neste tutorial, você vai aprender só sobre as instruções if else do Python.
Sejal Jaiswal's photo

Sejal Jaiswal

9 min

Tutorial

Criando e personalizando tabelas dinâmicas no Power BI

Saiba como criar tabelas dinâmicas personalizáveis no Power BI com formatação condicional avançada e algumas dicas de otimização.
Joleen Bothma's photo

Joleen Bothma

9 min

Tutorial

Tutorial do Power BI Calculate

Aprenda a usar a função CALCULATE do Power BI e dê exemplos de como você pode usá-la.
Joleen Bothma's photo

Joleen Bothma

6 min

Tutorial

FUNÇÃO SQL COUNT()

COUNT() permite que você conte o número de linhas que correspondem a determinadas condições. Saiba como usá-lo neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

Ver MaisVer Mais