Ir al contenido principal

Fin de semana DAX: Buscar fines de semana y límites semanales en Power BI

Mejora tus paneles de Power BI con fórmulas DAX para fines de semana y límites semanales.
Actualizado 13 nov 2025  · 12 min de lectura

Si has trabajado alguna vez con DAX, ya sabes que las fechas pueden complicarse rápidamente. Probablemente no tendrás ningún problema hasta que alguien diga: «Oye, nuestra semana de informes empieza el sábado» o «¿Podemos resaltar los fines de semana de forma diferente en el panel de control?». De repente, te encuentras inmerso en tipos de retorno de WEEKDAY(), lógica de desplazamiento y tratando de explicar por qué Power BI considera que el viernes es el final de la semana cuando tu empresa dice lo contrario.

La mayoría de nosotros nos hemos encontrado con este problema: necesitas marcar los fines de semana, calcular los días laborables o definir límites de semana personalizados que no coinciden con el calendario estándar. Quizás tu almacén funcione de domingo a jueves, o tu equipo financiero quiera contar los días laborables excluyendo los fines de semana.

De fábrica, DAX no lo gestiona a la perfección, pero te proporciona los elementos básicos para solucionarlo. En este artículo, veremos cómo marcar los fines de semana utilizando WEEKDAY(), definir los límites de la semana (por ejemplo, de sábado a viernes), calcular los días laborables con NETWORKDAYS() o lógica condicional y utilizar esos cálculos para generar métricas que realmente tengan sentido en Power BI.

Comprender los fines de semana en DAX

Comencemos por lo básico: averiguar qué días son fines de semana en tu conjunto de datos. DAX te ofrece la función WEEKDAY() para ello, y resulta sorprendentemente flexible una vez que se conoce cómo funciona el sistema de numeración. Por defecto, WEEKDAY() devuelve un número del 1 al 7 que representa el día de la semana para una fecha determinada. El segundo argumento controla cómo se asignan esos números. La versión que utilizan la mayoría de los programadores es WEEKDAY(date, 2), que devuelve 1 para el lunes y 7 para el domingo, coincidiendo con el estándar ISO que utilizan la mayoría de los calendarios empresariales.

Aquí tienes un ejemplo rápido:

Fecha

WEEKDAY(Fecha, 2)

Día

2025-10-13

1

Lunes

2025-10-14

2

Martes

2025-10-18

6

Sábado

2025-10-19

7

Domingo

Ahora vamos a darle utilidad. Puedes añadir una columna calculada en tu tabla Date para marcar los fines de semana:

IsWeekend =
VAR DayNum = WEEKDAY('Date'[Date], 2)
RETURN IF(DayNum > 5, TRUE(), FALSE())

Esto es lo que está pasando:

  • WEEKDAY('Date'[Date], 2) te da el número del día (1 = lunes, …, 7 = domingo).

  • DayNum > 5 identifica el sábado (6) y el domingo (7).

  • La columna devuelve TRUE para los fines de semana y FALSE para los días laborables.

Si tu semana no sigue el patrón estándar de lunes a viernes, por ejemplo, si tu empresa considera el viernes y el sábado como fin de semana, puedes ajustar la lógica fácilmente:

IsWeekend_Custom =
VAR DayNum = WEEKDAY('Date'[Date], 2)
RETURN IF(DayNum IN {5, 6}, TRUE(), FALSE())

Ese cambio de una línea hace que tu modelo funcione para calendarios operativos personalizados. Después de crear esta columna, colócala en una tabla visual sencilla en Power BI con el campo « Date » (Días de la semana) y comprueba si los días del fin de semana se alinean correctamente.

Cómo crear límites semanales personalizados

La mayoría de los modelos de Power BI asumen un calendario de lunes a domingo, pero los informes del mundo real rara vez siguen ese patrón tan estrictamente. Los paneles de control minoristas, por ejemplo, suelen cerrar los viernes; algunas organizaciones, en cambio, realizan un programa de sábado a viernes. En DAX, puedes crear límites semanales personalizados que se ajusten a tu calendario empresarial. Veamos cómo hacerlo de forma clara, paso a paso.

Establecer una semana que finaliza el viernes

Si tu semana laboral termina el viernes, puedes asignar a cada fecha la fecha correspondiente del fin de semana. La lógica es sencilla: toma cada fecha, busca su número de día de la semana y desplázala hacia adelante hasta que llegue al viernes.

Esta es la fórmula de la columna calculada:

WeekEnd_Friday =
VAR WeekdayIndex = WEEKDAY('Date'[Date], 2)        // Monday = 1, Sunday = 7
VAR DaysToFriday = 5 - WeekdayIndex                // 5 represents Friday
RETURN
'Date'[Date] + IF(DaysToFriday < 0, DaysToFriday + 7, DaysToFriday)

Esto es lo que hace:

  • WEEKDAY('Date'[Date], 2) te da el índice de días laborables (Monday = 1).

  • Calcula cuánto tiempo falta para esa fecha desde el viernes.

  • Si ya ha pasado el viernes (por ejemplo, sábado o domingo), se pasa al viernes siguiente añadiendo 7 días.

Este enfoque agrupa todas las fechas entre el sábado y el viernes en la misma semana, que finaliza el viernes.

Para comprobarlo:

  • Añade esta columna a tu tabla Fecha.

  • Crea una tabla visual en Power BI con Date y WeekEnd_Friday.

  • Verás que cada secuencia sábado-viernes se corresponde con la misma fecha del fin de semana.

Establecer una semana que comience el sábado

Si tu semana de informe comienza el sábado, puedes combinar la fórmula anterior con una columna de inicio de semana. Puedes hacerlo utilizando la misma lógica, pero a la inversa, buscando el sábado más reciente en relación con cada fecha.

Aquí está la columna DAX correspondiente:

WeekStart_Saturday =
VAR WeekdayIndex = WEEKDAY('Date'[Date], 2)       // Monday = 1, Sunday = 7
VAR DaysSinceSaturday = WeekdayIndex - 6          // 6 represents Saturday
RETURN
'Date'[Date] - IF(DaysSinceSaturday < 0, DaysSinceSaturday + 7, DaysSinceSaturday)

Esto funciona casi de la misma manera que la expresión anterior, pero se desplaza hacia atrás hasta el sábado anterior.

También es posible que veas ejemplos de código más antiguos que utilizan la función EARLIER() para capturar el contexto de la fila actual dentro de una columna calculada. Por ejemplo:

WeekStart_Saturday =
VAR CurrentDate = EARLIER('Date'[Date])
VAR WeekdayIndex = WEEKDAY(CurrentDate, 2)
VAR DaysSinceSaturday = WeekdayIndex - 6
RETURN
CurrentDate - IF(DaysSinceSaturday < 0, DaysSinceSaturday + 7, DaysSinceSaturday)

El DAX moderno no requiere EARLIER() en este escenario, ya que las columnas calculadas ya se evalúan fila por fila, pero sigue siendo útil comprenderlo para los modelos heredados o cuando se anidan contextos de fila en iteradores.

Una vez que hayas añadido ambas columnas, intenta gráficando WeekStart_Saturday y WeekEnd_Friday en una tabla visual con tu columna Date. Verás límites semanales claros que siguen el ritmo de tu negocio, no el calendario predeterminado.

A continuación, puedes utilizar estas fechas de inicio y fin de semana como claves de agrupación en elementos visuales o como anclajes en medidas, lo que resulta perfecto para calcular totales por semana laboral, comparar el rendimiento semana a semana o alinearse con calendarios fiscales no estándar.

Elegir entre columnas y medidas

Ahora que ya has configurado los límites semanales personalizados, conviene decidir cómo utilizarlos en tu modelo, como columnas calculadas o como medidas. Ambos tienen su lugar, y saber cuándo utilizar cada uno de ellos mantiene tu modelo de Power BI eficiente y predecible.

Piensa en las columnas calculadas como atributos estáticos que deseas dividir o filtrar. Por ejemplo, las columnas IsWeekend, WeekStart_Saturday o WeekEnd_Friday describen cada fecha. No dependen de las interacciones de los usuarios ni de filtros; simplemente definen lo que es cada día es. Esto los hace perfectos para agrupar elementos visuales, establecer relaciones o crear jerarquías.

Por el contrario, las medidas son cálculos dinámicos que responden a filtros, segmentaciones y contexto. Si estás resumiendo o comparando métricas, por ejemplo, contando los días laborables en un intervalo seleccionado o calculando las ventas medias por semana, necesitarás una medida.

Aquí tienes una rápida comparación para que la tengas encuenta:

Caso de uso

Tipo

Ejemplo

Identificar los fines de semana o los límites de la semana

Columna calculada

IsWeekend = IF(WEEKDAY('Date'[Date],2)>5,TRUE(),FALSE())

Divide las imágenes por rangos de semanas personalizados.

Columna calculada

WeekStart_Saturday, WeekEnd_Friday

Contar los días laborables en el filtro actual

Medida

WorkingDays = COUNTROWS(FILTER('Date', 'Date'[IsWeekend] = FALSE()))

Compara las ventas totales entre semanas personalizadas.

Medida

TotalSalesByWeek = SUM(Sales[Amount]) agrupados por WeekStart_Saturday

Enresumen:

  • Si necesitas el resultado almacenado con cada fila (y que se pueda utilizar en segmentadores o filtros), utiliza una columna.
  • Si necesitas un cálculo que se actualice con la interacción del usuario, utiliza una medida.

Cálculo de días laborables con NETWORKDAYS()

Una vez definidos los límites de los fines de semana y las semanas, el siguiente paso lógico es calcular los días laborables, es decir, el número de días laborables entre dos fechas, excluyendo opcionalmente los días festivos. Power BI y DAX facilitan esta tarea con la función « NETWORKDAYS() », introducida en las últimas versiones de DAX.

En su forma más simple, la sintaxis tiene este aspecto:

NETWORKDAYS(<start_date>, <end_date>[, <weekend>[, <holidays>]])

Así es como funciona cada parámetro:

  • y define tu rango.

  • es opcional y te permite especificar qué días se consideran fines de semana.

  • también es opcional: puedes introducir una columna o tabla con las fechas de vacaciones para excluirlas del recuento.

Comprender los códigos de fin de semana

El argumento utiliza códigos numéricos para definir qué días se consideran fines de semana. A continuación, se incluyen algunas opciones estándar que probablemente utilizarás:

Código

Días de fin de semana

Descripción

1

Sábado, domingo

Predeterminado (semana laboral occidental)

7

Viernes, sábado

Común en los calendarios de Oriente Medio.

11

Solo los domingos

Para cierres solo los domingos

12

Solo los lunes

Para los días no laborables solo los lunes

Por ejemplo, si tu semana laboral va de domingo a jueves, utilizarías el código 7 para los fines de semana de viernes a sábado.

A continuación, te explicamos cómo calcular los días laborables entre dos columnas de tu modelo:

WorkingDays_Default =
NETWORKDAYS('Sales'[StartDate], 'Sales'[EndDate])

Esa fórmula asume que el sábado y el domingo son fines de semana. Si tu empresa sigue un fin de semana de viernes a sábado, puedes ajustarlo de la siguiente manera:

WorkingDays_FriSat =
NETWORKDAYS('Sales'[StartDate], 'Sales'[EndDate], 7)

Excluyendo los días festivos

Puedes ir un paso más allá excluyendo los días festivos oficiales almacenados en una tabla específica Holiday. Supongamos que tienes una tabla con una columna Holiday[Date]. A continuación te explicamos cómo incluirlo:

WorkingDays_WithHolidays =
NETWORKDAYS(
    'Sales'[StartDate],
    'Sales'[EndDate],
    1,
    'Holiday'[Date]
)

Esta configuración garantiza que los fines de semana y los días festivos definidos por tu organización se omitan del recuento. Es una pequeña adición que hace que tus informes sean mucho más precisos, especialmente para la planificación de la plantilla, la supervisión de los acuerdos de nivel de servicio (SLA) o los paneles de control operativos.

Ejemplo de caso de uso

Imagina que tu empresa programa los plazos de los proyectos en Power BI. Cada registro tiene un StartDate y un EndDate. Al añadir la medida « WorkingDays_WithHolidays » (Recursos de red), puedes visualizar rápidamente:

  • ¿Cuántos días laborables llevó cada proyecto?
  • ¿Qué proyectos se llevaron a cabo durante los fines de semana o días festivos?
  • Duración media del trabajo por departamento o tipo de proyecto.

Para verlo en acción, coloca esta medida en una tabla visual junto con Project Name, StartDate y EndDate. Obtendrás al instante una imagen más significativa de los plazos basada en los días laborables reales, y no solo en las diferencias de fechas sin procesar.

Aplicaciones prácticas en paneles de control empresariales

Ahora que ya tienes configurados los días laborables, los indicadores de fin de semana y los límites de semana personalizados, veamos cómo encajan en los paneles de Power BI del mundo real. La capacidad de redefinir los fines de semana o las semanas fiscales no es solo un ingenioso truco técnico, sino que influye directamente en cómo se calculan, visualizan y comprenden las métricas en todos los departamentos.

Fechas límite para nóminas y hojas de asistencia

Muchas organizaciones procesan las nóminas en un ciclo fijo de sábado a viernes o de domingo a sábado. Al definir los límites semanales en DAX, puedes alinear los períodos salariales, los cálculos de horas extras y las entradas de las hojas de asistencia con la semana laboral exacta que utiliza tu sistema de recursos humanos. Por ejemplo, puedes calcular el total de horas trabajadas o turnos completados por semana personalizada, asegurándote de que los informes de nómina se ajusten perfectamente a los horarios internos en lugar del calendario predeterminado de lunes a domingo.

KPI operativos y supervisión del servicio

Los equipos de operaciones y logística suelen medir indicadores clave de rendimiento (KPI), como el tiempo de entrega o la resolución de incidencias, utilizando únicamente los días laborables. El uso de NETWORKDAYS() garantiza que esas métricas reflejen la capacidad real de la empresa, y no la de los fines de semana, cuando no hay actividad.

Al combinar los cálculos de tu jornada laboral con las columnas « WeekStart_Saturday » (Semana de trabajo) o « WeekEnd_Friday » (Semana de trabajo), podrás agrupar los datos por la semana operativa exacta que la dirección supervisa en las reuniones y los informes.

Rendimiento minorista y de ventas

Los minoristas rara vez siguen las semanas naturales. Muchos prefieren el sábado al viernes para abarcar todo el periodo de ventas del fin de semana en un único bloque de informes coherente. Al modelar tu tabla de fechas según ese calendario, las tendencias de ventas de los fines de semana permanecen intactas dentro de la misma semana, lo que hace que las comparaciones entre fines de semana sean significativas. Este pequeño ajuste puede evitar distorsiones en las imágenes «semana tras semana» y proporcionar medias móviles más precisas.

Semanas fiscales personalizadas y previsiones

Algunos equipos financieros trabajan con semanas fiscales que comienzan a mitad de semana o siguen un patrón contable 4-4-5. Tus límites semanales personalizados se pueden incorporar fácilmente a eso.Una vez que tu tabla de fechas incluya las columnas « WeekStart » (Reconocimiento de ingresos) y « WeekEnd » (Seguimiento de gastos), las medidas como el reconocimiento de ingresos, el seguimiento de gastos o las previsiones se pueden agregar de forma coherente, independientemente de lo poco convencional que sea tu calendario fiscal.

Promedios móviles basados en días laborables

Al calcular las medias móviles, especialmente para indicadores clave de rendimiento (KPI) como las ventas diarias o las tasas de producción, es mejor basar el cálculo en días laborables en lugar de días naturales.

Por ejemplo, si se excluyen los fines de semana utilizando la bandera IsWeekend, una media móvil de 7 días reflejaría fielmente una semana laboral de actividad, sin descensos inflados o engañosos en los días no laborables.

En resumen, las definiciones personalizadas de las semanas y la lógica de los días laborables acercan tus paneles de Power BI al funcionamiento realde tu empresa . Tanto si programas un seguimiento de los plazos de pago de nóminas, los plazos de entrega de envíos o los picos de ventas durante los fines de semana, estos patrones DAX hacen que tus conocimientos sean más claros, justos y mucho más prácticos.

Puntos clave a recordar

Antes de terminar, resumamos los puntos principales para que puedas aplicar estas técnicas DAX de manera eficaz en tus proyectos de Power BI.

  • Utiliza columnas calculadas para la clasificación por filas: Cuando necesites etiquetar cada fecha, por ejemplo, para marcar los fines de semana, asignar límites semanales o clasificar los días laborables, las columnas calculadas son la mejor opción. Proporcionan atributos estáticos que funcionan a la perfección en segmentadores, filtros y relaciones en todo el modelo.

  • Utiliza WEEKDAY() con cuidado y con el tipo de retorno adecuado: Recuerda que WEEKDAY(date, 2) comienzael lunes (1) y termina el domingo (7). Ajustar este parámetro te ayuda a alinear tus cálculos con los estándares regionales u organizativos de la semana laboral. Comprueba siempre dos veces el tipo de retorno. Es una de las fuentes más comunes de errores «off-by-one» en la lógica temporal de DAX.

  • NETWORKDAYS() es tu mejor opción para excluir fines de semana y días festivos: Esta función simplifica los cálculos de días laborables, ahorrándote filtros de fecha complejos o bucles manuales. Combínalo con el código de fin de semana de tu empresa y una tabla de días festivos para obtener recuentos precisos que reflejen los días laborables reales, no solo los intervalos del calendario.

Al dominar estos fundamentos, las estructuras semanales personalizadas, la lógica cuidadosa de los días laborables y los recuentos precisos de los días laborables, aportarás más precisión y flexibilidad a cada panel de Power BI que crees. La próxima vez que configures un modelo de fechas o alinees informes con calendarios empresariales, estos patrones DAX deberían ser tus herramientas principales. 

Errores comunes que debes evitar

Incluso los programadores experimentados de Power BI pueden encontrarse con sutiles dificultades al trabajar con la lógica de fechas y semanas en DAX. Aquí hay algunos aspectos a los que vale la pena prestar atención:

Mezcla de citas en comparaciones de textos

DAX distingue entre comillas simples (') y dobles ("), y utilizar las incorrectas puede romper tu lógica, especialmente al comparar valores de texto como nombres de días o banderas. Por ejemplo:

IsWeekend = IF(WEEKDAY('Date'[Date], 2) > 5, "Weekend", "Weekday")

Utiliza siempre comillas dobles para las cadenas de texto dentro de las funciones. 

Las comillas simples se reservan para referencias a tablas y columnas, como 'Date'[Date].

Olvidando el contexto de la fila 

Este es uno de los errores conceptuales más comunes. Las columnas calculadas evalúan cada fila de forma independiente, mientras que las medidas dependen del filtro y del contexto de evaluación. Si haces referencia a una columna sin agregación en una medida, no se comportará como se espera porque no hay contexto de fila. Por ejemplo, IF(WEEKDAY('Date'[Date], 2) > 5, TRUE(), FALSE()) funciona como una columna calculada, pero si necesitas que responda a los filtros de forma dinámica, tendrás que envolverla en un iterador como SUMX() o utilizarla dentro de una medida que cuente o filtre filas.

Ignorar las zonas horarias o la alineación del calendario 

Cuando usas datos importados con marcas de tiempo, las funciones de fecha DAX operan sobre la parte de la fecha de tu columna. Si tus datos cruzan zonas horarias o utilizan ajustes UTC, esos indicadores de fin de semana podrían cambiar de forma inesperada. Limpia y normaliza siempre los campos de fecha y hora en Power Query antes de aplicar la lógica DAX.

Codificación fija de la lógica de fin de semana 

Evita incorporar lógica fija como «sábado y domingo» directamente en varias fórmulas. En su lugar, define una variable reutilizable o una tabla desconectada que enumere los días de fin de semana de tu organización. Esto facilita el mantenimiento cuando cambian los calendarios empresariales.

Detectar estos pequeños problemas a tiempo puede ahorrarte horas de depuración más adelante. En caso de duda, utiliza la vista de datos de Power BI para inspeccionar los resultados de las columnas calculadas fila por fila. Es una de las formas más rápidas de verificar que la lógica DAX se comporta según lo previsto antes de incorporarla a elementos visuales o medidas.

Conclusión

Trabajar con fines de semana y límites de semana personalizados en DAX no es solo una cuestión de cálculos matemáticos con fechas, sino de hacer que tus modelos de Power BI reflejen cómo funciona realmentetu negocio . Ya sea que marques los sábados y domingos como días no laborables, alinees tu semana fiscal de sábado a viernes o calcules los días laborables excluyendo los festivos, el objetivo es el mismo: precisión y contexto en cada cálculo.

Has visto cómo funciones como WEEKDAY() y NETWORKDAYS() ayudan a definir una lógica de fechas flexible y cómo las columnas calculadas y las medidas desempeñan cada una su función: una para la estructura y la otra para el análisis dinámico. A lo largo del camino, hemos examinado casos de uso reales, desde cierres de nóminas hasta calendarios minoristas, y hemos aprendido a evitar errores comunes de DAX, como el uso incorrecto de comillas o la pérdida del contexto de las filas.

La próxima vez que crees un panel de Power BI que trate con fechas, piensa más allá del calendario predeterminado. Personaliza tu semana, destaca los fines de semana y trata los días laborables como las métricas de primera clase que merecen ser. Con estos patrones DAX en tu kit de herramientas, tus informes no solo mostrarán el tiempo, sino que mostrarán el tiempo tal y como lo experimenta tu organización.

Conviértete en Analista de Datos de Power BI

Domina la herramienta de inteligencia empresarial más popular del mundo.

Empieza a aprender gratis

Oluseye Jeremiah's photo
Author
Oluseye Jeremiah
LinkedIn

Redactor técnico especializado en IA, ML y ciencia de datos, que hace que las ideas complejas sean claras y accesibles.

Temas

Aprende con DataCamp

Curso

Introducción a DAX en Power BI

3 h
144.9K
Profundiza en Power BI y aprende los fundamentos de las expresiones de análisis de datos (DAX), como columnas, tablas y medidas calculados.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

blog

Los 9 mejores ejemplos de panel de Power BI

Descubre el potencial de Power BI viendo ejemplos de cuadros de mando y sus distintas funciones
Eugenia Anello's photo

Eugenia Anello

8 min

Tutorial

Creación y personalización de tablas dinámicas en Power BI

Aprende a crear tablas dinámicas personalizables en Power BI con formato condicional avanzado y algunos consejos de optimización.
Joleen Bothma's photo

Joleen Bothma

Tutorial

Tutorial de Power BI DAX para principiantes

Aprende qué es DAX y descubre la sintaxis y las funciones DAX fundamentales que necesitarás para llevar tus conocimientos de Power BI al siguiente nivel.
Joleen Bothma's photo

Joleen Bothma

Tutorial

Tutorial sobre cómo crear tablas de fechas en Power BI

Aprende a crear tablas de fechas en Power BI con este tutorial visual paso a paso.
Kafaru Simileoluwa's photo

Kafaru Simileoluwa

Tutorial

Tutorial de Power BI para principiantes

Aprende los fundamentos de Power BI y a crear un informe básico con este tutorial paso a paso.
DataCamp Team's photo

DataCamp Team

Tutorial

Tutorial de paneles de Power BI

Aprende a crear un panel en Power BI en este tutorial paso a paso, desde cargar tu conjunto de datos hasta compartir tu panel completado con tu equipo.
Kafaru Simileoluwa's photo

Kafaru Simileoluwa

Ver másVer más