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

Get certified in Microsoft Fabric—for free! For a limited time, the Microsoft Fabric Community team will be offering free DP-600 exam vouchers. Prepare now

Reply
Anonymous
Not applicable

Tercer día laborable del mes siguiente

Hola,
Una pregunta sencilla, ¿Cómo calculo en DAX el tercer día laborable del mes siguiente (usando today) excluyendo los fines de semana?

Entiendo que debería usar un NetworkDays pero no encuentro la solucion.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin Quizás:

Third Business Day =
  VAR __EOM = EOMONTH(TODAY(), 1)
  VAR __Start = DATE( YEAR( __EOM ), MONTH( __EOM ), 1 )
  VAR __End = __Start + 4
  VAR __Calendar = 
      ADDCOLUMNS(
        ADDCOLUMNS(
          CALENDAR( __Start, __End ),
          "__Day", WEEKDAY( [Date], 2 )
        ),
      "__IsWeekDay", IF([__Day]<6, 1, 0)
      )
  VAR __Calendar1 = 
    ADDCOLUMNS(
      __Calendar,
      "__Count", 
          VAR __Date = [Date]
          VAR __Result = IF( [__IsWeekDay] = 0, 0, COUNTROWS(FILTER(__Calendar, [Date] <= __Date && [__IsWeekDay] = 1)))
      RETURN
        __Result
    )
  VAR __Result = MAXX(FITLER(__Calendar1, [__Count] = 3), [Date])
RETURN
  __Result

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @Syndicate_Admin ,

Tal vez pueda probar la siguiente fórmula de medición:

NextMonthThirdBusinessDay = 
VAR CurrentDate =
    TODAY ()
VAR FirstDayNextMonth =
    EOMONTH ( CurrentDate, 0 ) + 1
VAR ThirdBusinessDay =
    SWITCH (
        WEEKDAY ( FirstDayNextMonth ),
        1, FirstDayNextMonth + 2,
        // If Sunday, add 2 days
        2, FirstDayNextMonth + 2,
        // If Monday, add 2 days
        3, FirstDayNextMonth + 1,
        // If Tuesday, add 1 day
        4, FirstDayNextMonth + 1,
        // If Wednesday, add 1 day
        5, FirstDayNextMonth + 1,
        // If Thursday, add 1 day
        6, FirstDayNextMonth + 3,
        // If Friday, add 3 days
        FirstDayNextMonth + 3 // If Saturday, add 3 days
    )
RETURN
    ThirdBusinessDay

vkongfanfmsft_0-1709618806037.png

Saludos
Adamk Kong

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin Quizás:

Third Business Day =
  VAR __EOM = EOMONTH(TODAY(), 1)
  VAR __Start = DATE( YEAR( __EOM ), MONTH( __EOM ), 1 )
  VAR __End = __Start + 4
  VAR __Calendar = 
      ADDCOLUMNS(
        ADDCOLUMNS(
          CALENDAR( __Start, __End ),
          "__Day", WEEKDAY( [Date], 2 )
        ),
      "__IsWeekDay", IF([__Day]<6, 1, 0)
      )
  VAR __Calendar1 = 
    ADDCOLUMNS(
      __Calendar,
      "__Count", 
          VAR __Date = [Date]
          VAR __Result = IF( [__IsWeekDay] = 0, 0, COUNTROWS(FILTER(__Calendar, [Date] <= __Date && [__IsWeekDay] = 1)))
      RETURN
        __Result
    )
  VAR __Result = MAXX(FITLER(__Calendar1, [__Count] = 3), [Date])
RETURN
  __Result

Helpful resources

Announcements
OCT PBI Update Carousel

Power BI Monthly Update - October 2024

Check out the October 2024 Power BI update to learn about new features.

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

October NL Carousel

Fabric Community Update - October 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors