Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Último día del mes anterior más 8 días en función de la fecha seleccionada saltándose los fines de semana

Ayúdame a crear un DAX para mostrar el último día del mes anterior más 8 días en función de la fecha seleccionada omitiendo los fines de semana. Ejemplo:
mi fecha seleccionada es el 11 de julio, debería mostrar el 10 de julio.

9 REPLIES 9
Syndicate_Admin
Administrator
Administrator

Hola marbi,

Queríamos ver si la información que proporcionamos ayudó a solucionar su problema. Si necesita más ayuda, no dude en ponerse en contacto con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

Hola marbi,

Estamos haciendo un seguimiento para ver si lo que compartimos resolvió su problema. Si necesita más soporte técnico, póngase en contacto con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

@marbi

por favor, vea si esto es lo que quiere

Medir =
Var _start=EOMONTH(Máximo('date2'[Fecha]),-1)
Var _date=FILTRO('fecha','fecha'[Fecha]>_start)
Var _date2=AGREGAR COLUMNAS(_date,"conteo",SUMX(FILTRO(_date,'fecha'[Fecha]<=ANTERIOR('fecha'[fecha])),'fecha'[fin de semana]))
devolución MAXX(FILTRO(_date2,[recuento]=8),'date'[Fecha])
Por favor, vea el archivo adjunto a continuación
Syndicate_Admin
Administrator
Administrator

Hola marbi,

Nos gustaría hacer un seguimiento y ver si los detalles que compartimos han resuelto su problema.
Si necesita más ayuda, no dude en conectarse con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

Gracias, @Gabry, @danextian, por su respuesta.

Hola marbi,

Agradecemos su pregunta en el foro de la comunidad de Microsoft Fabric.

Según mi comprensión del problema, se adjunta una captura de pantalla y un archivo PBIX de muestra que puede ayudar a resolver el asunto:

vpnarojumsft_0-1752830123374.png

Esperamos que la información proporcionada ayude a resolver el problema.
Si tiene más consultas, no dude en ponerse en contacto con la comunidad de Microsoft Fabric.

Gracias.

Syndicate_Admin
Administrator
Administrator

@marbi

Suponiendo que tiene una columna en su tabla de fechas que devuelve TRUE si una fecha es un día de la semana, pruebe la primera medida a continuación, de lo contrario, la segunda

Last Day of Prev Month + WD8 =
VAR _selectedDate =
    MAX ( Dates[Date] )
VAR _prevMonthEnd =
    EOMONTH ( _selectedDate, -1 )
VAR _WD8 =
    TOPN (
        8,
        FILTER (
            ALL ( Dates ),
            Dates[Weekday] = TRUE ()
                && Dates[Date] > _prevMonthEnd
        )
    )
RETURN
    MAXX ( _WD8, [Date] )


Last Day of Prev Month + WD8 V2 = 
VAR _selectedDate =
    MAX ( Dates[Date] )
VAR _prevMonthEnd =
    EOMONTH ( _selectedDate, -1 )
VAR _WD8 =
    TOPN (
        8,
        FILTER (
            ALL ( Dates ),
                NOT WEEKDAY ( Dates[Date] ) IN { 1, 7 }
                && Dates[Date] > _prevMonthEnd
        )
    )
RETURN
    MAXX ( _WD8, [Date] )

danextian_0-1752751239843.png

SQLBI discutió esto en uno de sus vlogs: https://www.youtube.com/watch?v=2HkBbqxBzF0

Syndicate_Admin
Administrator
Administrator

Último día de la anterior mes = 30 de junio

Ok, modifiqué la respuesta, puedes verificar. Para crear las columnas isworkingday en la tabla de calendario

Isworkingday = 

IF(WEEKDAY('Calendar'[Date],2) = 6 || WEEKDAY('Calendar'[Date],2) = 7 , FALSE(), true())
Syndicate_Admin
Administrator
Administrator

¡Hola @marbi

¿A qué te refieres con "último día del mes"? Si la fecha seleccionada es el 15 de julio, ¿te refieres al 14 de julio? No está claro.
Si ese es el caso, ¿quieres añadir 8 días laborables? Entonces, ¿el resultado final sería el 23 de julio?

En cambio, si se refería al último día del mes anterior, debe configurar una tabla de calendario, con una columna que verifique si es un día hábil o no, luego puede usar dax de esta manera:

PreviousMonthLastDayPlus8WorkDays = 
VAR SelectedDate = SELECTEDVALUE('Calendar'[Date])
VAR LastDayPreviousMonth = EOMONTH(SelectedDate, -1)

var tdate= TOPN(9,FILTER(ALL('Calendar'),'Calendar'[Date]>= LastDayPreviousMonth && 'Calendar'[IsWorkingDay] = TRUE()), 'Calendar'[Date], asc)

RETURN 
   MAXX(tdate,'Calendar'[Date])

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

Check out the November 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors