“Si te lo propones, puedes con todo.” “Si el número es igual a 8, ¡gano la partida!” Las sentencias condicionales forman parte de nuestro día a día. Las usamos constantemente para decidir qué hacer según una evaluación lógica:
- ¿Me esfuerzo (TRUE/FALSE)? Entonces, puedo con todo.
- ¿El número = 8? Si es así, gano el juego.
En Tableau, puedes aplicar lógica condicional para reproducir ese mismo razonamiento que usas a diario. Tableau ofrece una serie de funciones lógicas que facilitan transformar los datos de forma condicional a partir de una evaluación lógica, ya sea una expresión booleana (TRUE/FALSE) o una coincidencia exacta de valores. En este artículo, veremos algunas de las sentencias condicionales más comunes en Tableau y cómo utilizarlas para analizar y visualizar datos.
Sentencias IF en Tableau
La sentencia IF es una condición básica en Tableau que permite evaluar una expresión booleana y devolver un valor si la condición es verdadera y otro distinto si es falsa. La sintaxis básica de IF es:
IF [condition] THEN [value1] ELSE [value2] END
Si el resultado final depende de evaluar una expresión booleana alternativa, puedes añadir una cláusula ELSEIF así:
IF [condition1] THEN [value1]
ELSEIF [condition2] THEN [value2]
ELSE [value3]
END
Por ejemplo, para identificar géneros musicales pop frente a no pop según si ‘pop’ aparece en el nombre, podemos usar esta sentencia IF:
IF CONTAINS([Top Genre], 'pop') THEN 'pop'
ELSE 'other genre'
END
Sentencias IF anidadas
Las sentencias IF también pueden anidarse para crear condiciones más complejas y evaluar múltiples criterios para subgrupos de tus datos. Para construir IF anidadas, usa esta sintaxis:
IF [condition1] THEN
IF [condition2] THEN [value1]
ELSE [value2]
END
ELSE [value3]
END
Imagina que queremos saber qué proporción de canciones pop son bailables (según la métrica de danceability definida en el Spotify Music Dataset). Podemos usar la siguiente IF anidada para averiguarlo:
IF CONTAINS([Top Genre], 'pop') THEN
IF [Dnce] > 66 THEN 'danceable pop' // 66 is the median
ELSE 'less danceable pop'
END
ELSE 'not pop'
END

Las IF anidadas son muy potentes, sobre todo cuando hay que cumplir varias condiciones para distintos subgrupos de los datos.
Sentencias IIF
La función IIF es otra sentencia condicional en Tableau que permite comprobar una condición y devolver uno de dos valores. Su sintaxis es:
IIF([condition], [value if true], [value if false])
Por ejemplo, para crear un campo calculado que identifique a compositores que produjeron una canción que fue un top hit entre 2017 y 2019, podemos usar la siguiente función IIF:
IIF([Year] >= 2017 AND [Year] <= 2019, '2017-2019 Top Song', 'Not Top Song in 2017-2019')

Esto devolverá “2017-2019 Top Song” si la canción estuvo entre los éxitos principales entre 2017 y 2019 (según Billboard) y “Not Top Song in 2017-2019” en caso contrario.
Usar funciones de agregación de Tableau con IF
Tableau ofrece un amplio abanico de funciones integradas que puedes combinar con sentencias condicionales para realizar cálculos más avanzados. Algunas de las funciones de agregación más usadas son COUNTD, SUM, AVG, MIN y MAX. Con funciones de agregación, puedes resumir ideas de forma eficaz creando nuevas métricas en Tableau. Necesitarás usar la siguiente sintaxis:
<Aggregation>(IF [Condition] THEN [value] END)
Por ejemplo, contemos el número de artistas únicos con un top hit entre 2017 y 2019 con la función COUNTD:
COUNTD(IF [Year] >= 2017 and [Year] <= 2019 THEN [Artist] END)

La sentencia anterior devuelve el número de artistas distintos que tuvieron un éxito entre 2017 y 2019. Si un artista tuvo varios éxitos en esos años, su nombre solo se contará una vez.
De forma similar, podemos usar las funciones SUM y AVG junto con una condición para calcular sobre subconjuntos específicos de datos.
Un consejo: asegúrate de envolver la condición dentro de la agregación. Si no lo haces, verás el temido mensaje: “Cannot mix aggregate and non aggregate comparisons or results in 'IF' expressions.” Por ejemplo, la sentencia siguiente da error porque intentamos agregar un único dato que no está agregado en sí mismo.

Sentencias CASE en Tableau
Introducción
La sentencia CASE es otra condición en Tableau que permite realizar múltiples pruebas sobre un mismo campo y devolver valores distintos según los resultados. A diferencia de IF, que se basa en evaluar una expresión booleana, CASE depende de coincidencias exactas de valores. Si la cláusula WHEN usa lógica booleana, verás el siguiente error en Tableau:

La sintaxis de CASE es:
CASE [expression]
WHEN [value1] THEN [result1]
WHEN [value2] THEN [result2]
ELSE [default result]
END
Por ejemplo, reescribamos la lógica para identificar a compositores que produjeron una canción que fue un top hit entre 2017 y 2019:
CASE [Year]
WHEN IN (2017, 2018, 2019) THEN '2017-2019 Top Songs'
ELSE 'Not Top Song in 2017-2019'
END

En el caso anterior, usamos la construcción WHEN IN para enumerar los años de interés (2017, 2018 y 2019). Tableau usa ese conjunto para buscar una coincidencia exacta en los datos. Si no se encuentra ninguna coincidencia y no se especifica un valor por defecto, se devuelve un valor nulo.
Sentencias CASE anidadas
Al igual que con IF anidadas, puedes usar CASE anidados en Tableau para plasmar lógica compleja en un campo calculado. Puedes usar la siguiente sintaxis para devolver lógica anidada con 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
Aunque las sentencias CASE no pueden evaluar expresiones booleanas ni detectar patrones complejos en los datos, son más legibles y suelen rendir mejor que las IF. Si los datos son lo bastante simples y no requieren evaluaciones TRUE/FALSE complejas, te interesará más usar CASE. En algunos casos, puedes combinar IF y CASE para análisis aún más potentes.
Conclusión
Las sentencias condicionales, como IF y CASE, son herramientas muy eficaces para llevar tus habilidades con Tableau al siguiente nivel como profesional de datos. Para pasar de cero a experto en Tableau, no te pierdas recursos como el itinerario de carrera Data Analyst in Tableau o el curso Analyzing Data in Tableau.
Cuando tengas una buena base, practica la visualización en Tableau con los datasets disponibles en DataLab. Las sentencias IF, IIF y CASE WHEN te saldrán de forma natural. ¡Suerte!
Conviértete en Analista de Datos de Tableau
Preguntas frecuentes sobre CASE e IF en Tableau
¿Cómo sé cuándo usar IF o CASE?
La función que uses dependerá del tipo de tarea que quieras realizar. Mientras una sentencia IF evalúa una expresión booleana, una sentencia CASE hace coincidir estrictamente un valor de campo. A menudo, una CASE puede reescribirse como una IF. Lo contrario es menos probable, porque las IF se usan para evaluaciones más complejas que las CASE normalmente no pueden manejar.
¿Cuál es la diferencia entre IF y CASE?
Mientras que las sentencias IF pueden evaluar lógica booleana sobre dimensiones desagregadas o medidas agregadas, las CASE solo evalúan coincidencias exactas de valores. Por ese motivo, las IF ofrecen más flexibilidad que las CASE y permiten aplicar lógica más compleja a los datos. Sin embargo, las CASE proporcionan mayor legibilidad y mejor rendimiento que las IF. Las CASE funcionan muy bien cuando los datos solo requieren transformaciones simples.
¿Debería formatear la función condicional?
Aunque Tableau aún no ofrece una función para autoformatear texto en el cuadro de diálogo de campos calculados, es buena idea añadir formato para mejorar la legibilidad, incluyendo:
- Comentarios: puedes usar // para comentarios de una línea y /* <...> */ para comentarios multilínea;
- Saltos de línea e indentación: añade saltos de línea y sangrías para que a cualquiera que vea el workbook le resulte fácil entender las diferentes capas de lógica en la visualización.
¿Cuál es la diferencia entre IF e IIF?
La diferencia principal entre la sentencia IF y la función IIF es que la primera puede comprobar múltiples condiciones y devolver distintos valores según los resultados, mientras que la segunda solo evalúa una condición cada vez y devuelve uno de dos valores. Aunque con IF puedes aprovechar lógica más compleja, IIF funciona de maravilla para condiciones simples donde priman la claridad y la concisión.
¿Por qué no usar simplemente los parámetros y filtros integrados de Tableau?
En algunos casos, las funciones de filtro y parámetro no bastan para analizar los datos. Como explicamos en nuestro tutorial Calculating Fields in Tableau, a veces tendrás que crear variables nuevas para completar datos antes de poder analizarlos. A menudo, las transformaciones que necesitas realizar encajarán en las siguientes cinco categorías:
- Segmentar tus datos
- Convertir el tipo de dato de un campo, por ejemplo, de cadena a fecha o de entero a float
- Agregar datos
- Filtrar resultados
- Calcular ratios
