Funciones Lógicas y condicionales Power Bi

En esta clase vamos a aprender cómo crear columnas condicionales usando funciones lógicas en DAX como IF, AND, OR y NOT.
Veremos ejemplos paso a paso que podrás replicar tú mismo, y al final tendrás un archivo descargable para practicar.


🧠 ¿Qué son las funciones condicionales en DAX?

Las funciones condicionales nos permiten evaluar condiciones y devolver resultados distintos según se cumplan o no.
Estas funciones son fundamentales para:

  • Crear clasificaciones personalizadas
  • Mostrar alertas o etiquetas (como «A tiempo» o «Retrasado»)
  • Analizar resultados de forma dinámica

Paso 1: La función IF ✅

La función IF en DAX es como la función de Excel, pero en inglés. ¡Es súper versátil y la base de las condicionales! Vamos a crear una columna calculada para practicar.

  • En Power BI, ve a la tabla y haz clic en Nueva Columna.

  • Nómbrala Cond 1.
  • Escribe esta fórmula:

Cond 1 =

IF(Tabla1[DiaSemana]=7,"FERIADO","")

Explicación: Si el día de la semana es 7 (domingo), muestra «FERIADO». Si no, deja en blanco.

  • Presiona Enter y verifica: todos los domingos ahora dicen «Feriado». 🎉


Paso 2: Agregar el operador NOT 🚫

¡Vamos a darle un giro! Usaremos el operador NOT para obtener lo opuesto a nuestro condicional anterior.

  • Usa esta fórmula:

Cond 1 =

IF(NOT Tabla1[DiaSemana]=7,"LABORABLE","")

Explicación: Si el día NO es domingo (7), muestra «Laborable». Si es domingo, queda en blanco.

  • Presiona Enter y observa: todos los días excepto los domingos ahora son «Laborable». 😄


Paso 3: Anidar funciones IF para más condiciones 🔄

Ahora vamos a combinar condiciones para clasificar los días de forma más detallada.

  • Crea una Nueva Columna llamada Cond 2.
  • Escribe esta fórmula:

Cond 2 =

IF(Tabla1[DiaSemana]=7,

"FERIADO",

     IF(Tabla1[DiaSemana]=6,

     "Medio Día",

     "Laborable"

     )

    )

Explicación:

Si es domingo (7), muestra «Feriado».

Si es sábado (6), muestra «Medio Día» (en Perú, los sábados suelen ser así 😜).

Si no es ninguno, muestra «Laborable».

  • Presiona Enter y revisa: los domingos son «Feriado», los sábados «Medio Día», y el resto «Laborable». ¡Súper claro! 🌟


Paso 4: Usar el operador OR ➕

El operador OR nos permite verificar si al menos una de varias condiciones se cumple. ¡Vamos a probarlo!

  • Crea una Nueva Columna llamada Cond 3.
  • Escribe:

Cond 3 =

IF(OR(Tabla1[DiaSemana]=6,Tabla1[DiaSemana]=7),

"FERIADO",

"")

Explicación: Si el día es sábado (6) O domingo (7), muestra «Feriado». Si no, queda en blanco.

  • Presiona Enter: verás «Feriado» en sábados y domingos. ¡Fácil y poderoso! 💪


Paso 5: Combinar OR ( || ) con múltiples condiciones 🔗

Vamos a extender el uso de OR para cubrir más días, como de lunes a viernes.

  • Crea una Nueva Columna llamada Cond 4.
  • Usa esta fórmula:

Cond 4 =

IF(Tabla1[DiaSemana]=1 || Tabla1[DiaSemana]=2 || Tabla1[DiaSemana]=3 ||Tabla1[DiaSemana]=4 || Tabla1[DiaSemana]=5,

"Laborable",

"")

Nota: Aquí usamos el operador || (o «OR» lógico) para verificar si el día es 1, 2, 3, 4 o 5 (lunes a viernes).

  • Presiona Enter: los días de lunes a viernes muestran «Laborable», y el resto queda en blanco. 😎


Paso 6: Simplificar con IN y llaves 🛠️

¡Hagamos lo mismo, pero más limpio! Usaremos el operador IN para evitar repetir condiciones.

  • Crea una Nueva Columna llamada Cond 5.
  • Escribe:

Cond 5 =

IF(Tabla1[DiaSemana] in {1,2,3,4,5},

"Laborable",

"")

Explicación: La función IN revisa si el día está en la lista {1, 2, 3, 4, 5}. Si está, muestra «laborable» (en minúscula para diferenciar). Si no, queda en blanco.

  • Presiona Enter: obtendrás el mismo resultado que en el paso anterior, pero con menos código. ¡Eficiencia al máximo! 🚀


Paso 7: Usar AND para condiciones estrictas 🔒

El operador AND (o &&) exige que TODAS las condiciones se cumplan. Vamos a probarlo.

  • Crea una Nueva Columna llamada Condicional7.
  • Escribe:

Cond 6 =

IF  (Tabla1[DiaSemana]=6 && Tabla1[MES]=10,

"Cumplió",

""

    )

  • Explicación: Solo muestra «Cumplió» si el día es sábado (6) Y el mes es octubre (10). Si no se cumplen ambas, queda en blanco.

Presiona Enter: revisa los resultados. Solo aparecerá «Cumplió» donde ambas condiciones coincidan. 🎯


Paso 8: Combinar OR y AND para reglas complejas 🧩

¡Subamos el nivel! Vamos a combinar OR y AND para un condicional más avanzado.

  • Crea una Nueva Columna llamada Cond 07.
  • Escribe:

Cond 07 =

IF  ((Tabla1[DiaSemana]=6 || Tabla1[DiaSemana]=7) && Tabla1[MES]=12,

"OKKKKK",

""

    )

Explicación:

Verifica si el día es sábado (6) O domingo (7) Y el mes es diciembre (12).

Si ambas partes se cumplen (un día de fin de semana Y diciembre), muestra «OK». Si no, queda en blanco.

  • Presiona Enter y revisa: solo los sábados y domingos de diciembre mostrarán «OK». ¡Condicional de alto impacto! 🌟


¡Y listo! 🎬

Has aprendido a usar funciones lógicas y condicionales en DAX como un experto. 🏆 Practica con los ejercicios, combina operadores y crea cálculos que sorprendan. Si tienes dudas, déjalas en los comentarios y te responderemos. ¡Nos vemos en el próximo capítulo del curso! 🚀


Notas Adicionales 📝

  • Enlaces: Todos los recursos (tablas y curso completo) están en la descripción del video. ¡Es gratis, así que aprovéchalo! 😊
  • Formato limpio: Usa Shift + Enter en el editor DAX para organizar tu código en líneas separadas. Esto hace que sea más fácil de leer, especialmente con fórmulas largas.
  • Errores comunes: Asegúrate de cerrar todos los paréntesis y usar comas correctamente. Si ves un error, revisa la sintaxis con calma. 🔍

Módulo 9: Funciones DAX II

Descargar Tabla Calendario
Tabla Fechas .pbix
Tabla Productos, Ventas, Otra Tabla

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *